File size: 1,303 Bytes
6e38ce1 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import asyncio
import argparse
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_agentchat.conditions import TextMentionTermination
from magentic_ui.agents import CoderAgent
from magentic_ui.teams import RoundRobinGroupChat
from autogen_agentchat.agents import UserProxyAgent
async def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument(
"--work_dir",
type=str,
default="debug",
help="Directory where coder will save files",
)
args = parser.parse_args()
model_client = OpenAIChatCompletionClient(model="gpt-4o")
termination = TextMentionTermination("EXITT")
user_proxy = UserProxyAgent(name="user_proxy")
coder = CoderAgent(
name="coder_agent",
model_client=model_client,
work_dir=args.work_dir,
bind_dir=args.work_dir,
)
team = RoundRobinGroupChat(
participants=[coder, user_proxy],
max_turns=30,
termination_condition=termination,
)
await team.lazy_init()
user_message = await asyncio.get_event_loop().run_in_executor(None, input, ">: ")
stream = team.run_stream(task=user_message)
await Console(stream)
if __name__ == "__main__":
asyncio.run(main())
|