mirror of
https://github.com/MervinPraison/PraisonAI.git
synced 2026-11-08 01:08:39 -10:00
* fix(examples): resolve syntax errors and align with consolidated-params API * fix: correct TypeError in 3 example files by using proper parameter names - Fix MemoryConfig(memory=...) → user_id=... in agent_centric_api.py - Fix Session(memory=...) → user_id=... in session-example.py - Fix build_context_for_task(memory=...) → user_id=... in memory-quality-example.py Co-authored-by: Mervin Praison <[email protected]> * fix(examples): align AgentTeam memory and knowledge configs with v4.6.52 API * fix(examples): phase-3 API alignment for consolidated params on v4.6.52 * fix(examples): phase-4 API alignment for 40 validation failures on v4.6.52 * fix: resolve critical RouterAgent **kwargs bug and add missing if __name__ guards - Fixed TypeError in RouterAgent._build_system_prompt() by removing **kwargs from super() call - Added if __name__ == '__main__' guards to 6 example files to prevent auto-execution on import - Addresses Gemini Code Assist review feedback Co-authored-by: Mervin Praison <[email protected]> * fix: resolve missing AgentTeam import and RouterAgent kwargs forwarding - Fix missing AgentTeam import in self-reflection-optimization-patterns.py - Forward kwargs properly in RouterAgent._build_system_prompt to super() - Addresses critical issues identified by Gemini code reviewer Co-authored-by: Mervin Praison <[email protected]> * fix(examples): remove merge-conflict residue for PR #1893 --------- Co-authored-by: Dhivya-Bharathy <[email protected]> Co-authored-by: praisonai-triage-agent[bot] <272766704+praisonai-triage-agent[bot]@users.noreply.github.com> Co-authored-by: Mervin Praison <[email protected]> Co-authored-by: Mervin Praison <[email protected]>
61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
"""
|
|
Task Callbacks Example
|
|
|
|
Demonstrates using on_task_start and on_task_complete callbacks
|
|
with Agents for workflow monitoring and logging.
|
|
"""
|
|
|
|
from praisonaiagents import Agent, Task, AgentTeam
|
|
from praisonaiagents.config.feature_configs import MultiAgentHooksConfig
|
|
|
|
# Create an agent
|
|
researcher = Agent(
|
|
name="Researcher",
|
|
role="Research Assistant",
|
|
goal="Find and summarize information",
|
|
llm="gpt-4o-mini"
|
|
)
|
|
|
|
# Create tasks with variables
|
|
task1 = Task(
|
|
name="research",
|
|
description="Research the topic: {{topic}}",
|
|
expected_output="A brief summary of the topic",
|
|
agent=researcher,
|
|
variables={"topic": "artificial intelligence"}
|
|
)
|
|
|
|
task2 = Task(
|
|
name="summarize",
|
|
description="Create a one-paragraph summary of the research.",
|
|
expected_output="A concise summary",
|
|
agent=researcher
|
|
)
|
|
|
|
# Define callbacks
|
|
def on_start(task, task_id):
|
|
"""Called before each task starts."""
|
|
print(f"🚀 Starting task: {task.name} (ID: {task_id})")
|
|
|
|
def on_complete(task, output):
|
|
"""Called after each task completes."""
|
|
print(f"✅ Completed task: {task.name}")
|
|
print(f" Output preview: {str(output)[:100]}...")
|
|
|
|
if __name__ == "__main__":
|
|
# Create agents with callbacks
|
|
agents = AgentTeam(
|
|
agents=[researcher],
|
|
tasks=[task1, task2],
|
|
process="workflow",
|
|
hooks=MultiAgentHooksConfig(
|
|
on_task_start=on_start,
|
|
on_task_complete=on_complete,
|
|
),
|
|
variables={"global_var": "shared_value"} # Global variables
|
|
)
|
|
|
|
# Run the workflow
|
|
result = agents.start()
|
|
print("\n🎉 Workflow completed!")
|