Skip to main content

Pure Python Based Agents for Large Language Models

Project description

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

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},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ChatAgent-python-0.0.1.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

ChatAgent_python-0.0.1-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

Details for the file ChatAgent-python-0.0.1.tar.gz.

File metadata

  • Download URL: ChatAgent-python-0.0.1.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ChatAgent-python-0.0.1.tar.gz
Algorithm Hash digest
SHA256 163ee24b9fb9c25bbe77de2e27f1d9e4ef9d0e20a0f535d4a973ee7dfe2655bd
MD5 a9d79818d3e15b7a89478554c45ae2d2
BLAKE2b-256 3ba31c1a077524564a431c1d6f64f2712017e21a9dabe3bc64534b717998ac3d

See more details on using hashes here.

File details

Details for the file ChatAgent_python-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ChatAgent_python-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 adb1b9adaa64b9aca5fb81a9bd42a582ced064347b31795676afec362a1880ab
MD5 265dc763e2bd4b0ba37c603f09bc6a4a
BLAKE2b-256 405883fa90592703d757746e53dba41e53b2e66f65f705096d9424ec1b818e66

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page