agentica


Nameagentica JSON
Version 1.1.2 PyPI version JSON
download
home_pagehttps://github.com/shibing624/agentica
SummaryLLM agents
upload_time2025-07-23 14:49:06
maintainerNone
docs_urlNone
authorXuMing
requires_python>=3.10.0
licenseApache License 2.0
keywords agentica agent tool action agent agentica
VCS
bugtrack_url
requirements httpx loguru beautifulsoup4 openai python-dotenv pydantic pydantic_settings requests sqlalchemy scikit-learn text2vec markdownify Pillow tqdm rich pyyaml mcp puremagic
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [**🇨🇳中文**](https://github.com/shibing624/agentica/blob/main/README.md) | [**🌐English**](https://github.com/shibing624/agentica/blob/main/README_EN.md) | [**🇯🇵日本語**](https://github.com/shibing624/agentica/blob/main/README_JP.md)

<div align="center">
  <a href="https://github.com/shibing624/agentica">
    <img src="https://raw.githubusercontent.com/shibing624/agentica/main/docs/logo.png" height="150" alt="Logo">
  </a>
</div>

-----------------

# Agentica: Build AI Agents
[![PyPI version](https://badge.fury.io/py/agentica.svg)](https://badge.fury.io/py/agentica)
[![Downloads](https://static.pepy.tech/badge/agentica)](https://pepy.tech/project/agentica)
[![License Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
[![python_version](https://img.shields.io/badge/Python-3.10%2B-green.svg)](requirements.txt)
[![MseeP.ai](https://img.shields.io/badge/mseep.ai-agentica-blue)](https://mseep.ai/app/shibing624-agentica)
[![GitHub issues](https://img.shields.io/github/issues/shibing624/agentica.svg)](https://github.com/shibing624/agentica/issues)
[![Wechat Group](https://img.shields.io/badge/wechat-group-green.svg?logo=wechat)](#社区与支持)

## 目录

- [简介](#简介)
- [特性](#特性)
- [系统架构](#系统架构)
- [安装](#安装)
- [快速开始](#快速开始)
- [功能示例](#功能示例)
- [应用场景](#应用场景)
- [与同类工具对比](#与同类工具对比)
- [常见问题](#常见问题)
- [社区与支持](#社区与支持)
- [引用](#引用)
- [许可证](#许可证)

## 简介

**Agentica** 是一个轻量级、模块化的 AI Agent 框架,专注于构建智能、具备反思能力、可协作的多模态 AI Agent。它提供了丰富的工具集成、多模型支持和灵活的工作流编排能力,让开发者能够轻松构建复杂的 AI 应用。

无论是构建个人助手、知识管理系统、自动化工作流,还是多 Agent 协作系统,Agentica 都能提供强大而灵活的支持。通过简洁的 API 和丰富的示例,即使是 AI 开发新手也能快速上手,构建出功能强大的智能应用。

**为什么选择 Agentica?**

- **简单易用**:简洁直观的 API 设计,降低学习门槛
- **功能全面**:从单 Agent 到多 Agent 协作,从简单对话到复杂工作流,一站式解决
- **中文优化**:为中文用户打造,文档和示例丰富
- **多模型支持**:支持国内外多种大模型,灵活切换
- **开箱即用**:丰富的内置工具和示例,快速实现各类应用场景

## 版本更新

- **[2025/06/19] v1.0.10 版本**:支持思考过程流式输出,适配所有推理模型,详见 [Release-v1.0.10](https://github.com/shibing624/agentica/releases/tag/1.0.10)
- **[2025/05/19] v1.0.6 版本**:新增了 MCP 的 StreamableHttp 支持,兼容 StreamableHttp/SSE/Stdio 三种 MCP Server,详见 [Release-v1.0.6](https://github.com/shibing624/agentica/releases/tag/1.0.6)
- **[2025/04/21] v1.0.0 版本**:支持了 MCP 的工具调用,兼容 SSE/Stdio 的 MCP Server,详见 [Release-v1.0.0](https://github.com/shibing624/agentica/releases/tag/1.0.0)
- **[2024/12/29] v0.2.3 版本**:支持了 ZhipuAI 的 api 调用,包括免费模型和工具使用,详见 [Release-v0.2.3](https://github.com/shibing624/agentica/releases/tag/0.2.3)
- **[2024/12/25] v0.2.0 版本**:支持了多模态模型,输入可以是文本、图片、音频、视频,并升级 Assistant 为 Agent,Workflow 支持拆解并实现复杂任务,详见 [Release-v0.2.0](https://github.com/shibing624/agentica/releases/tag/0.2.0)
- **[2024/07/02] v0.1.0 版本**:实现了基于 LLM 的 Assistant,可以快速用 function call 搭建大语言模型助手,详见 [Release-v0.1.0](https://github.com/shibing624/agentica/releases/tag/0.1.0)

[查看所有版本](https://github.com/shibing624/agentica/releases)

## 特性
`Agentica`是一个用于构建Agent的工具,具有以下功能:

- **Agent编排**:通过简单代码快速编排Agent,支持 Reflection(反思)、Plan and Solve(计划并执行)、RAG 等功能
- **工具调用**:支持自定义工具OpenAI的function call,支持MCP Server 的工具调用
- **LLM 集成**:支持OpenAI、Azure、Deepseek、Moonshot、Anthropic、ZhipuAI、Ollama、Together等多方大模型厂商的API
- **记忆功能**:支持短期记忆和长期记忆功能
- **Multi-Agent 协作**:支持多Agent和任务委托(Team)的团队协作
- **Workflow 工作流**:拆解复杂任务为多个子工具任务,基于工作流自动化串行逐步完成任务
- **自我进化 Agent**:具有反思和增强记忆能力的自我进化 Agent
- **Web UI**:兼容 ChatPilot,可以基于 Web 页面交互,支持主流的 open-webui、streamlit、gradio 等前端交互框架

## 系统架构

<div align="center">
    <img src="https://github.com/shibing624/agentica/blob/main/docs/agentica_architecture.png" alt="Agentica Architecture" width="800"/>
</div>

Agentica 采用模块化设计,主要包括以下核心组件:

1. **Agent Core**:核心控制模块,负责 Agent 的创建和管理
   - `agent.py`:Agent 的核心实现
   - `agent_session.py`:Agent 会话管理
   - `memory.py`:记忆管理实现

2. **Model Integration**:模型接入层,支持多种 LLM 模型接口
   - 支持 OpenAI、Azure、Moonshot、ZhipuAI 等多种模型
   - 统一的模型调用接口,便于切换和比较

3. **Tools System**:工具调用系统,提供丰富的工具调用能力
   - Web 搜索、OCR、图像生成、Shell 命令等内置工具
   - 自定义工具支持,轻松扩展功能

4. **Memory Management**:记忆管理,实现短期和长期记忆功能
   - 短期记忆:保存对话历史
   - 长期记忆:持久化存储重要信息

5. **Knowledge & RAG**:知识库与检索增强生成
   - 文档解析和向量化
   - 混合检索策略
   - 结果重排序

6. **Multi-Agent Collaboration**:多 Agent 协作,实现团队协作和任务委托
   - Team 模式:多角色协作
   - 任务委托:分配和监督子任务

7. **Workflow Orchestration**:工作流编排,支持复杂任务的拆解和执行
   - 任务分解:将复杂任务拆分为子任务
   - 自动化执行:按顺序或并行执行子任务
   - 结果汇总:整合子任务结果

8. **Storage**:存储系统,支持 SQL 和向量数据库
   - SQL:结构化数据存储
   - 向量数据库:高效相似度搜索

9. **MCP**:Model Context Protocol 支持
   - 支持 StreamableHttp/SSE/Stdio 三种 MCP Server
   - 标准化模型交互协议
   

## 安装

### 使用 pip 安装

```bash
pip install -U agentica
```

### 从源码安装
```bash
git clone https://github.com/shibing624/agentica.git
cd agentica
pip install .
```

## 快速开始

### 环境准备
1. 复制[.env.example](https://github.com/shibing624/agentica/blob/main/.env.example)文件为`~/.agentica/.env`,并填写LLM api key(选填OPENAI_API_KEY、ZHIPUAI_API_KEY、MOONSHOT_API_KEY 等任一个)。或者使用`export`命令设置环境变量:
    
    ```shell
    export MOONSHOT_API_KEY=your_api_key
    export SERPER_API_KEY=your_serper_api_key
    ```

2. 使用 agentica 构建 Agent 并执行:

### 基础示例:天气查询

```python
from agentica import Agent, Moonshot, WeatherTool

m = Agent(model=Moonshot(), tools=[WeatherTool()], add_datetime_to_instructions=True)
m.print_response("明天北京天气咋样")
```

output:
```markdown
明天北京的天气预报如下:

- 早晨:晴朗,气温约18°C,风速较小,约为3 km/h。
- 中午:晴朗,气温升至23°C,风速6-7 km/h。
- 傍晚:晴朗,气温略降至21°C,风速较大,为35-44 km/h。
- 夜晚:晴朗转晴,气温下降至15°C,风速32-39 km/h。

全天无降水,能见度良好。请注意傍晚时分的风速较大,外出时需注意安全。
```

### 高级示例:自定义工具

创建和使用自定义工具:

```python
from agentica import Agent, OpenAIChat, Tool


class CalculatorTool(Tool):
   def __init__(self):
      super().__init__(name="calculator")
      self.register(self.calc)

   def calc(self, expression: str):
      try:
         result = eval(expression)
         return str(result)
      except Exception as e:
         return str(e)


agent = Agent(
   model=OpenAIChat(id="gpt-4o"),
   tools=[CalculatorTool()],
)

agent.print_response("计算 (123 + 456) * 789 的结果")
```

## 功能示例

Agentica 提供了丰富的功能示例,帮助您快速上手:

| 示例                                                                                                                                                    | 描述                                                                                                                                |
|-------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
| [examples/01_llm_demo.py](https://github.com/shibing624/agentica/blob/main/examples/01_llm_demo.py)                                                   | LLM问答Demo                                                                                                                         |
| [examples/02_user_prompt_demo.py](https://github.com/shibing624/agentica/blob/main/examples/02_user_prompt_demo.py)                                   | 自定义用户prompt的Demo                                                                                                                  |
| [examples/03_user_messages_demo.py](https://github.com/shibing624/agentica/blob/main/examples/03_user_messages_demo.py)                               | 自定义输入用户消息的Demo                                                                                                                    |
| [examples/04_memory_demo.py](https://github.com/shibing624/agentica/blob/main/examples/04_memory_demo.py)                                             | Agent的记忆Demo                                                                                                                      |
| [examples/05_response_model_demo.py](https://github.com/shibing624/agentica/blob/main/examples/05_response_model_demo.py)                             | 按指定格式(pydantic的BaseModel)回复的Demo                                                                                                  |
| [examples/06_calc_with_csv_file_demo.py](https://github.com/shibing624/agentica/blob/main/examples/06_calc_with_csv_file_demo.py)                     | LLM加载CSV文件,并执行计算来回答的Demo                                                                                                          |
| [examples/07_create_image_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/07_create_image_tool_demo.py)                       | 实现了创建图像工具的Demo                                                                                                                    |
| [examples/08_ocr_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/08_ocr_tool_demo.py)                                         | 实现了OCR工具的Demo                                                                                                                     |
| [examples/09_remove_image_background_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/09_remove_image_background_tool_demo.py) | 实现了自动去除图片背景功能,包括自动通过pip安装库,调用库实现去除图片背景                                                                                            |
| [examples/10_vision_demo.py](https://github.com/shibing624/agentica/blob/main/examples/10_vision_demo.py)                                             | 视觉理解Demo                                                                                                                          |
| [examples/11_web_search_openai_demo.py](https://github.com/shibing624/agentica/blob/main/examples/11_web_search_openai_demo.py)                       | 基于OpenAI的function call做网页搜索Demo                                                                                                   |
| [examples/20_advanced_rag_demo.py](https://github.com/shibing624/agentica/blob/main/examples/20_advanced_rag_demo.py)                                 | 实现了高级版RAG,基于PDF文档回答问题,新增功能:pdf文件解析、query改写,字面+语义多路混合召回,召回排序(rerank)                                                               |
| [examples/31_team_news_article_demo.py](https://github.com/shibing624/agentica/blob/main/examples/31_team_news_article_demo.py)                       | Team实现:写新闻稿的team协作,multi-role实现,委托不用角色完成各自任务:研究员检索分析文章,撰写员根据排版写文章,汇总多角色成果输出结果                                                     |
| [examples/33_self_evolving_agent_demo.py](https://github.com/shibing624/agentica/blob/main/examples/33_self_evolving_agent_demo.py)                   | 实现了自我进化Agent的Demo                                                                                                                 |
| [examples/34_llm_os_demo.py](https://github.com/shibing624/agentica/blob/main/examples/34_llm_os_demo.py)                                             | 实现了LLM OS的初步设计,基于LLM设计操作系统,可以通过LLM调用RAG、代码执行器、Shell等工具,并协同代码解释器、研究助手、投资助手等来解决问题。                                                  |
| [examples/43_minimax_mcp_demo.py](https://github.com/shibing624/agentica/blob/main/examples/43_minimax_mcp_demo.py)                                   | Minimax语音生成调用的Demo                                                                                                                |

[查看更多示例](https://github.com/shibing624/ChatPilot/blob/main/examples/)


## 命令行模式(CLI)

支持终端命令行快速搭建 Agentica Agent,使用简单的命令行参数即可完成。

code: [cli.py](https://github.com/shibing624/agentica/blob/main/agentica/cli.py)

```
> agentica -h                                    
usage: cli.py [-h] [--query QUERY]
              [--model_provider {openai,azure,moonshot,zhipuai,deepseek,yi}]
              [--model_name MODEL_NAME] [--api_base API_BASE]
              [--api_key API_KEY] [--max_tokens MAX_TOKENS]
              [--temperature TEMPERATURE] [--verbose VERBOSE]
              [--tools [{search_serper,file_tool,shell_tool,yfinance_tool,web_search_pro,cogview,cogvideo,jina,wikipedia} ...]]

CLI for agentica

options:
  -h, --help            show this help message and exit
  --query QUERY         Question to ask the LLM
  --model_provider {openai,azure,moonshot,zhipuai,deepseek,yi}
                        LLM model provider
  --model_name MODEL_NAME
                        LLM model name to use, can be
                        gpt-4o/glm-4-flash/deepseek-chat/yi-lightning/...
  --api_base API_BASE   API base URL for the LLM
  --api_key API_KEY     API key for the LLM
  --max_tokens MAX_TOKENS
                        Maximum number of tokens for the LLM
  --temperature TEMPERATURE
                        Temperature for the LLM
  --verbose VERBOSE     enable verbose mode
  --tools [{search_serper,file_tool,shell_tool,yfinance_tool,web_search_pro,cogview,cogvideo,jina,wikipedia} ...]
                        Tools to enable
```

run:

```shell
pip install agentica -U
# 单次调用,填入`--query`参数
agentica --query "下一届奥运会在哪里举办" --model_provider zhipuai --model_name glm-4-flash --tools web_search_pro
# 多次调用,多轮对话,不填`--query`参数
agentica --model_provider zhipuai --model_name glm-4-flash --tools web_search_pro cogview --verbose 1
```

output:
```shell
2024-12-30 21:59:15,000 - agentica - INFO - Agentica CLI
>>> 帮我画个大象在月球上的图

> 我帮你画了一张大象在月球上的图,它看起来既滑稽又可爱。大象穿着宇航服,站在月球表面,背景是广阔的星空和地球。这张图色彩明亮,细节丰富,具有卡通风格。你可以点击下面的链接查看和下载这张图片:

![大象在月球上的图](https://aigc-files.bigmodel.cn/api/cogview/20241230215915cfa22f46425e4cb0_0.png)
```

## Web UI

[shibing624/ChatPilot](https://github.com/shibing624/ChatPilot) 兼容`agentica`,可以通过Web UI进行交互。

Web Demo: https://chat.mulanai.com

<div align="center">
    <img src="https://github.com/shibing624/ChatPilot/blob/main/docs/shot.png" width="800" />
</div>

### 部署 Web UI

```bash
git clone https://github.com/shibing624/ChatPilot.git
cd ChatPilot
pip install -r requirements.txt

cp .env.example .env

bash start.sh
```


## 应用场景

Agentica 适用于多种现实应用场景:

### 1. 智能助手与对话系统
- **个人助理**:构建具有记忆能力和工具使用能力的个性化助手
- **客服机器人**:创建能够查询知识库、处理复杂问题的客服系统
- **专业领域助手**:如法律助手、医疗咨询、教育辅导等专业领域的智能助手

### 2. 知识管理与检索增强
- **智能文档分析**:对 PDF、文本等文档进行深度理解和问答
- **企业知识库**:构建企业内部知识管理系统,实现智能检索和问答
- **研究辅助工具**:自动检索、汇总和分析研究资料,生成研究报告

### 3. 自动化工作流
- **内容创作**:自动化撰写文章、教程、小说等创意内容
- **数据分析报告**:自动收集数据、分析并生成可视化报告
- **投资研究**:收集股票信息、分析市场趋势、生成投资建议

### 4. 多 Agent 协作系统
- **团队协作模拟**:模拟不同角色的团队协作,如辩论、讨论、决策
- **复杂任务分解**:将大型任务分解为子任务,由不同专业 Agent 协作完成
- **业务流程自动化**:模拟企业内不同部门协作,实现业务流程自动化

### 5. 多模态交互应用
- **图像理解与生成**:结合视觉理解和图像生成能力的应用
- **语音交互系统**:支持语音输入输出的对话系统
- **多媒体内容分析**:分析视频、音频、图像等多媒体内容

## 与同类工具对比

### Agentica vs LangChain

| 特性 | Agentica | LangChain |
|------|----------|-----------|
| 核心设计 | 以 Agent 为中心,强调 Agent 的自主性和能力 | 以 Chain 为中心,强调组件的链式调用 |
| 记忆管理 | 内置短期和长期记忆机制 | 需要额外配置记忆组件 |
| 多 Agent 协作 | 原生支持 Team 和任务委托 | 需要额外配置和开发 |
| 工作流编排 | 内置工作流系统,支持任务分解和执行 | 需要使用额外的编排工具 |
| 中文支持 | 优秀的中文支持和文档 | 主要面向英文用户 |
| 学习曲线 | 相对简单,API 设计直观 | 较为复杂,组件众多 |
| 社区生态 | 较小但增长迅速 | 庞大且活跃 |

### Agentica vs AutoGen

| 特性 | Agentica | AutoGen |
|------|----------|---------|
| 核心设计 | 全面的 Agent 框架,支持多种功能 | 专注于多 Agent 对话和协作 |
| 工具集成 | 丰富的内置工具和自定义工具支持 | 较为基础的工具支持 |
| RAG 能力 | 内置知识库和 RAG 功能 | 需要额外集成 |
| 模型支持 | 支持多种国内外大模型 | 主要支持 OpenAI 等国际模型 |
| 部署便捷性 | 支持 CLI 和 Web UI 多种部署方式 | 主要面向开发者的 API |
| MCP 协议 | 支持 Model Context Protocol | 不支持 |

### Agentica vs CrewAI

| 特性 | Agentica | CrewAI |
|------|----------|--------|
| 核心设计 | 全面的 Agent 框架 | 专注于 Agent 团队协作 |
| 单 Agent 能力 | 完整的单 Agent 功能集 | 相对简单的单 Agent 功能 |
| 工作流管理 | 灵活的工作流定义和执行 | 基于任务的工作流 |
| 记忆系统 | 复杂的记忆管理机制 | 基础的记忆功能 |
| 多模态支持 | 支持文本、图像、音频等多模态 | 主要支持文本 |
| 中文支持 | 良好的中文支持 | 有限的中文支持 |


## 常见问题

### 1. 如何选择合适的 LLM 模型?

Agentica 支持多种 LLM 模型,选择取决于您的具体需求:
- 对于复杂任务和高质量输出,推荐使用 OpenAI 的 GPT-4o 或 Moonshot 的 glm-4-flash
- 对于简单任务和快速响应,可以使用 OpenAI 的 GPT-3.5-turbo 或 Moonshot 的 moonshot-v1-8k
- 对于本地部署,可以使用 Ollama 提供的开源模型

### 2. 如何自定义工具?

Agentica 提供了灵活的工具自定义机制,您可以通过继承 `Toolkit` 类来创建自己的工具:

```python
from agentica.tools.base import Tool
import json


class MyCustomTool(Tool):
   def __init(self):
      name = "my_custom_tool"
      super().__init__(name=name)
      self.register(self.run)

   def run(self, **kwargs):
      # 实现工具逻辑
      return json.dumps({"result": "工具执行结果"})
```

### 3. 如何处理大型文档?

对于大型文档处理,建议使用 Agentica 的 RAG 功能:
1. 使用 `examples/20_advanced_rag_demo.py` 作为参考
2. 将文档分割成适当大小的块
3. 使用向量数据库存储文档嵌入
4. 结合检索和生成能力回答问题

### 4. 如何实现多 Agent 协作?

Agentica 提供了两种多 Agent 协作方式:
1. **Team 模式**:使用 `examples/31_team_news_article_demo.py` 作为参考,创建不同角色的 Agent 团队
2. **Workflow 模式**:使用 `examples/36_workflow_news_article_demo.py` 作为参考,将任务分解为多个步骤,由不同 Agent 执行

### 5. 如何部署到生产环境?

Agentica 应用可以通过多种方式部署到生产环境:
1. 作为 API 服务:使用 FastAPI 或 Flask 封装 Agentica 功能
2. 作为 Web 应用:使用 ChatPilot 提供 Web 界面
3. 作为命令行工具:使用内置的 CLI 功能

## 社区与支持

- Issue(建议)
  :[![GitHub issues](https://img.shields.io/github/issues/shibing624/agentica.svg)](https://github.com/shibing624/agentica/issues)
- 邮件我:xuming: xuming624@qq.com
- 微信我: 加我*微信号:xuming624, 备注:姓名-公司-NLP* 进NLP交流群。

<img src="https://github.com/shibing624/agentica/blob/main/docs/wechat.jpeg" width="200" />

## 引用

如果你在研究中使用了 Agentica,请按如下格式引用:

APA:

```
Xu, M. agentica: A Human-Centric Framework for Large Language Model Agent Workflows (Version 0.0.2) [Computer software]. https://github.com/shibing624/agentica
```

BibTeX:

```bibtex
@misc{agentica,
  author = {Ming Xu},
  title = {Agentica: Effortlessly Build Intelligent, Reflective, and Collaborative Multimodal AI Agents},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub Repository},
  howpublished = {\url{https://github.com/shibing624/agentica}},
}
```

## 许可证

授权协议为 [The Apache License 2.0](/LICENSE),可免费用做商业用途。请在产品说明中附加`agentica`的链接和授权协议。
## 贡献指南

我们欢迎各种形式的贡献,包括但不限于:

- 提交问题和功能需求
- 提交代码修复和新功能
- 改进文档和示例
- 分享使用案例和最佳实践

请查看 [贡献指南](CONTRIBUTING.md) 了解更多详情。

## 感谢

- [langchain-ai/langchain](https://github.com/langchain-ai/langchain)
- [simonmesmith/agentflow](https://github.com/simonmesmith/agentflow)
- [phidatahq/phidata](https://github.com/phidatahq/phidata)


Thanks for their great work!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/shibing624/agentica",
    "name": "agentica",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10.0",
    "maintainer_email": null,
    "keywords": "Agentica, Agent Tool, action, agent, agentica",
    "author": "XuMing",
    "author_email": "xuming624@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/ce/6e/395b7924c14cec931ebcdba980a7167eb3a82a29d48c4de57297fdcb6655/agentica-1.1.2.tar.gz",
    "platform": null,
    "description": "[**\ud83c\udde8\ud83c\uddf3\u4e2d\u6587**](https://github.com/shibing624/agentica/blob/main/README.md) | [**\ud83c\udf10English**](https://github.com/shibing624/agentica/blob/main/README_EN.md) | [**\ud83c\uddef\ud83c\uddf5\u65e5\u672c\u8a9e**](https://github.com/shibing624/agentica/blob/main/README_JP.md)\n\n<div align=\"center\">\n  <a href=\"https://github.com/shibing624/agentica\">\n    <img src=\"https://raw.githubusercontent.com/shibing624/agentica/main/docs/logo.png\" height=\"150\" alt=\"Logo\">\n  </a>\n</div>\n\n-----------------\n\n# Agentica: Build AI Agents\n[![PyPI version](https://badge.fury.io/py/agentica.svg)](https://badge.fury.io/py/agentica)\n[![Downloads](https://static.pepy.tech/badge/agentica)](https://pepy.tech/project/agentica)\n[![License Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![python_version](https://img.shields.io/badge/Python-3.10%2B-green.svg)](requirements.txt)\n[![MseeP.ai](https://img.shields.io/badge/mseep.ai-agentica-blue)](https://mseep.ai/app/shibing624-agentica)\n[![GitHub issues](https://img.shields.io/github/issues/shibing624/agentica.svg)](https://github.com/shibing624/agentica/issues)\n[![Wechat Group](https://img.shields.io/badge/wechat-group-green.svg?logo=wechat)](#\u793e\u533a\u4e0e\u652f\u6301)\n\n## \u76ee\u5f55\n\n- [\u7b80\u4ecb](#\u7b80\u4ecb)\n- [\u7279\u6027](#\u7279\u6027)\n- [\u7cfb\u7edf\u67b6\u6784](#\u7cfb\u7edf\u67b6\u6784)\n- [\u5b89\u88c5](#\u5b89\u88c5)\n- [\u5feb\u901f\u5f00\u59cb](#\u5feb\u901f\u5f00\u59cb)\n- [\u529f\u80fd\u793a\u4f8b](#\u529f\u80fd\u793a\u4f8b)\n- [\u5e94\u7528\u573a\u666f](#\u5e94\u7528\u573a\u666f)\n- [\u4e0e\u540c\u7c7b\u5de5\u5177\u5bf9\u6bd4](#\u4e0e\u540c\u7c7b\u5de5\u5177\u5bf9\u6bd4)\n- [\u5e38\u89c1\u95ee\u9898](#\u5e38\u89c1\u95ee\u9898)\n- [\u793e\u533a\u4e0e\u652f\u6301](#\u793e\u533a\u4e0e\u652f\u6301)\n- [\u5f15\u7528](#\u5f15\u7528)\n- [\u8bb8\u53ef\u8bc1](#\u8bb8\u53ef\u8bc1)\n\n## \u7b80\u4ecb\n\n**Agentica** \u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u3001\u6a21\u5757\u5316\u7684 AI Agent \u6846\u67b6\uff0c\u4e13\u6ce8\u4e8e\u6784\u5efa\u667a\u80fd\u3001\u5177\u5907\u53cd\u601d\u80fd\u529b\u3001\u53ef\u534f\u4f5c\u7684\u591a\u6a21\u6001 AI Agent\u3002\u5b83\u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u5de5\u5177\u96c6\u6210\u3001\u591a\u6a21\u578b\u652f\u6301\u548c\u7075\u6d3b\u7684\u5de5\u4f5c\u6d41\u7f16\u6392\u80fd\u529b\uff0c\u8ba9\u5f00\u53d1\u8005\u80fd\u591f\u8f7b\u677e\u6784\u5efa\u590d\u6742\u7684 AI \u5e94\u7528\u3002\n\n\u65e0\u8bba\u662f\u6784\u5efa\u4e2a\u4eba\u52a9\u624b\u3001\u77e5\u8bc6\u7ba1\u7406\u7cfb\u7edf\u3001\u81ea\u52a8\u5316\u5de5\u4f5c\u6d41\uff0c\u8fd8\u662f\u591a Agent \u534f\u4f5c\u7cfb\u7edf\uff0cAgentica \u90fd\u80fd\u63d0\u4f9b\u5f3a\u5927\u800c\u7075\u6d3b\u7684\u652f\u6301\u3002\u901a\u8fc7\u7b80\u6d01\u7684 API \u548c\u4e30\u5bcc\u7684\u793a\u4f8b\uff0c\u5373\u4f7f\u662f AI \u5f00\u53d1\u65b0\u624b\u4e5f\u80fd\u5feb\u901f\u4e0a\u624b\uff0c\u6784\u5efa\u51fa\u529f\u80fd\u5f3a\u5927\u7684\u667a\u80fd\u5e94\u7528\u3002\n\n**\u4e3a\u4ec0\u4e48\u9009\u62e9 Agentica?**\n\n- **\u7b80\u5355\u6613\u7528**\uff1a\u7b80\u6d01\u76f4\u89c2\u7684 API \u8bbe\u8ba1\uff0c\u964d\u4f4e\u5b66\u4e60\u95e8\u69db\n- **\u529f\u80fd\u5168\u9762**\uff1a\u4ece\u5355 Agent \u5230\u591a Agent \u534f\u4f5c\uff0c\u4ece\u7b80\u5355\u5bf9\u8bdd\u5230\u590d\u6742\u5de5\u4f5c\u6d41\uff0c\u4e00\u7ad9\u5f0f\u89e3\u51b3\n- **\u4e2d\u6587\u4f18\u5316**\uff1a\u4e3a\u4e2d\u6587\u7528\u6237\u6253\u9020\uff0c\u6587\u6863\u548c\u793a\u4f8b\u4e30\u5bcc\n- **\u591a\u6a21\u578b\u652f\u6301**\uff1a\u652f\u6301\u56fd\u5185\u5916\u591a\u79cd\u5927\u6a21\u578b\uff0c\u7075\u6d3b\u5207\u6362\n- **\u5f00\u7bb1\u5373\u7528**\uff1a\u4e30\u5bcc\u7684\u5185\u7f6e\u5de5\u5177\u548c\u793a\u4f8b\uff0c\u5feb\u901f\u5b9e\u73b0\u5404\u7c7b\u5e94\u7528\u573a\u666f\n\n## \u7248\u672c\u66f4\u65b0\n\n- **[2025/06/19] v1.0.10 \u7248\u672c**\uff1a\u652f\u6301\u601d\u8003\u8fc7\u7a0b\u6d41\u5f0f\u8f93\u51fa\uff0c\u9002\u914d\u6240\u6709\u63a8\u7406\u6a21\u578b\uff0c\u8be6\u89c1 [Release-v1.0.10](https://github.com/shibing624/agentica/releases/tag/1.0.10)\n- **[2025/05/19] v1.0.6 \u7248\u672c**\uff1a\u65b0\u589e\u4e86 MCP \u7684 StreamableHttp \u652f\u6301\uff0c\u517c\u5bb9 StreamableHttp/SSE/Stdio \u4e09\u79cd MCP Server\uff0c\u8be6\u89c1 [Release-v1.0.6](https://github.com/shibing624/agentica/releases/tag/1.0.6)\n- **[2025/04/21] v1.0.0 \u7248\u672c**\uff1a\u652f\u6301\u4e86 MCP \u7684\u5de5\u5177\u8c03\u7528\uff0c\u517c\u5bb9 SSE/Stdio \u7684 MCP Server\uff0c\u8be6\u89c1 [Release-v1.0.0](https://github.com/shibing624/agentica/releases/tag/1.0.0)\n- **[2024/12/29] v0.2.3 \u7248\u672c**\uff1a\u652f\u6301\u4e86 ZhipuAI \u7684 api \u8c03\u7528\uff0c\u5305\u62ec\u514d\u8d39\u6a21\u578b\u548c\u5de5\u5177\u4f7f\u7528\uff0c\u8be6\u89c1 [Release-v0.2.3](https://github.com/shibing624/agentica/releases/tag/0.2.3)\n- **[2024/12/25] v0.2.0 \u7248\u672c**\uff1a\u652f\u6301\u4e86\u591a\u6a21\u6001\u6a21\u578b\uff0c\u8f93\u5165\u53ef\u4ee5\u662f\u6587\u672c\u3001\u56fe\u7247\u3001\u97f3\u9891\u3001\u89c6\u9891\uff0c\u5e76\u5347\u7ea7 Assistant \u4e3a Agent\uff0cWorkflow \u652f\u6301\u62c6\u89e3\u5e76\u5b9e\u73b0\u590d\u6742\u4efb\u52a1\uff0c\u8be6\u89c1 [Release-v0.2.0](https://github.com/shibing624/agentica/releases/tag/0.2.0)\n- **[2024/07/02] v0.1.0 \u7248\u672c**\uff1a\u5b9e\u73b0\u4e86\u57fa\u4e8e LLM \u7684 Assistant\uff0c\u53ef\u4ee5\u5feb\u901f\u7528 function call \u642d\u5efa\u5927\u8bed\u8a00\u6a21\u578b\u52a9\u624b\uff0c\u8be6\u89c1 [Release-v0.1.0](https://github.com/shibing624/agentica/releases/tag/0.1.0)\n\n[\u67e5\u770b\u6240\u6709\u7248\u672c](https://github.com/shibing624/agentica/releases)\n\n## \u7279\u6027\n`Agentica`\u662f\u4e00\u4e2a\u7528\u4e8e\u6784\u5efaAgent\u7684\u5de5\u5177\uff0c\u5177\u6709\u4ee5\u4e0b\u529f\u80fd\uff1a\n\n- **Agent\u7f16\u6392**\uff1a\u901a\u8fc7\u7b80\u5355\u4ee3\u7801\u5feb\u901f\u7f16\u6392Agent\uff0c\u652f\u6301 Reflection(\u53cd\u601d)\u3001Plan and Solve(\u8ba1\u5212\u5e76\u6267\u884c)\u3001RAG \u7b49\u529f\u80fd\n- **\u5de5\u5177\u8c03\u7528**\uff1a\u652f\u6301\u81ea\u5b9a\u4e49\u5de5\u5177OpenAI\u7684function call\uff0c\u652f\u6301MCP Server \u7684\u5de5\u5177\u8c03\u7528\n- **LLM \u96c6\u6210**\uff1a\u652f\u6301OpenAI\u3001Azure\u3001Deepseek\u3001Moonshot\u3001Anthropic\u3001ZhipuAI\u3001Ollama\u3001Together\u7b49\u591a\u65b9\u5927\u6a21\u578b\u5382\u5546\u7684API\n- **\u8bb0\u5fc6\u529f\u80fd**\uff1a\u652f\u6301\u77ed\u671f\u8bb0\u5fc6\u548c\u957f\u671f\u8bb0\u5fc6\u529f\u80fd\n- **Multi-Agent \u534f\u4f5c**\uff1a\u652f\u6301\u591aAgent\u548c\u4efb\u52a1\u59d4\u6258(Team)\u7684\u56e2\u961f\u534f\u4f5c\n- **Workflow \u5de5\u4f5c\u6d41**\uff1a\u62c6\u89e3\u590d\u6742\u4efb\u52a1\u4e3a\u591a\u4e2a\u5b50\u5de5\u5177\u4efb\u52a1\uff0c\u57fa\u4e8e\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316\u4e32\u884c\u9010\u6b65\u5b8c\u6210\u4efb\u52a1\n- **\u81ea\u6211\u8fdb\u5316 Agent**\uff1a\u5177\u6709\u53cd\u601d\u548c\u589e\u5f3a\u8bb0\u5fc6\u80fd\u529b\u7684\u81ea\u6211\u8fdb\u5316 Agent\n- **Web UI**\uff1a\u517c\u5bb9 ChatPilot\uff0c\u53ef\u4ee5\u57fa\u4e8e Web \u9875\u9762\u4ea4\u4e92\uff0c\u652f\u6301\u4e3b\u6d41\u7684 open-webui\u3001streamlit\u3001gradio \u7b49\u524d\u7aef\u4ea4\u4e92\u6846\u67b6\n\n## \u7cfb\u7edf\u67b6\u6784\n\n<div align=\"center\">\n    <img src=\"https://github.com/shibing624/agentica/blob/main/docs/agentica_architecture.png\" alt=\"Agentica Architecture\" width=\"800\"/>\n</div>\n\nAgentica \u91c7\u7528\u6a21\u5757\u5316\u8bbe\u8ba1\uff0c\u4e3b\u8981\u5305\u62ec\u4ee5\u4e0b\u6838\u5fc3\u7ec4\u4ef6\uff1a\n\n1. **Agent Core**\uff1a\u6838\u5fc3\u63a7\u5236\u6a21\u5757\uff0c\u8d1f\u8d23 Agent \u7684\u521b\u5efa\u548c\u7ba1\u7406\n   - `agent.py`\uff1aAgent \u7684\u6838\u5fc3\u5b9e\u73b0\n   - `agent_session.py`\uff1aAgent \u4f1a\u8bdd\u7ba1\u7406\n   - `memory.py`\uff1a\u8bb0\u5fc6\u7ba1\u7406\u5b9e\u73b0\n\n2. **Model Integration**\uff1a\u6a21\u578b\u63a5\u5165\u5c42\uff0c\u652f\u6301\u591a\u79cd LLM \u6a21\u578b\u63a5\u53e3\n   - \u652f\u6301 OpenAI\u3001Azure\u3001Moonshot\u3001ZhipuAI \u7b49\u591a\u79cd\u6a21\u578b\n   - \u7edf\u4e00\u7684\u6a21\u578b\u8c03\u7528\u63a5\u53e3\uff0c\u4fbf\u4e8e\u5207\u6362\u548c\u6bd4\u8f83\n\n3. **Tools System**\uff1a\u5de5\u5177\u8c03\u7528\u7cfb\u7edf\uff0c\u63d0\u4f9b\u4e30\u5bcc\u7684\u5de5\u5177\u8c03\u7528\u80fd\u529b\n   - Web \u641c\u7d22\u3001OCR\u3001\u56fe\u50cf\u751f\u6210\u3001Shell \u547d\u4ee4\u7b49\u5185\u7f6e\u5de5\u5177\n   - \u81ea\u5b9a\u4e49\u5de5\u5177\u652f\u6301\uff0c\u8f7b\u677e\u6269\u5c55\u529f\u80fd\n\n4. **Memory Management**\uff1a\u8bb0\u5fc6\u7ba1\u7406\uff0c\u5b9e\u73b0\u77ed\u671f\u548c\u957f\u671f\u8bb0\u5fc6\u529f\u80fd\n   - \u77ed\u671f\u8bb0\u5fc6\uff1a\u4fdd\u5b58\u5bf9\u8bdd\u5386\u53f2\n   - \u957f\u671f\u8bb0\u5fc6\uff1a\u6301\u4e45\u5316\u5b58\u50a8\u91cd\u8981\u4fe1\u606f\n\n5. **Knowledge & RAG**\uff1a\u77e5\u8bc6\u5e93\u4e0e\u68c0\u7d22\u589e\u5f3a\u751f\u6210\n   - \u6587\u6863\u89e3\u6790\u548c\u5411\u91cf\u5316\n   - \u6df7\u5408\u68c0\u7d22\u7b56\u7565\n   - \u7ed3\u679c\u91cd\u6392\u5e8f\n\n6. **Multi-Agent Collaboration**\uff1a\u591a Agent \u534f\u4f5c\uff0c\u5b9e\u73b0\u56e2\u961f\u534f\u4f5c\u548c\u4efb\u52a1\u59d4\u6258\n   - Team \u6a21\u5f0f\uff1a\u591a\u89d2\u8272\u534f\u4f5c\n   - \u4efb\u52a1\u59d4\u6258\uff1a\u5206\u914d\u548c\u76d1\u7763\u5b50\u4efb\u52a1\n\n7. **Workflow Orchestration**\uff1a\u5de5\u4f5c\u6d41\u7f16\u6392\uff0c\u652f\u6301\u590d\u6742\u4efb\u52a1\u7684\u62c6\u89e3\u548c\u6267\u884c\n   - \u4efb\u52a1\u5206\u89e3\uff1a\u5c06\u590d\u6742\u4efb\u52a1\u62c6\u5206\u4e3a\u5b50\u4efb\u52a1\n   - \u81ea\u52a8\u5316\u6267\u884c\uff1a\u6309\u987a\u5e8f\u6216\u5e76\u884c\u6267\u884c\u5b50\u4efb\u52a1\n   - \u7ed3\u679c\u6c47\u603b\uff1a\u6574\u5408\u5b50\u4efb\u52a1\u7ed3\u679c\n\n8. **Storage**\uff1a\u5b58\u50a8\u7cfb\u7edf\uff0c\u652f\u6301 SQL \u548c\u5411\u91cf\u6570\u636e\u5e93\n   - SQL\uff1a\u7ed3\u6784\u5316\u6570\u636e\u5b58\u50a8\n   - \u5411\u91cf\u6570\u636e\u5e93\uff1a\u9ad8\u6548\u76f8\u4f3c\u5ea6\u641c\u7d22\n\n9. **MCP**\uff1aModel Context Protocol \u652f\u6301\n   - \u652f\u6301 StreamableHttp/SSE/Stdio \u4e09\u79cd MCP Server\n   - \u6807\u51c6\u5316\u6a21\u578b\u4ea4\u4e92\u534f\u8bae\n   \n\n## \u5b89\u88c5\n\n### \u4f7f\u7528 pip \u5b89\u88c5\n\n```bash\npip install -U agentica\n```\n\n### \u4ece\u6e90\u7801\u5b89\u88c5\n```bash\ngit clone https://github.com/shibing624/agentica.git\ncd agentica\npip install .\n```\n\n## \u5feb\u901f\u5f00\u59cb\n\n### \u73af\u5883\u51c6\u5907\n1. \u590d\u5236[.env.example](https://github.com/shibing624/agentica/blob/main/.env.example)\u6587\u4ef6\u4e3a`~/.agentica/.env`\uff0c\u5e76\u586b\u5199LLM api key(\u9009\u586bOPENAI_API_KEY\u3001ZHIPUAI_API_KEY\u3001MOONSHOT_API_KEY \u7b49\u4efb\u4e00\u4e2a)\u3002\u6216\u8005\u4f7f\u7528`export`\u547d\u4ee4\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a\n    \n    ```shell\n    export MOONSHOT_API_KEY=your_api_key\n    export SERPER_API_KEY=your_serper_api_key\n    ```\n\n2. \u4f7f\u7528 agentica \u6784\u5efa Agent \u5e76\u6267\u884c\uff1a\n\n### \u57fa\u7840\u793a\u4f8b\uff1a\u5929\u6c14\u67e5\u8be2\n\n```python\nfrom agentica import Agent, Moonshot, WeatherTool\n\nm = Agent(model=Moonshot(), tools=[WeatherTool()], add_datetime_to_instructions=True)\nm.print_response(\"\u660e\u5929\u5317\u4eac\u5929\u6c14\u548b\u6837\")\n```\n\noutput:\n```markdown\n\u660e\u5929\u5317\u4eac\u7684\u5929\u6c14\u9884\u62a5\u5982\u4e0b\uff1a\n\n- \u65e9\u6668\uff1a\u6674\u6717\uff0c\u6c14\u6e29\u7ea618\u00b0C\uff0c\u98ce\u901f\u8f83\u5c0f\uff0c\u7ea6\u4e3a3 km/h\u3002\n- \u4e2d\u5348\uff1a\u6674\u6717\uff0c\u6c14\u6e29\u5347\u81f323\u00b0C\uff0c\u98ce\u901f6-7 km/h\u3002\n- \u508d\u665a\uff1a\u6674\u6717\uff0c\u6c14\u6e29\u7565\u964d\u81f321\u00b0C\uff0c\u98ce\u901f\u8f83\u5927\uff0c\u4e3a35-44 km/h\u3002\n- \u591c\u665a\uff1a\u6674\u6717\u8f6c\u6674\uff0c\u6c14\u6e29\u4e0b\u964d\u81f315\u00b0C\uff0c\u98ce\u901f32-39 km/h\u3002\n\n\u5168\u5929\u65e0\u964d\u6c34\uff0c\u80fd\u89c1\u5ea6\u826f\u597d\u3002\u8bf7\u6ce8\u610f\u508d\u665a\u65f6\u5206\u7684\u98ce\u901f\u8f83\u5927\uff0c\u5916\u51fa\u65f6\u9700\u6ce8\u610f\u5b89\u5168\u3002\n```\n\n### \u9ad8\u7ea7\u793a\u4f8b\uff1a\u81ea\u5b9a\u4e49\u5de5\u5177\n\n\u521b\u5efa\u548c\u4f7f\u7528\u81ea\u5b9a\u4e49\u5de5\u5177\uff1a\n\n```python\nfrom agentica import Agent, OpenAIChat, Tool\n\n\nclass CalculatorTool(Tool):\n   def __init__(self):\n      super().__init__(name=\"calculator\")\n      self.register(self.calc)\n\n   def calc(self, expression: str):\n      try:\n         result = eval(expression)\n         return str(result)\n      except Exception as e:\n         return str(e)\n\n\nagent = Agent(\n   model=OpenAIChat(id=\"gpt-4o\"),\n   tools=[CalculatorTool()],\n)\n\nagent.print_response(\"\u8ba1\u7b97 (123 + 456) * 789 \u7684\u7ed3\u679c\")\n```\n\n## \u529f\u80fd\u793a\u4f8b\n\nAgentica \u63d0\u4f9b\u4e86\u4e30\u5bcc\u7684\u529f\u80fd\u793a\u4f8b\uff0c\u5e2e\u52a9\u60a8\u5feb\u901f\u4e0a\u624b\uff1a\n\n| \u793a\u4f8b                                                                                                                                                    | \u63cf\u8ff0                                                                                                                                |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|\n| [examples/01_llm_demo.py](https://github.com/shibing624/agentica/blob/main/examples/01_llm_demo.py)                                                   | LLM\u95ee\u7b54Demo                                                                                                                         |\n| [examples/02_user_prompt_demo.py](https://github.com/shibing624/agentica/blob/main/examples/02_user_prompt_demo.py)                                   | \u81ea\u5b9a\u4e49\u7528\u6237prompt\u7684Demo                                                                                                                  |\n| [examples/03_user_messages_demo.py](https://github.com/shibing624/agentica/blob/main/examples/03_user_messages_demo.py)                               | \u81ea\u5b9a\u4e49\u8f93\u5165\u7528\u6237\u6d88\u606f\u7684Demo                                                                                                                    |\n| [examples/04_memory_demo.py](https://github.com/shibing624/agentica/blob/main/examples/04_memory_demo.py)                                             | Agent\u7684\u8bb0\u5fc6Demo                                                                                                                      |\n| [examples/05_response_model_demo.py](https://github.com/shibing624/agentica/blob/main/examples/05_response_model_demo.py)                             | \u6309\u6307\u5b9a\u683c\u5f0f\uff08pydantic\u7684BaseModel\uff09\u56de\u590d\u7684Demo                                                                                                  |\n| [examples/06_calc_with_csv_file_demo.py](https://github.com/shibing624/agentica/blob/main/examples/06_calc_with_csv_file_demo.py)                     | LLM\u52a0\u8f7dCSV\u6587\u4ef6\uff0c\u5e76\u6267\u884c\u8ba1\u7b97\u6765\u56de\u7b54\u7684Demo                                                                                                          |\n| [examples/07_create_image_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/07_create_image_tool_demo.py)                       | \u5b9e\u73b0\u4e86\u521b\u5efa\u56fe\u50cf\u5de5\u5177\u7684Demo                                                                                                                    |\n| [examples/08_ocr_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/08_ocr_tool_demo.py)                                         | \u5b9e\u73b0\u4e86OCR\u5de5\u5177\u7684Demo                                                                                                                     |\n| [examples/09_remove_image_background_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/09_remove_image_background_tool_demo.py) | \u5b9e\u73b0\u4e86\u81ea\u52a8\u53bb\u9664\u56fe\u7247\u80cc\u666f\u529f\u80fd\uff0c\u5305\u62ec\u81ea\u52a8\u901a\u8fc7pip\u5b89\u88c5\u5e93\uff0c\u8c03\u7528\u5e93\u5b9e\u73b0\u53bb\u9664\u56fe\u7247\u80cc\u666f                                                                                            |\n| [examples/10_vision_demo.py](https://github.com/shibing624/agentica/blob/main/examples/10_vision_demo.py)                                             | \u89c6\u89c9\u7406\u89e3Demo                                                                                                                          |\n| [examples/11_web_search_openai_demo.py](https://github.com/shibing624/agentica/blob/main/examples/11_web_search_openai_demo.py)                       | \u57fa\u4e8eOpenAI\u7684function call\u505a\u7f51\u9875\u641c\u7d22Demo                                                                                                   |\n| [examples/20_advanced_rag_demo.py](https://github.com/shibing624/agentica/blob/main/examples/20_advanced_rag_demo.py)                                 | \u5b9e\u73b0\u4e86\u9ad8\u7ea7\u7248RAG\uff0c\u57fa\u4e8ePDF\u6587\u6863\u56de\u7b54\u95ee\u9898\uff0c\u65b0\u589e\u529f\u80fd\uff1apdf\u6587\u4ef6\u89e3\u6790\u3001query\u6539\u5199\uff0c\u5b57\u9762+\u8bed\u4e49\u591a\u8def\u6df7\u5408\u53ec\u56de\uff0c\u53ec\u56de\u6392\u5e8f\uff08rerank\uff09                                                               |\n| [examples/31_team_news_article_demo.py](https://github.com/shibing624/agentica/blob/main/examples/31_team_news_article_demo.py)                       | Team\u5b9e\u73b0\uff1a\u5199\u65b0\u95fb\u7a3f\u7684team\u534f\u4f5c\uff0cmulti-role\u5b9e\u73b0\uff0c\u59d4\u6258\u4e0d\u7528\u89d2\u8272\u5b8c\u6210\u5404\u81ea\u4efb\u52a1\uff1a\u7814\u7a76\u5458\u68c0\u7d22\u5206\u6790\u6587\u7ae0\uff0c\u64b0\u5199\u5458\u6839\u636e\u6392\u7248\u5199\u6587\u7ae0\uff0c\u6c47\u603b\u591a\u89d2\u8272\u6210\u679c\u8f93\u51fa\u7ed3\u679c                                                     |\n| [examples/33_self_evolving_agent_demo.py](https://github.com/shibing624/agentica/blob/main/examples/33_self_evolving_agent_demo.py)                   | \u5b9e\u73b0\u4e86\u81ea\u6211\u8fdb\u5316Agent\u7684Demo                                                                                                                 |\n| [examples/34_llm_os_demo.py](https://github.com/shibing624/agentica/blob/main/examples/34_llm_os_demo.py)                                             | \u5b9e\u73b0\u4e86LLM OS\u7684\u521d\u6b65\u8bbe\u8ba1\uff0c\u57fa\u4e8eLLM\u8bbe\u8ba1\u64cd\u4f5c\u7cfb\u7edf\uff0c\u53ef\u4ee5\u901a\u8fc7LLM\u8c03\u7528RAG\u3001\u4ee3\u7801\u6267\u884c\u5668\u3001Shell\u7b49\u5de5\u5177\uff0c\u5e76\u534f\u540c\u4ee3\u7801\u89e3\u91ca\u5668\u3001\u7814\u7a76\u52a9\u624b\u3001\u6295\u8d44\u52a9\u624b\u7b49\u6765\u89e3\u51b3\u95ee\u9898\u3002                                                  |\n| [examples/43_minimax_mcp_demo.py](https://github.com/shibing624/agentica/blob/main/examples/43_minimax_mcp_demo.py)                                   | Minimax\u8bed\u97f3\u751f\u6210\u8c03\u7528\u7684Demo                                                                                                                |\n\n[\u67e5\u770b\u66f4\u591a\u793a\u4f8b](https://github.com/shibing624/ChatPilot/blob/main/examples/)\n\n\n## \u547d\u4ee4\u884c\u6a21\u5f0f\uff08CLI\uff09\n\n\u652f\u6301\u7ec8\u7aef\u547d\u4ee4\u884c\u5feb\u901f\u642d\u5efa Agentica Agent\uff0c\u4f7f\u7528\u7b80\u5355\u7684\u547d\u4ee4\u884c\u53c2\u6570\u5373\u53ef\u5b8c\u6210\u3002\n\ncode: [cli.py](https://github.com/shibing624/agentica/blob/main/agentica/cli.py)\n\n```\n> agentica -h                                    \nusage: cli.py [-h] [--query QUERY]\n              [--model_provider {openai,azure,moonshot,zhipuai,deepseek,yi}]\n              [--model_name MODEL_NAME] [--api_base API_BASE]\n              [--api_key API_KEY] [--max_tokens MAX_TOKENS]\n              [--temperature TEMPERATURE] [--verbose VERBOSE]\n              [--tools [{search_serper,file_tool,shell_tool,yfinance_tool,web_search_pro,cogview,cogvideo,jina,wikipedia} ...]]\n\nCLI for agentica\n\noptions:\n  -h, --help            show this help message and exit\n  --query QUERY         Question to ask the LLM\n  --model_provider {openai,azure,moonshot,zhipuai,deepseek,yi}\n                        LLM model provider\n  --model_name MODEL_NAME\n                        LLM model name to use, can be\n                        gpt-4o/glm-4-flash/deepseek-chat/yi-lightning/...\n  --api_base API_BASE   API base URL for the LLM\n  --api_key API_KEY     API key for the LLM\n  --max_tokens MAX_TOKENS\n                        Maximum number of tokens for the LLM\n  --temperature TEMPERATURE\n                        Temperature for the LLM\n  --verbose VERBOSE     enable verbose mode\n  --tools [{search_serper,file_tool,shell_tool,yfinance_tool,web_search_pro,cogview,cogvideo,jina,wikipedia} ...]\n                        Tools to enable\n```\n\nrun\uff1a\n\n```shell\npip install agentica -U\n# \u5355\u6b21\u8c03\u7528\uff0c\u586b\u5165`--query`\u53c2\u6570\nagentica --query \"\u4e0b\u4e00\u5c4a\u5965\u8fd0\u4f1a\u5728\u54ea\u91cc\u4e3e\u529e\" --model_provider zhipuai --model_name glm-4-flash --tools web_search_pro\n# \u591a\u6b21\u8c03\u7528\uff0c\u591a\u8f6e\u5bf9\u8bdd\uff0c\u4e0d\u586b`--query`\u53c2\u6570\nagentica --model_provider zhipuai --model_name glm-4-flash --tools web_search_pro cogview --verbose 1\n```\n\noutput:\n```shell\n2024-12-30 21:59:15,000 - agentica - INFO - Agentica CLI\n>>> \u5e2e\u6211\u753b\u4e2a\u5927\u8c61\u5728\u6708\u7403\u4e0a\u7684\u56fe\n\n> \u6211\u5e2e\u4f60\u753b\u4e86\u4e00\u5f20\u5927\u8c61\u5728\u6708\u7403\u4e0a\u7684\u56fe\uff0c\u5b83\u770b\u8d77\u6765\u65e2\u6ed1\u7a3d\u53c8\u53ef\u7231\u3002\u5927\u8c61\u7a7f\u7740\u5b87\u822a\u670d\uff0c\u7ad9\u5728\u6708\u7403\u8868\u9762\uff0c\u80cc\u666f\u662f\u5e7f\u9614\u7684\u661f\u7a7a\u548c\u5730\u7403\u3002\u8fd9\u5f20\u56fe\u8272\u5f69\u660e\u4eae\uff0c\u7ec6\u8282\u4e30\u5bcc\uff0c\u5177\u6709\u5361\u901a\u98ce\u683c\u3002\u4f60\u53ef\u4ee5\u70b9\u51fb\u4e0b\u9762\u7684\u94fe\u63a5\u67e5\u770b\u548c\u4e0b\u8f7d\u8fd9\u5f20\u56fe\u7247\uff1a\n\n![\u5927\u8c61\u5728\u6708\u7403\u4e0a\u7684\u56fe](https://aigc-files.bigmodel.cn/api/cogview/20241230215915cfa22f46425e4cb0_0.png)\n```\n\n## Web UI\n\n[shibing624/ChatPilot](https://github.com/shibing624/ChatPilot) \u517c\u5bb9`agentica`\uff0c\u53ef\u4ee5\u901a\u8fc7Web UI\u8fdb\u884c\u4ea4\u4e92\u3002\n\nWeb Demo: https://chat.mulanai.com\n\n<div align=\"center\">\n    <img src=\"https://github.com/shibing624/ChatPilot/blob/main/docs/shot.png\" width=\"800\" />\n</div>\n\n### \u90e8\u7f72 Web UI\n\n```bash\ngit clone https://github.com/shibing624/ChatPilot.git\ncd ChatPilot\npip install -r requirements.txt\n\ncp .env.example .env\n\nbash start.sh\n```\n\n\n## \u5e94\u7528\u573a\u666f\n\nAgentica \u9002\u7528\u4e8e\u591a\u79cd\u73b0\u5b9e\u5e94\u7528\u573a\u666f\uff1a\n\n### 1. \u667a\u80fd\u52a9\u624b\u4e0e\u5bf9\u8bdd\u7cfb\u7edf\n- **\u4e2a\u4eba\u52a9\u7406**\uff1a\u6784\u5efa\u5177\u6709\u8bb0\u5fc6\u80fd\u529b\u548c\u5de5\u5177\u4f7f\u7528\u80fd\u529b\u7684\u4e2a\u6027\u5316\u52a9\u624b\n- **\u5ba2\u670d\u673a\u5668\u4eba**\uff1a\u521b\u5efa\u80fd\u591f\u67e5\u8be2\u77e5\u8bc6\u5e93\u3001\u5904\u7406\u590d\u6742\u95ee\u9898\u7684\u5ba2\u670d\u7cfb\u7edf\n- **\u4e13\u4e1a\u9886\u57df\u52a9\u624b**\uff1a\u5982\u6cd5\u5f8b\u52a9\u624b\u3001\u533b\u7597\u54a8\u8be2\u3001\u6559\u80b2\u8f85\u5bfc\u7b49\u4e13\u4e1a\u9886\u57df\u7684\u667a\u80fd\u52a9\u624b\n\n### 2. \u77e5\u8bc6\u7ba1\u7406\u4e0e\u68c0\u7d22\u589e\u5f3a\n- **\u667a\u80fd\u6587\u6863\u5206\u6790**\uff1a\u5bf9 PDF\u3001\u6587\u672c\u7b49\u6587\u6863\u8fdb\u884c\u6df1\u5ea6\u7406\u89e3\u548c\u95ee\u7b54\n- **\u4f01\u4e1a\u77e5\u8bc6\u5e93**\uff1a\u6784\u5efa\u4f01\u4e1a\u5185\u90e8\u77e5\u8bc6\u7ba1\u7406\u7cfb\u7edf\uff0c\u5b9e\u73b0\u667a\u80fd\u68c0\u7d22\u548c\u95ee\u7b54\n- **\u7814\u7a76\u8f85\u52a9\u5de5\u5177**\uff1a\u81ea\u52a8\u68c0\u7d22\u3001\u6c47\u603b\u548c\u5206\u6790\u7814\u7a76\u8d44\u6599\uff0c\u751f\u6210\u7814\u7a76\u62a5\u544a\n\n### 3. \u81ea\u52a8\u5316\u5de5\u4f5c\u6d41\n- **\u5185\u5bb9\u521b\u4f5c**\uff1a\u81ea\u52a8\u5316\u64b0\u5199\u6587\u7ae0\u3001\u6559\u7a0b\u3001\u5c0f\u8bf4\u7b49\u521b\u610f\u5185\u5bb9\n- **\u6570\u636e\u5206\u6790\u62a5\u544a**\uff1a\u81ea\u52a8\u6536\u96c6\u6570\u636e\u3001\u5206\u6790\u5e76\u751f\u6210\u53ef\u89c6\u5316\u62a5\u544a\n- **\u6295\u8d44\u7814\u7a76**\uff1a\u6536\u96c6\u80a1\u7968\u4fe1\u606f\u3001\u5206\u6790\u5e02\u573a\u8d8b\u52bf\u3001\u751f\u6210\u6295\u8d44\u5efa\u8bae\n\n### 4. \u591a Agent \u534f\u4f5c\u7cfb\u7edf\n- **\u56e2\u961f\u534f\u4f5c\u6a21\u62df**\uff1a\u6a21\u62df\u4e0d\u540c\u89d2\u8272\u7684\u56e2\u961f\u534f\u4f5c\uff0c\u5982\u8fa9\u8bba\u3001\u8ba8\u8bba\u3001\u51b3\u7b56\n- **\u590d\u6742\u4efb\u52a1\u5206\u89e3**\uff1a\u5c06\u5927\u578b\u4efb\u52a1\u5206\u89e3\u4e3a\u5b50\u4efb\u52a1\uff0c\u7531\u4e0d\u540c\u4e13\u4e1a Agent \u534f\u4f5c\u5b8c\u6210\n- **\u4e1a\u52a1\u6d41\u7a0b\u81ea\u52a8\u5316**\uff1a\u6a21\u62df\u4f01\u4e1a\u5185\u4e0d\u540c\u90e8\u95e8\u534f\u4f5c\uff0c\u5b9e\u73b0\u4e1a\u52a1\u6d41\u7a0b\u81ea\u52a8\u5316\n\n### 5. \u591a\u6a21\u6001\u4ea4\u4e92\u5e94\u7528\n- **\u56fe\u50cf\u7406\u89e3\u4e0e\u751f\u6210**\uff1a\u7ed3\u5408\u89c6\u89c9\u7406\u89e3\u548c\u56fe\u50cf\u751f\u6210\u80fd\u529b\u7684\u5e94\u7528\n- **\u8bed\u97f3\u4ea4\u4e92\u7cfb\u7edf**\uff1a\u652f\u6301\u8bed\u97f3\u8f93\u5165\u8f93\u51fa\u7684\u5bf9\u8bdd\u7cfb\u7edf\n- **\u591a\u5a92\u4f53\u5185\u5bb9\u5206\u6790**\uff1a\u5206\u6790\u89c6\u9891\u3001\u97f3\u9891\u3001\u56fe\u50cf\u7b49\u591a\u5a92\u4f53\u5185\u5bb9\n\n## \u4e0e\u540c\u7c7b\u5de5\u5177\u5bf9\u6bd4\n\n### Agentica vs LangChain\n\n| \u7279\u6027 | Agentica | LangChain |\n|------|----------|-----------|\n| \u6838\u5fc3\u8bbe\u8ba1 | \u4ee5 Agent \u4e3a\u4e2d\u5fc3\uff0c\u5f3a\u8c03 Agent \u7684\u81ea\u4e3b\u6027\u548c\u80fd\u529b | \u4ee5 Chain \u4e3a\u4e2d\u5fc3\uff0c\u5f3a\u8c03\u7ec4\u4ef6\u7684\u94fe\u5f0f\u8c03\u7528 |\n| \u8bb0\u5fc6\u7ba1\u7406 | \u5185\u7f6e\u77ed\u671f\u548c\u957f\u671f\u8bb0\u5fc6\u673a\u5236 | \u9700\u8981\u989d\u5916\u914d\u7f6e\u8bb0\u5fc6\u7ec4\u4ef6 |\n| \u591a Agent \u534f\u4f5c | \u539f\u751f\u652f\u6301 Team \u548c\u4efb\u52a1\u59d4\u6258 | \u9700\u8981\u989d\u5916\u914d\u7f6e\u548c\u5f00\u53d1 |\n| \u5de5\u4f5c\u6d41\u7f16\u6392 | \u5185\u7f6e\u5de5\u4f5c\u6d41\u7cfb\u7edf\uff0c\u652f\u6301\u4efb\u52a1\u5206\u89e3\u548c\u6267\u884c | \u9700\u8981\u4f7f\u7528\u989d\u5916\u7684\u7f16\u6392\u5de5\u5177 |\n| \u4e2d\u6587\u652f\u6301 | \u4f18\u79c0\u7684\u4e2d\u6587\u652f\u6301\u548c\u6587\u6863 | \u4e3b\u8981\u9762\u5411\u82f1\u6587\u7528\u6237 |\n| \u5b66\u4e60\u66f2\u7ebf | \u76f8\u5bf9\u7b80\u5355\uff0cAPI \u8bbe\u8ba1\u76f4\u89c2 | \u8f83\u4e3a\u590d\u6742\uff0c\u7ec4\u4ef6\u4f17\u591a |\n| \u793e\u533a\u751f\u6001 | \u8f83\u5c0f\u4f46\u589e\u957f\u8fc5\u901f | \u5e9e\u5927\u4e14\u6d3b\u8dc3 |\n\n### Agentica vs AutoGen\n\n| \u7279\u6027 | Agentica | AutoGen |\n|------|----------|---------|\n| \u6838\u5fc3\u8bbe\u8ba1 | \u5168\u9762\u7684 Agent \u6846\u67b6\uff0c\u652f\u6301\u591a\u79cd\u529f\u80fd | \u4e13\u6ce8\u4e8e\u591a Agent \u5bf9\u8bdd\u548c\u534f\u4f5c |\n| \u5de5\u5177\u96c6\u6210 | \u4e30\u5bcc\u7684\u5185\u7f6e\u5de5\u5177\u548c\u81ea\u5b9a\u4e49\u5de5\u5177\u652f\u6301 | \u8f83\u4e3a\u57fa\u7840\u7684\u5de5\u5177\u652f\u6301 |\n| RAG \u80fd\u529b | \u5185\u7f6e\u77e5\u8bc6\u5e93\u548c RAG \u529f\u80fd | \u9700\u8981\u989d\u5916\u96c6\u6210 |\n| \u6a21\u578b\u652f\u6301 | \u652f\u6301\u591a\u79cd\u56fd\u5185\u5916\u5927\u6a21\u578b | \u4e3b\u8981\u652f\u6301 OpenAI \u7b49\u56fd\u9645\u6a21\u578b |\n| \u90e8\u7f72\u4fbf\u6377\u6027 | \u652f\u6301 CLI \u548c Web UI \u591a\u79cd\u90e8\u7f72\u65b9\u5f0f | \u4e3b\u8981\u9762\u5411\u5f00\u53d1\u8005\u7684 API |\n| MCP \u534f\u8bae | \u652f\u6301 Model Context Protocol | \u4e0d\u652f\u6301 |\n\n### Agentica vs CrewAI\n\n| \u7279\u6027 | Agentica | CrewAI |\n|------|----------|--------|\n| \u6838\u5fc3\u8bbe\u8ba1 | \u5168\u9762\u7684 Agent \u6846\u67b6 | \u4e13\u6ce8\u4e8e Agent \u56e2\u961f\u534f\u4f5c |\n| \u5355 Agent \u80fd\u529b | \u5b8c\u6574\u7684\u5355 Agent \u529f\u80fd\u96c6 | \u76f8\u5bf9\u7b80\u5355\u7684\u5355 Agent \u529f\u80fd |\n| \u5de5\u4f5c\u6d41\u7ba1\u7406 | \u7075\u6d3b\u7684\u5de5\u4f5c\u6d41\u5b9a\u4e49\u548c\u6267\u884c | \u57fa\u4e8e\u4efb\u52a1\u7684\u5de5\u4f5c\u6d41 |\n| \u8bb0\u5fc6\u7cfb\u7edf | \u590d\u6742\u7684\u8bb0\u5fc6\u7ba1\u7406\u673a\u5236 | \u57fa\u7840\u7684\u8bb0\u5fc6\u529f\u80fd |\n| \u591a\u6a21\u6001\u652f\u6301 | \u652f\u6301\u6587\u672c\u3001\u56fe\u50cf\u3001\u97f3\u9891\u7b49\u591a\u6a21\u6001 | \u4e3b\u8981\u652f\u6301\u6587\u672c |\n| \u4e2d\u6587\u652f\u6301 | \u826f\u597d\u7684\u4e2d\u6587\u652f\u6301 | \u6709\u9650\u7684\u4e2d\u6587\u652f\u6301 |\n\n\n## \u5e38\u89c1\u95ee\u9898\n\n### 1. \u5982\u4f55\u9009\u62e9\u5408\u9002\u7684 LLM \u6a21\u578b\uff1f\n\nAgentica \u652f\u6301\u591a\u79cd LLM \u6a21\u578b\uff0c\u9009\u62e9\u53d6\u51b3\u4e8e\u60a8\u7684\u5177\u4f53\u9700\u6c42\uff1a\n- \u5bf9\u4e8e\u590d\u6742\u4efb\u52a1\u548c\u9ad8\u8d28\u91cf\u8f93\u51fa\uff0c\u63a8\u8350\u4f7f\u7528 OpenAI \u7684 GPT-4o \u6216 Moonshot \u7684 glm-4-flash\n- \u5bf9\u4e8e\u7b80\u5355\u4efb\u52a1\u548c\u5feb\u901f\u54cd\u5e94\uff0c\u53ef\u4ee5\u4f7f\u7528 OpenAI \u7684 GPT-3.5-turbo \u6216 Moonshot \u7684 moonshot-v1-8k\n- \u5bf9\u4e8e\u672c\u5730\u90e8\u7f72\uff0c\u53ef\u4ee5\u4f7f\u7528 Ollama \u63d0\u4f9b\u7684\u5f00\u6e90\u6a21\u578b\n\n### 2. \u5982\u4f55\u81ea\u5b9a\u4e49\u5de5\u5177\uff1f\n\nAgentica \u63d0\u4f9b\u4e86\u7075\u6d3b\u7684\u5de5\u5177\u81ea\u5b9a\u4e49\u673a\u5236\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u7ee7\u627f `Toolkit` \u7c7b\u6765\u521b\u5efa\u81ea\u5df1\u7684\u5de5\u5177\uff1a\n\n```python\nfrom agentica.tools.base import Tool\nimport json\n\n\nclass MyCustomTool(Tool):\n   def __init(self):\n      name = \"my_custom_tool\"\n      super().__init__(name=name)\n      self.register(self.run)\n\n   def run(self, **kwargs):\n      # \u5b9e\u73b0\u5de5\u5177\u903b\u8f91\n      return json.dumps({\"result\": \"\u5de5\u5177\u6267\u884c\u7ed3\u679c\"})\n```\n\n### 3. \u5982\u4f55\u5904\u7406\u5927\u578b\u6587\u6863\uff1f\n\n\u5bf9\u4e8e\u5927\u578b\u6587\u6863\u5904\u7406\uff0c\u5efa\u8bae\u4f7f\u7528 Agentica \u7684 RAG \u529f\u80fd\uff1a\n1. \u4f7f\u7528 `examples/20_advanced_rag_demo.py` \u4f5c\u4e3a\u53c2\u8003\n2. \u5c06\u6587\u6863\u5206\u5272\u6210\u9002\u5f53\u5927\u5c0f\u7684\u5757\n3. \u4f7f\u7528\u5411\u91cf\u6570\u636e\u5e93\u5b58\u50a8\u6587\u6863\u5d4c\u5165\n4. \u7ed3\u5408\u68c0\u7d22\u548c\u751f\u6210\u80fd\u529b\u56de\u7b54\u95ee\u9898\n\n### 4. \u5982\u4f55\u5b9e\u73b0\u591a Agent \u534f\u4f5c\uff1f\n\nAgentica \u63d0\u4f9b\u4e86\u4e24\u79cd\u591a Agent \u534f\u4f5c\u65b9\u5f0f\uff1a\n1. **Team \u6a21\u5f0f**\uff1a\u4f7f\u7528 `examples/31_team_news_article_demo.py` \u4f5c\u4e3a\u53c2\u8003\uff0c\u521b\u5efa\u4e0d\u540c\u89d2\u8272\u7684 Agent \u56e2\u961f\n2. **Workflow \u6a21\u5f0f**\uff1a\u4f7f\u7528 `examples/36_workflow_news_article_demo.py` \u4f5c\u4e3a\u53c2\u8003\uff0c\u5c06\u4efb\u52a1\u5206\u89e3\u4e3a\u591a\u4e2a\u6b65\u9aa4\uff0c\u7531\u4e0d\u540c Agent \u6267\u884c\n\n### 5. \u5982\u4f55\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\uff1f\n\nAgentica \u5e94\u7528\u53ef\u4ee5\u901a\u8fc7\u591a\u79cd\u65b9\u5f0f\u90e8\u7f72\u5230\u751f\u4ea7\u73af\u5883\uff1a\n1. \u4f5c\u4e3a API \u670d\u52a1\uff1a\u4f7f\u7528 FastAPI \u6216 Flask \u5c01\u88c5 Agentica \u529f\u80fd\n2. \u4f5c\u4e3a Web \u5e94\u7528\uff1a\u4f7f\u7528 ChatPilot \u63d0\u4f9b Web \u754c\u9762\n3. \u4f5c\u4e3a\u547d\u4ee4\u884c\u5de5\u5177\uff1a\u4f7f\u7528\u5185\u7f6e\u7684 CLI \u529f\u80fd\n\n## \u793e\u533a\u4e0e\u652f\u6301\n\n- Issue(\u5efa\u8bae)\n  \uff1a[![GitHub issues](https://img.shields.io/github/issues/shibing624/agentica.svg)](https://github.com/shibing624/agentica/issues)\n- \u90ae\u4ef6\u6211\uff1axuming: xuming624@qq.com\n- \u5fae\u4fe1\u6211\uff1a \u52a0\u6211*\u5fae\u4fe1\u53f7\uff1axuming624, \u5907\u6ce8\uff1a\u59d3\u540d-\u516c\u53f8-NLP* \u8fdbNLP\u4ea4\u6d41\u7fa4\u3002\n\n<img src=\"https://github.com/shibing624/agentica/blob/main/docs/wechat.jpeg\" width=\"200\" />\n\n## \u5f15\u7528\n\n\u5982\u679c\u4f60\u5728\u7814\u7a76\u4e2d\u4f7f\u7528\u4e86 Agentica\uff0c\u8bf7\u6309\u5982\u4e0b\u683c\u5f0f\u5f15\u7528\uff1a\n\nAPA:\n\n```\nXu, M. agentica: A Human-Centric Framework for Large Language Model Agent Workflows (Version 0.0.2) [Computer software]. https://github.com/shibing624/agentica\n```\n\nBibTeX:\n\n```bibtex\n@misc{agentica,\n  author = {Ming Xu},\n  title = {Agentica: Effortlessly Build Intelligent, Reflective, and Collaborative Multimodal AI Agents},\n  year = {2024},\n  publisher = {GitHub},\n  journal = {GitHub Repository},\n  howpublished = {\\url{https://github.com/shibing624/agentica}},\n}\n```\n\n## \u8bb8\u53ef\u8bc1\n\n\u6388\u6743\u534f\u8bae\u4e3a [The Apache License 2.0](/LICENSE)\uff0c\u53ef\u514d\u8d39\u7528\u505a\u5546\u4e1a\u7528\u9014\u3002\u8bf7\u5728\u4ea7\u54c1\u8bf4\u660e\u4e2d\u9644\u52a0`agentica`\u7684\u94fe\u63a5\u548c\u6388\u6743\u534f\u8bae\u3002\n## \u8d21\u732e\u6307\u5357\n\n\u6211\u4eec\u6b22\u8fce\u5404\u79cd\u5f62\u5f0f\u7684\u8d21\u732e\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\uff1a\n\n- \u63d0\u4ea4\u95ee\u9898\u548c\u529f\u80fd\u9700\u6c42\n- \u63d0\u4ea4\u4ee3\u7801\u4fee\u590d\u548c\u65b0\u529f\u80fd\n- \u6539\u8fdb\u6587\u6863\u548c\u793a\u4f8b\n- \u5206\u4eab\u4f7f\u7528\u6848\u4f8b\u548c\u6700\u4f73\u5b9e\u8df5\n\n\u8bf7\u67e5\u770b [\u8d21\u732e\u6307\u5357](CONTRIBUTING.md) \u4e86\u89e3\u66f4\u591a\u8be6\u60c5\u3002\n\n## \u611f\u8c22\n\n- [langchain-ai/langchain](https://github.com/langchain-ai/langchain)\n- [simonmesmith/agentflow](https://github.com/simonmesmith/agentflow)\n- [phidatahq/phidata](https://github.com/phidatahq/phidata)\n\n\nThanks for their great work!\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "LLM agents",
    "version": "1.1.2",
    "project_urls": {
        "Homepage": "https://github.com/shibing624/agentica"
    },
    "split_keywords": [
        "agentica",
        " agent tool",
        " action",
        " agent",
        " agentica"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ce6e395b7924c14cec931ebcdba980a7167eb3a82a29d48c4de57297fdcb6655",
                "md5": "cabea26259071e32616662462bc78ca3",
                "sha256": "826ccae0d539952dced8ad44a56a7233d03d6134f42f695b50c3ea80313e243f"
            },
            "downloads": -1,
            "filename": "agentica-1.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cabea26259071e32616662462bc78ca3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10.0",
            "size": 287092,
            "upload_time": "2025-07-23T14:49:06",
            "upload_time_iso_8601": "2025-07-23T14:49:06.287233Z",
            "url": "https://files.pythonhosted.org/packages/ce/6e/395b7924c14cec931ebcdba980a7167eb3a82a29d48c4de57297fdcb6655/agentica-1.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 14:49:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "shibing624",
    "github_project": "agentica",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "httpx",
            "specs": []
        },
        {
            "name": "loguru",
            "specs": []
        },
        {
            "name": "beautifulsoup4",
            "specs": []
        },
        {
            "name": "openai",
            "specs": [
                [
                    ">=",
                    "1.52.0"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": []
        },
        {
            "name": "pydantic",
            "specs": []
        },
        {
            "name": "pydantic_settings",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "sqlalchemy",
            "specs": []
        },
        {
            "name": "scikit-learn",
            "specs": []
        },
        {
            "name": "text2vec",
            "specs": []
        },
        {
            "name": "markdownify",
            "specs": []
        },
        {
            "name": "Pillow",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "rich",
            "specs": []
        },
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "mcp",
            "specs": [
                [
                    ">=",
                    "1.9.4"
                ]
            ]
        },
        {
            "name": "puremagic",
            "specs": []
        }
    ],
    "lcname": "agentica"
}
        
Elapsed time: 1.96223s