Spaces:
Configuration error
Configuration error
import asyncio | |
import logging | |
import os | |
from autogen_core import EVENT_LOGGER_NAME, AgentId, AgentProxy, SingleThreadedAgentRuntime | |
from autogen_magentic_one.agents.orchestrator import LedgerOrchestrator | |
from autogen_magentic_one.utils import LogHandler, create_completion_client_from_env | |
from agents.research_agent import ResearchAgent | |
from agents.underwriting_agent import UnderwritingAgent | |
from agents.sales_agent import SalesAgent | |
from runtime.orchestrator import InsuranceOrchestrator | |
async def main(logs_dir: str) -> None: | |
# Ustvarimo runtime | |
runtime = SingleThreadedAgentRuntime() | |
# Ustvarimo client za LLM | |
client = create_completion_client_from_env(model="gpt-4") | |
# Registriramo agente | |
await ResearchAgent.register(runtime, "ResearchAgent", | |
lambda: ResearchAgent(model_client=client)) | |
research = AgentProxy(AgentId("ResearchAgent", "default"), runtime) | |
await UnderwritingAgent.register(runtime, "UnderwritingAgent", | |
lambda: UnderwritingAgent(model_client=client)) | |
underwriting = AgentProxy(AgentId("UnderwritingAgent", "default"), runtime) | |
await SalesAgent.register(runtime, "SalesAgent", | |
lambda: SalesAgent(model_client=client)) | |
sales = AgentProxy(AgentId("SalesAgent", "default"), runtime) | |
agent_list = [research, underwriting, sales] | |
# Registriramo orchestrator | |
await InsuranceOrchestrator.register( | |
runtime, | |
"Orchestrator", | |
lambda: InsuranceOrchestrator( | |
agents=agent_list, | |
model_client=client, | |
max_rounds=30, | |
max_time=25 * 60, | |
return_final_answer=True, | |
) | |
) | |
runtime.start() | |
await runtime.stop_when_idle() | |
if __name__ == "__main__": | |
logs_dir = "logs" | |
if not os.path.exists(logs_dir): | |
os.makedirs(logs_dir) | |
logger = logging.getLogger(EVENT_LOGGER_NAME) | |
logger.setLevel(logging.INFO) | |
log_handler = LogHandler(filename=os.path.join(logs_dir, "insurance_log.jsonl")) | |
logger.handlers = [log_handler] | |
asyncio.run(main(logs_dir)) |