ChatAgent
A Python-based large language model agent framework. The online agents deployed through ChatAgent have provided over a million stable API calls for the internal OpenRL team.
Features
- Supports multimodal large language models
- Supports OpenAI API
- Supports API calls to Qwen on Alibaba Cloud, Zhipu AI's GLM, Microsoft Azure, etc.
- Supports parallel and sequential calls of different agents
- Supports adding an api key for access control
- Supports setting a maximum number of concurrent requests, i.e., the maximum number of requests a model can handle at the same time
- Supports customizing complex agent interaction strategies
Installation
pip install ChatAgent-py
Usage
We provide some examples in the examples directory, which you can run them directly to explore ChatAgent's abilities.
1. Example for Qwen/ZhiPu API to OpenAI API
With just over a dozen lines of code, you can convert the Qwen/ZhiPu API to the OpenAI API. For specific code and test cases, please refer to examples/qwen2openai and examples/glm2openai.
import os
from ChatAgent import serve
from ChatAgent.chat_models.base_chat_model import BaseChatModel
from ChatAgent.agents.dashscope_chat_agent import DashScopeChatAgent
from ChatAgent.protocol.openai_api_protocol import MultimodalityChatCompletionRequest
class QwenMax(BaseChatModel):
def init_agent(self):
self.agent = DashScopeChatAgent(model_name='qwen-max',api_key=os.getenv("QWEN_API_KEY"))
def create_chat_completion(self, request):
return self.agent.act(request)
@serve.create_chat_completion()
async def implement_completions(request: MultimodalityChatCompletionRequest):
return QwenMax().create_chat_completion(request)
serve.run(host="0.0.0.0", port=6367)
2. Ensemble with Multiple Agents
We provide an example in examples/multiagent_ensemble where multiple agents perform ensemble to answer user questions.
3. Agent Q&A Based on RAG Query Results
We provide an example in examples/rag of agent Q&A based on RAG query results.
Citation
If you use ChatAgent, please cite us:
@misc{ChatAgent2024,
title={ChatAgent},
author={Shiyu Huang},
publisher = {GitHub},
howpublished = {\url{https://github.com/OpenRL-Lab/ChatAgent}},
year={2024},
}
Release files for ChatAgent-py 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ChatAgent-py-0.0.1.tar.gz | 24.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ChatAgent_py-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 76.8 kB
Release files / ChatAgent-py-0.0.1.tar.gz
| Download URL | ChatAgent-py-0.0.1.tar.gz |
|---|---|
| Size | 24.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5bc3c94f59fed60b11273d77402ceced170155a7f25665ce585c5abfcba49e3f
|
|
BLAKE2b-256 checksum How to use checksums |
aaa21733e69bb29a55567024fdb253cec10bead4e2f2e218cc321bdb1ba001a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Release files / ChatAgent_py-0.0.1-py3-none-any.whl
| Download URL | ChatAgent_py-0.0.1-py3-none-any.whl |
|---|---|
| Size | 52.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3e9b30d8a2e76b2a130e6453fc8338a98e10e09fc2096e5a980d695883471d8
|
|
BLAKE2b-256 checksum How to use checksums |
f31a1146216044655efb9e79a708c23058f806fc205f8b2d4ff52a101eeb7b6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|