Skip to main content

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)

Source distribution for ChatAgent-py 0.0.1
File Size Uploaded
ChatAgent-py-0.0.1.tar.gz 24.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ChatAgent-py 0.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page