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

1import os 1dabc

2from typing import Any 1dabc

3 

4from autogen import ConversableAgent, LLMConfig 1dabc

5 

6from fastagency import UI, FastAgency 1dabc

7from fastagency.runtimes.ag2 import Workflow 1dabc

8from fastagency.ui.mesop import MesopUI 1dabc

9 

10llm_config = LLMConfig( 1abc

11 model="gpt-4o-mini", 

12 api_key=os.getenv("OPENAI_API_KEY"), 

13 temperature=0.8, 

14) 

15 

16 

17wf = Workflow() 1abc

18 

19 

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 ) 

27 

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 ) 

37 

38 response = student_agent.run( 

39 teacher_agent, 

40 message=initial_message, 

41 summary_method="reflection_with_llm", 

42 max_turns=5, 

43 ) 

44 

45 return ui.process(response) 

46 

47 

48app = FastAgency(provider=wf, ui=MesopUI()) 1abc

49 

50# start with the following command 

51# gunicorn main_mesop:app -b 0.0.0.0:8888 --reload