- # Building a Multi-Agent Application with AutoGen and Chainlit
-
- In this sample, we will demonstrate how to build simple chat interface that
- interacts with an [AgentChat](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/index.html)
- agent or a team, using [Chainlit](https://github.com/Chainlit/chainlit),
- and support streaming messages.
-
- ## Installation
-
- To run this sample, you will need to install the following packages:
-
- ```shell
- pip install -U chainlit autogen-agentchat autogen-ext[openai] pyyaml
- ```
-
- To use other model providers, you will need to install a different extra
- for the `autogen-ext` package.
- See the [Models documentation](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/models.html) for more information.
-
-
- ## Model Configuration
-
- Create a configuration file named `model_config.yaml` to configure the model
- you want to use. Use `model_config_template.yaml` as a template.
-
- ## Running the Agent Sample
-
- The first sample demonstrate how to interact with a single AssistantAgent
- from the chat interface.
-
- ```shell
- chainlit run app_agent.py -h
- ```
-
- You can use one of the starters. For example, ask "What the weather in Seattle?".
-
- The agent will respond by first using the tools provided and then reflecting
- on the result of the tool execution.
-
- ## Running the Team Sample
-
- The second sample demonstrate how to interact with a team of agents from the
- chat interface.
-
- ```shell
- chainlit run app_team.py -h
- ```
- You can use one of the starters. For example, ask "Write a poem about winter.".
-
- The team is a RoundRobinGroupChat, so each agent will respond in turn.
- There are two agents in the team: one is instructed to be generally helpful
- and the other one is instructed to be a critic and provide feedback.
- The two agents will respond in round-robin fashion until
- the 'APPROVE' is mentioned by the critic agent.
-
- ## Running the Team Sample with UserProxyAgent
-
- The third sample demonstrate how to interact with a team of agents including
- a [UserProxyAgent](https://microsoft.github.io/autogen/stable/reference/python/autogen_agentchat.agents.html#autogen_agentchat.agents.UserProxyAgent)
- for approval or rejection.
-
- ```shell
- chainlit run app_team_user_proxy.py -h
- ```
-
- You can use one of the starters. For example, ask "Write code to reverse a string.".
-
- By default, the `UserProxyAgent` will request an input action from the user
- to approve or reject the response from the team.
- When the user approves the response, the `UserProxyAgent` will send a message
- to the team containing the text "APPROVE", and the team will stop responding.
-
-
- ## Next Steps
-
- There are a few ways you can extend this example:
-
- - Try other [agents](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/agents.html).
- - Try other [team](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/teams.html) types beyond the `RoundRobinGroupChat`.
- - Explore custom agents that sent multimodal messages.
|