Coverage for examples/cli/main_mesop.py: 45%
11 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-19 12:16 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-19 12:16 +0000
1import os 1dabc
2from typing import Any 1dabc
4from autogen import ConversableAgent, LLMConfig 1dabc
6from fastagency import UI, FastAgency 1dabc
7from fastagency.runtimes.ag2 import Workflow 1dabc
8from fastagency.ui.mesop import MesopUI 1dabc
10llm_config = LLMConfig( 1abc
11 model="gpt-4o-mini",
12 api_key=os.getenv("OPENAI_API_KEY"),
13 temperature=0.8,
14)
17wf = Workflow() 1abc
20@wf.register(name="simple_learning", description="Student and teacher learning chat") 1abc
21def simple_workflow(ui: UI, params: dict[str, Any]) -> str: 1abc
22 initial_message = ui.text_input(
23 sender="Workflow",
24 recipient="User",
25 prompt="I can help you learn about mathematics. What subject you would like to explore?",
26 )
28 with llm_config:
29 student_agent = ConversableAgent(
30 name="Student_Agent",
31 system_message="You are a student willing to learn.",
32 )
33 teacher_agent = ConversableAgent(
34 name="Teacher_Agent",
35 system_message="You are a math teacher.",
36 )
38 response = student_agent.run(
39 teacher_agent,
40 message=initial_message,
41 summary_method="reflection_with_llm",
42 max_turns=5,
43 )
45 return ui.process(response)
48app = FastAgency(provider=wf, ui=MesopUI()) 1abc
50# start with the following command
51# gunicorn main_mesop:app -b 0.0.0.0:8888 --reload