-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
19 changed files
with
168 additions
and
216 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
Agent Chatroom is a multi-agent platform built on top of AutoGen.Net, shadcn and Orleans. It comes with a webui that allows you to chat with multiple agents simultaneously in a web browser. You can also run `ChatRoom.Client` as a restful server. Agent Chatroom is extensible, allowing you to create your own agents and orchestrators and integrate them into the chatroom. | ||
|
||
![switch-theme](../assets/agent-chatroom-switch-theme.gif) | ||
|
||
## Key Concept | ||
### Agent | ||
In Agent Chatroom, an agent is a conversational agent that can send and receive messages. An agent can be a human (e.g. You) or an LLM chatbot. You can add agents to the room by installing agent packages (e.g `ChatRoom.OpenAI`) or by developing your own agents using `ChatRoom.SDK`. | ||
|
||
## Channel | ||
A channel is simply a "group chat" for agents to communicate with. Each agent can send and receive messages as long as they are in the same channel. In Agent Chatroom, you chat with multiple agents by creating a channel and adding agents to it. | ||
|
||
## Channel orchestrator | ||
A channel orchestrator manages how agents interact with each other in a channel. For example, a `RoundRobinOrchestrator` will send messages to agents in a round-robin fashion. | ||
|
||
Agent Chatroom provides the following channel orchestrators: | ||
- `RoundRobinOrchestrator`: Sends messages to agents in a round-robin fashion. | ||
- `DynamicGroupChat`: The dynamic group chat orchestrator from AutoGen.Net dynamically orchestrate conversation among agents based on conversation history. | ||
- `Human-Bot`: An orchestrator that drives conversation between human and bot agents in an alternating fashion. | ||
|
||
You can also create your own orchestrators using `ChatRoom.SDK`. | ||
|
||
## Room | ||
A room is a collection of channels. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
This example shows how to set up `AutoGen Chatroom` with OpenAI agent. | ||
|
||
> [!NOTE] | ||
> You can find the complete configuration in [OpenAI-Chatroom](https://github.com/LittleLittleCloud/OpenAI-Chatroom) repository. | ||
![gif](https://github.com/LittleLittleCloud/OpenAI-Chatroom/blob/main/assets/agent-chatroom-openai.gif?raw=true) | ||
|
||
|
||
## Getting Started | ||
|
||
1. Clone the [OpenAI-Chatroom](https://github.com/LittleLittleCloud/OpenAI-Chatroom) repository and navigate to the repository folder. | ||
|
||
```bash | ||
git clone https://github.com/LittleLittleCloud/OpenAI-Chatroom | ||
cd OpenAI-Chatroom | ||
``` | ||
|
||
2. Install the `ChatRoom.Client` and `ChatRoom.OpenAI` tools by running `dotnet tool restore`. | ||
|
||
```bash | ||
dotnet tool restore | ||
``` | ||
|
||
3. Set up OpenAI API key in [client.json](https://github.com/LittleLittleCloud/OpenAI-Chatroom/blob/main/client.json) and [openai.json](https://github.com/LittleLittleCloud/OpenAI-Chatroom/blob/main/openai.json) | ||
|
||
4. Start the `ChatRoom.Client` with the following command: | ||
|
||
```bash | ||
dotnet chatroom -c client.json | ||
``` | ||
|
||
You will see the following output similar to the following, then you can navigate to the web UI in your browser and start chatting with the agents. | ||
```bash | ||
web ui is available at: http://localhost:51234;https://localhost:51235 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
This example shows how to set up `AutoGen Chatroom` with Powershell helper agents. | ||
|
||
> [!NOTE] | ||
> You can find the complete configuration in [Powershell-Chatroom](https://github.com/LittleLittleCloud/Powershell-ChatRoom) repository. | ||
![gif](https://github.com/LittleLittleCloud/Powershell-ChatRoom/blob/main/asset/switch-theme.gif?raw=true) | ||
|
||
|
||
|
||
## About Chatroom.Powershell package | ||
[Chatroom.Powershell](https://www.nuget.org/packages/ChatRoom.Powershell) is an agent package for `Agent Chatroom` that provides the following Powershell helper agents: | ||
- `ps-gpt`: A Powershell agent that write powershell scripts to resolve your tasks. | ||
- `ps-runner`: An agent that run powershell scripts from chat history. | ||
|
||
## Getting Started | ||
|
||
1. Clone the [Powershell-Chatroom](https://github.com/LittleLittleCloud/Powershell-ChatRoom) repository and navigate to the repository folder. | ||
|
||
```bash | ||
git clone https://github.com/LittleLittleCloud/Powershell-ChatRoom | ||
cd Powershell-ChatRoom | ||
``` | ||
|
||
2. Install the `ChatRoom.Client` and `ChatRoom.Powershell` tools by running `dotnet tool restore`. | ||
|
||
```bash | ||
dotnet tool restore | ||
``` | ||
|
||
3. Set up OpenAI API key in [client.json](https://github.com/LittleLittleCloud/Powershell-ChatRoom/blob/main/client.json) and [powershell.json](https://github.com/LittleLittleCloud/Powershell-ChatRoom/blob/main/powershell.json) | ||
|
||
4. Start the `ChatRoom.Client` with the following command: | ||
|
||
```bash | ||
dotnet chatroom -c client.json | ||
``` | ||
|
||
You will see the following output similar to the following, then you can navigate to the web UI in your browser and start chatting with the agents. | ||
```bash | ||
web ui is available at: http://localhost:51234;https://localhost:51235 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Coming soon |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
`Agent Chatroom` is published as dotnet tool on nuget.org. | ||
|
||
> [!NOTE] | ||
> To use `Agent Chatroom`, make sure you have [.NET 8.0](https://dotnet.microsoft.com/download/dotnet/8.0) installed. | ||
## Package overview | ||
- [ChatRoom.Client](https://www.nuget.org/packages/ChatRoom.Client): The client for `Agent Chatroom`. It contains the multi-agent webui, chatroom server and an optional console ui for chatroom client. | ||
- [ChatRoom.SDK](https://www.nuget.org/packages/ChatRoom.SDK): The SDK for developing agents and orchestrators for `Agent Chatroom`. | ||
|
||
### Agent packages | ||
- [ChatRoom.OpenAI](https://www.nuget.org/packages/ChatRoom.OpenAI): An agent package for `Agent Chatroom` that provides OpenAI agents. | ||
- [ChatRoom.Powershell](https://www.nuget.org/packages/ChatRoom.Powershell): An agent package for `Agent Chatroom` that provides Powershell helper agents. | ||
- [ChatRoom.BingSearch](https://www.nuget.org/packages/ChatRoom.BingSearch): An agent package for `Agent Chatroom` that provides Bing search agents. | ||
|
||
|
||
## Install client | ||
You can install the latest `Agent Chatroom` client from nuget.org by running the following command, this will install the `ChatRoom.Client` globally: | ||
```bash | ||
dotnet tool install --global ChatRoom.Client | ||
``` | ||
|
||
Optionally, you can install the latest `Agent Chatroom` client locally by removing the `--global` flag: | ||
```bash | ||
dotnet tool install ChatRoom.Client | ||
``` | ||
|
||
## Configure client | ||
After installation, you need to create a configuration file for the `Agent Chatroom` client. The configuration file is a JSON file that contains the configuration for the client, including the agent packages and server configuration. | ||
|
||
> [!Tip] | ||
> You can find the schema for configuration files under the [schema](https://github.com/LittleLittleCloud/Agent-ChatRoom/tree/main/schema) folder in the `Agent Chatroom` repository. | ||
Here is an example configuration file for the `Agent Chatroom` client, which starts webui on `http://localhost:51234` and `https://localhost:51235` and uses the `ChatRoom.OpenAI` agent package. | ||
|
||
[!code-json[](../../configuration/chatroom-client.json)] | ||
|
||
## Usage | ||
After installation, you can start the `Agent Chatroom` client by running the following command: | ||
```bash | ||
chatroom -c /path/to/your/client_configuration.json | ||
``` | ||
|
||
You will see the following output similar to the following, then you can navigate to the web UI in your browser and start chatting with the agents. | ||
```bash | ||
web ui is available at: http://localhost:51234;https://localhost:51235 | ||
``` |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
- name: Install client | ||
href: install_client.md | ||
|
||
- name: Configure client | ||
href: configure_client.md | ||
|
||
- name: Use client | ||
href: use_client.md | ||
|
||
- name: Install agents | ||
href: install_agents.md | ||
- name: Getting started | ||
items: | ||
- name: Overview | ||
href: agent_chatroom_overview.md | ||
- name: Installation | ||
href: installation.md | ||
- name: Configuration Examples | ||
items: | ||
- name: Chat with OpenAI | ||
href: chat_with_openai.md | ||
- name: Chat with Powershell helpers | ||
href: chat_with_powershell_helpers.md | ||
|
||
- name: Agents | ||
- name: Guide | ||
items: | ||
- name: OpenAI agent | ||
href: install_openai_agent.md | ||
- name: Bing Search agent | ||
href: bing_search_agent.md | ||
- name: Powershell agent | ||
href: powershell_agent.md | ||
- name: Develop an agent | ||
href: coming_soon.md | ||
- name: Develop an orchestrator | ||
href: coming_soon.md | ||
|
Oops, something went wrong.