Maxun / samples /sample_file_surfer.py
AUXteam's picture
Upload folder using huggingface_hub
6e38ce1 verified
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.teams import RoundRobinGroupChat
from magentic_ui.agents import FileSurfer
from autogen_agentchat.agents import UserProxyAgent
# Configure logging to print to console
async def main(work_dir: str) -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4o")
termination = TextMentionTermination("EXITT")
user_proxy = UserProxyAgent(name="user_proxy")
file_surfer = FileSurfer(
name="file_surfer",
model_client=model_client,
work_dir=work_dir,
bind_dir=work_dir,
)
team = RoundRobinGroupChat(
participants=[file_surfer, 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__":
parser = argparse.ArgumentParser(
description="Run FileSurfer with a specified work directory."
)
parser.add_argument(
"--work-dir",
type=str,
default="debug",
help="Directory to use for file surfer.",
)
args = parser.parse_args()
asyncio.run(main(args.work_dir))