fromagentpool.agentsimportAgentdefgreet(name:str)->str:"""Greet someone."""returnf"Hello, {name}!"asyncwithAgent(name="my_agent",model="openai:gpt-4o-mini",# Required: model string or Model instancesystem_prompt="You are a helpful assistant",tools=[greet],# Callables or import paths like "mymodule:my_tool")asagent:asyncforeventinagent.run_stream("Greet Alice"):...
fromagentpool.delegationimportAgentPoolfromagentpool.agents.eventsimport(PartDeltaEvent,ToolCallStartEvent,ToolCallCompleteEvent,StreamCompleteEvent,)asyncwithAgentPool("config.yml")aspool:agent=pool.get_agent("coder")# Stream events (run_stream returns AsyncIterator, not a context manager)asyncforeventinagent.run_stream("Read setup.py and list dependencies"):matchevent:casePartDeltaEvent(delta=text):# Stream text chunks as they arriveprint(text,end="",flush=True)caseToolCallStartEvent(tool_name=name):print(f"\n[Tool starting: {name}]")caseToolCallCompleteEvent(tool_name=name,tool_result=result):print(f"\n[Tool {name} completed: {result}]")caseStreamCompleteEvent(message=msg):# Final complete message with full contentprint(f"\n\nComplete response: {msg.content}")