Skip to content

Latest commit

 

History

History
78 lines (56 loc) · 2.95 KB

README_CN.md

File metadata and controls

78 lines (56 loc) · 2.95 KB

ChatAgent

PyPI PyPI - Python Version Hits-of-Code

Documentation Status

English

基于Python的大语言模型智能体框架。通过ChatAgent部署的在线智能体已为OpenRL团队内部提供了超过百万次稳定的API调用。

Features

  • 支持多模态大语言模型
  • 支持OpenAI API
  • 支持阿里云千问、智谱GLM、微软Azure等API调用
  • 支持不同智能体并行与串行调用
  • 支持添加api_key实现访问控制
  • 支持设置最大并发数,即模型同时处理请求最大数量
  • 支持自定义复杂的智能体交互策略

Installation

pip install ChatAgent-py

Usage

我们在examples目录下提供了一些示例,可以直接运行查看效果。

1. Qwen/ZhiPu API 转 OpenAI API 示例

只需要十多行代码,就可以将Qwen/ZhiPu API转换为OpenAI API。具体代码和测试用例请参考examples/qwen2openaiexamples/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

我们在examples/multiagent_ensemble中提供了一个多个智能体做ensemble回答用户问题的示例,可以直接运行查看效果。

3. 基于RAG查询结果进行智能体问答

我们在examples/rag中提供了一个基于RAG查询结果进行智能体问答的示例,可以直接运行查看效果。

使用ChatAgent的研究项目

我们在 ChatAgent Project 中列举了使用ChatAgent的研究项目。 如果你在研究项目中使用了ChatAgent,也欢迎加入该列表。

Citation

如果您使用了ChatAgent,请引用我们:

@misc{ChatAgent2024,
    title={ChatAgent},
    author={Shiyu Huang},
    publisher = {GitHub},
    howpublished = {\url{https://github.com/OpenRL-Lab/ChatAgent}},
    year={2024},
}