[**🇨🇳中文**](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
[](https://badge.fury.io/py/agentica)
[](https://pepy.tech/project/agentica)
[](CONTRIBUTING.md)
[](LICENSE)
[](requirements.txt)
[](https://github.com/shibing624/agentica/issues)
[](#Contact)
**Agentica**: 轻松构建智能、具备反思能力、可协作的多模态AI Agent。
## 📖 Introduction
**Agentica** 可以构建AI Agent,包括规划、记忆和工具使用、执行等组件。
#### Agent Components
<img src="https://github.com/shibing624/agentica/blob/main/docs/llm_agentv2.png" width="800" />
- **规划(Planning)**:任务拆解、生成计划、反思
- **记忆(Memory)**:短期记忆(prompt实现)、长期记忆(RAG实现)
- **工具使用(Tool use)**:function call能力,调用外部API,以获取外部信息,包括当前日期、日历、代码执行能力、对专用信息源的访问等
#### Agentica Workflow
**Agentica** can also build multi-agent systems and workflows.
**Agentica** 还可以构建多Agent系统和工作流。
<img src="https://github.com/shibing624/agentica/blob/main/docs/agent_arch.png" width="800" />
- **Planner**:负责让LLM生成一个多步计划来完成复杂任务,生成相互依赖的“链式计划”,定义每一步所依赖的上一步的输出
- **Worker**:接受“链式计划”,循环遍历计划中的每个子任务,并调用工具完成任务,可以自动反思纠错以完成任务
- **Solver**:求解器将所有这些输出整合为最终答案
## 🔥 News
[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)
## 😊 Features
`Agentica`是一个用于构建Agent的工具,具有以下功能:
- **Agent编排**:通过简单代码快速编排Agent,支持 Reflection(反思)、Plan and Solve(计划并执行)、RAG、Agent、Multi-Agent、Team、Workflow等功能
- **自定义prompt**:Agent支持自定义prompt和多种工具调用(tool_calls)
- **LLM集成**:支持OpenAI、Azure、Deepseek、Moonshot、Claude、Ollama、Together等多方大模型厂商的API
- **记忆功能**:包括短期记忆和长期记忆功能
- **Multi-Agent协作**:支持多Agent和任务委托(Team)的团队协作。
- **Workflow工作流**:拆解复杂任务为多个Agent,基于工作流自动化串行逐步完成任务,如投资研究、新闻文章撰写和技术教程创建
- **自我进化Agent**:具有反思和增强记忆能力的自我进化Agent
- **Web UI**:兼容ChatPilot,可以基于Web页面交互,支持主流的open-webui、streamlit、gradio等前端交互框架
## 💾 Install
```bash
pip install -U agentica
```
or
```bash
git clone https://github.com/shibing624/agentica.git
cd agentica
pip install .
```
## 🚀 Getting Started
#### Run the example
```shell
# Copying required .env file, and fill in the LLM api key
cp .env.example ~/.agentica/.env
cd examples
python web_search_moonshot_demo.py
```
1. 复制[.env.example](https://github.com/shibing624/agentica/blob/main/.env.example)文件为`~/.agentica/.env`,并填写LLM api key(选填DEEPSEEK_API_KEY、MOONSHOT_API_KEY、OPENAI_API_KEY、ZHIPUAI_API_KEY等任一个即可)。或者使用`export`命令设置环境变量:
```shell
export MOONSHOT_API_KEY=your_moonshot_api_key
export SERPER_API_KEY=your_serper_api_key
```
2. 使用`agentica`构建Agent并执行:
自动调用google搜索工具,示例[examples/12_web_search_moonshot_demo.py](https://github.com/shibing624/agentica/blob/main/examples/12_web_search_moonshot_demo.py)
```python
from agentica import Agent, MoonshotChat, SearchSerperTool
m = Agent(model=MoonshotChat(), tools=[SearchSerperTool()], add_datetime_to_instructions=True)
r = m.run("下一届奥运会在哪里举办")
print(r)
```
## ▶️ Web UI
[shibing624/ChatPilot](https://github.com/shibing624/ChatPilot) 兼容`agentica`,可以通过Web UI进行交互。
Web Demo: https://chat.mulanai.com
<img src="https://github.com/shibing624/ChatPilot/blob/main/docs/shot.png" width="800" />
```shell
git clone https://github.com/shibing624/ChatPilot.git
cd ChatPilot
pip install -r requirements.txt
cp .env.example .env
bash start.sh
```
## 😀 Examples
| 示例 | 描述 |
|-------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
| [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/12_web_search_moonshot_demo.py](https://github.com/shibing624/agentica/blob/main/examples/12_web_search_moonshot_demo.py) | 基于Moonshot的function call做网页搜索Demo |
| [examples/13_storage_demo.py](https://github.com/shibing624/agentica/blob/main/examples/13_storage_demo.py) | Agent的存储Demo |
| [examples/14_custom_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/14_custom_tool_demo.py) | 自定义工具,并用大模型自主选择调用的Demo |
| [examples/15_crawl_webpage_demo.py](https://github.com/shibing624/agentica/blob/main/examples/15_crawl_webpage_demo.py) | 实现了网页分析工作流:从Url爬取融资快讯 - 分析网页内容和格式 - 提取核心信息 - 汇总存为md文件 |
| [examples/16_get_top_papers_demo.py](https://github.com/shibing624/agentica/blob/main/examples/16_get_top_papers_demo.py) | 解析每日论文,并保存为json格式的Demo |
| [examples/17_find_paper_from_arxiv_demo.py](https://github.com/shibing624/agentica/blob/main/examples/17_find_paper_from_arxiv_demo.py) | 实现了论文推荐的Demo:自动从arxiv搜索多组论文 - 相似论文去重 - 提取核心论文信息 - 保存为csv文件 |
| [examples/18_agent_input_is_list.py](https://github.com/shibing624/agentica/blob/main/examples/18_agent_input_is_list.py) | 展示Agent的message可以是列表的Demo |
| [examples/19_naive_rag_demo.py](https://github.com/shibing624/agentica/blob/main/examples/19_naive_rag_demo.py) | 实现了基础版RAG,基于Txt文档回答问题 |
| [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/21_memorydb_rag_demo.py](https://github.com/shibing624/agentica/blob/main/examples/21_reference_in_prompt_rag_demo.py) | 把参考资料放到prompt的传统RAG做法的Demo |
| [examples/22_chat_pdf_app_demo.py](https://github.com/shibing624/agentica/blob/main/examples/22_chat_pdf_app_demo.py) | 对PDF文档做深入对话的Demo |
| [examples/23_python_agent_memory_demo.py](https://github.com/shibing624/agentica/blob/main/examples/23_python_agent_memory_demo.py) | 实现了带记忆的Code Interpreter功能,自动生成python代码并执行,下次执行时从记忆获取结果 |
| [examples/24_context_demo.py](https://github.com/shibing624/agentica/blob/main/examples/24_context_demo.py) | 实现了传入上下文进行对话的Demo |
| [examples/25_tools_with_context_demo.py](https://github.com/shibing624/agentica/blob/main/examples/25_tools_with_context_demo.py) | 工具带上下文传参的Demo |
| [examples/26_complex_translate_demo.py](https://github.com/shibing624/agentica/blob/main/examples/26_complex_translate_demo.py) | 实现了复杂翻译Demo |
| [examples/27_research_agent_demo.py](https://github.com/shibing624/agentica/blob/main/examples/27_research_agent_demo.py) | 实现了Research功能,自动调用搜索工具,汇总信息后撰写科技报告 |
| [examples/28_rag_integrated_langchain_demo.py](https://github.com/shibing624/agentica/blob/main/examples/28_rag_integrated_langchain_demo.py) | 集成LangChain的RAG Demo |
| [examples/29_rag_integrated_llamaindex_demo.py](https://github.com/shibing624/agentica/blob/main/examples/29_rag_integrated_llamaindex_demo.py) | 集成LlamaIndex的RAG Demo |
| [examples/30_text_classification_demo.py](https://github.com/shibing624/agentica/blob/main/examples/30_text_classification_demo.py) | 实现了自动训练分类模型的Agent:读取训练集文件并理解格式 - 谷歌搜索pytextclassifier库 - 爬取github页面了解pytextclassifier的调用方法 - 写代码并执行fasttext模型训练 - check训练好的模型预测结果 |
| [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/32_team_debate_demo.py](https://github.com/shibing624/agentica/blob/main/examples/32_team_debate_demo.py) | Team实现:基于委托做双人辩论Demo,特朗普和拜登辩论 |
| [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/35_workflow_investment_demo.py](https://github.com/shibing624/agentica/blob/main/examples/35_workflow_investment_demo.py) | 实现了投资研究的工作流:股票信息收集 - 股票分析 - 撰写分析报告 - 复查报告等多个Task |
| [examples/36_workflow_news_article_demo.py](https://github.com/shibing624/agentica/blob/main/examples/36_workflow_news_article_demo.py) | 实现了写新闻稿的工作流,multi-agent的实现,多次调用搜索工具,并生成高级排版的新闻文章 |
| [examples/37_workflow_write_novel_demo.py](https://github.com/shibing624/agentica/blob/main/examples/37_workflow_write_novel_demo.py) | 实现了写小说的工作流:定小说提纲 - 搜索谷歌反思提纲 - 撰写小说内容 - 保存为md文件 |
| [examples/38_workflow_write_tutorial_demo.py](https://github.com/shibing624/agentica/blob/main/examples/38_workflow_write_tutorial_demo.py) | 实现了写技术教程的工作流:定教程目录 - 反思目录内容 - 撰写教程内容 - 保存为md文件 |
| [examples/39_audio_multi_turn_demo.py](https://github.com/shibing624/agentica/blob/main/examples/39_audio_multi_turn_demo.py) | 基于openai的语音api做多轮音频对话的Demo |
### Self-evolving Agent
The self-evolving agent design:
<img alt="LLM OS" src="https://github.com/shibing624/agentica/blob/main/docs/sage_arch.png" width="800" />
#### Feature
具有反思和增强记忆能力的自我进化智能体(self-evolving Agents with Reflective and Memory-augmented Abilities, SAGE)
实现方法:
1. 使用PythonAgent作为SAGE智能体,使用AzureOpenAIChat作为LLM, 具备code-interpreter功能,可以执行Python代码,并自动纠错。
2. 使用CsvMemoryDb作为SAGE智能体的记忆,用于存储用户的问题和答案,下次遇到相似的问题时,可以直接返回答案。
#### Run Self-evolving Agent App
```shell
cd examples
streamlit run 33_self_evolving_agent_demo.py
```
<img alt="sage_snap" src="https://github.com/shibing624/agentica/blob/main/docs/sage_snap.png" width="800" />
### LLM OS
The LLM OS design:
<img alt="LLM OS" src="https://github.com/shibing624/agentica/blob/main/docs/llmos.png" width="800" />
#### Run the LLM OS App
```shell
cd examples
streamlit run 34_llm_os_demo.py
```
<img alt="LLM OS" src="https://github.com/shibing624/agentica/blob/main/docs/llm_os_snap.png" width="800" />
## ☎️ Contact
- Issue(建议)
:[](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" />
## 😇 Citation
如果你在研究中使用了`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:
```
@misc{Xu_agentica,
title={agentica: A Human-Centric Framework for Large Language Model Agent Workflows},
author={Xu Ming},
year={2024},
howpublished={\url{https://github.com/shibing624/agentica}},
}
```
## ⚠️ License
授权协议为 [The Apache License 2.0](/LICENSE),可免费用做商业用途。请在产品说明中附加`agentica`的链接和授权协议。
## 😍 Contribute
项目代码还很粗糙,如果大家对代码有所改进,欢迎提交回本项目,在提交之前,注意以下两点:
- 在`tests`添加相应的单元测试
- 使用`python -m pytest`来运行所有单元测试,确保所有单测都是通过的
之后即可提交PR。
## 💕 Acknowledgements
- [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.8.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/d9/b4/05e9fae733ee4d13323465031ad465f96dbdced213ea8580ea9523b98129/agentica-0.2.3.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[](https://badge.fury.io/py/agentica)\n[](https://pepy.tech/project/agentica)\n[](CONTRIBUTING.md)\n[](LICENSE)\n[](requirements.txt)\n[](https://github.com/shibing624/agentica/issues)\n[](#Contact)\n\n\n**Agentica**: \u8f7b\u677e\u6784\u5efa\u667a\u80fd\u3001\u5177\u5907\u53cd\u601d\u80fd\u529b\u3001\u53ef\u534f\u4f5c\u7684\u591a\u6a21\u6001AI Agent\u3002\n\n\n## \ud83d\udcd6 Introduction\n\n**Agentica** \u53ef\u4ee5\u6784\u5efaAI Agent\uff0c\u5305\u62ec\u89c4\u5212\u3001\u8bb0\u5fc6\u548c\u5de5\u5177\u4f7f\u7528\u3001\u6267\u884c\u7b49\u7ec4\u4ef6\u3002\n\n#### Agent Components\n<img src=\"https://github.com/shibing624/agentica/blob/main/docs/llm_agentv2.png\" width=\"800\" />\n\n- **\u89c4\u5212\uff08Planning\uff09**\uff1a\u4efb\u52a1\u62c6\u89e3\u3001\u751f\u6210\u8ba1\u5212\u3001\u53cd\u601d\n- **\u8bb0\u5fc6\uff08Memory\uff09**\uff1a\u77ed\u671f\u8bb0\u5fc6\uff08prompt\u5b9e\u73b0\uff09\u3001\u957f\u671f\u8bb0\u5fc6\uff08RAG\u5b9e\u73b0\uff09\n- **\u5de5\u5177\u4f7f\u7528\uff08Tool use\uff09**\uff1afunction call\u80fd\u529b\uff0c\u8c03\u7528\u5916\u90e8API\uff0c\u4ee5\u83b7\u53d6\u5916\u90e8\u4fe1\u606f\uff0c\u5305\u62ec\u5f53\u524d\u65e5\u671f\u3001\u65e5\u5386\u3001\u4ee3\u7801\u6267\u884c\u80fd\u529b\u3001\u5bf9\u4e13\u7528\u4fe1\u606f\u6e90\u7684\u8bbf\u95ee\u7b49\n\n#### Agentica Workflow\n\n**Agentica** can also build multi-agent systems and workflows.\n\n**Agentica** \u8fd8\u53ef\u4ee5\u6784\u5efa\u591aAgent\u7cfb\u7edf\u548c\u5de5\u4f5c\u6d41\u3002\n\n<img src=\"https://github.com/shibing624/agentica/blob/main/docs/agent_arch.png\" width=\"800\" />\n\n- **Planner**\uff1a\u8d1f\u8d23\u8ba9LLM\u751f\u6210\u4e00\u4e2a\u591a\u6b65\u8ba1\u5212\u6765\u5b8c\u6210\u590d\u6742\u4efb\u52a1\uff0c\u751f\u6210\u76f8\u4e92\u4f9d\u8d56\u7684\u201c\u94fe\u5f0f\u8ba1\u5212\u201d\uff0c\u5b9a\u4e49\u6bcf\u4e00\u6b65\u6240\u4f9d\u8d56\u7684\u4e0a\u4e00\u6b65\u7684\u8f93\u51fa\n- **Worker**\uff1a\u63a5\u53d7\u201c\u94fe\u5f0f\u8ba1\u5212\u201d\uff0c\u5faa\u73af\u904d\u5386\u8ba1\u5212\u4e2d\u7684\u6bcf\u4e2a\u5b50\u4efb\u52a1\uff0c\u5e76\u8c03\u7528\u5de5\u5177\u5b8c\u6210\u4efb\u52a1\uff0c\u53ef\u4ee5\u81ea\u52a8\u53cd\u601d\u7ea0\u9519\u4ee5\u5b8c\u6210\u4efb\u52a1\n- **Solver**\uff1a\u6c42\u89e3\u5668\u5c06\u6240\u6709\u8fd9\u4e9b\u8f93\u51fa\u6574\u5408\u4e3a\u6700\u7ec8\u7b54\u6848\n\n## \ud83d\udd25 News\n[2024/12/29] v0.2.3\u7248\u672c: \u652f\u6301\u4e86`ZhipuAI`\u7684api\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\n[2024/12/25] v0.2.0\u7248\u672c: \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\u5347\u7ea7Assistant\u4e3aAgent\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\n[2024/07/02] v0.1.0\u7248\u672c\uff1a\u5b9e\u73b0\u4e86\u57fa\u4e8eLLM\u7684Assistant\uff0c\u53ef\u4ee5\u5feb\u901f\u7528function 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\n## \ud83d\ude0a Features\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\uff09\u3001Plan and Solve(\u8ba1\u5212\u5e76\u6267\u884c)\u3001RAG\u3001Agent\u3001Multi-Agent\u3001Team\u3001Workflow\u7b49\u529f\u80fd\n- **\u81ea\u5b9a\u4e49prompt**\uff1aAgent\u652f\u6301\u81ea\u5b9a\u4e49prompt\u548c\u591a\u79cd\u5de5\u5177\u8c03\u7528\uff08tool_calls\uff09\n- **LLM\u96c6\u6210**\uff1a\u652f\u6301OpenAI\u3001Azure\u3001Deepseek\u3001Moonshot\u3001Claude\u3001Ollama\u3001Together\u7b49\u591a\u65b9\u5927\u6a21\u578b\u5382\u5546\u7684API\n- **\u8bb0\u5fc6\u529f\u80fd**\uff1a\u5305\u62ec\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\uff08Team\uff09\u7684\u56e2\u961f\u534f\u4f5c\u3002\n- **Workflow\u5de5\u4f5c\u6d41**\uff1a\u62c6\u89e3\u590d\u6742\u4efb\u52a1\u4e3a\u591a\u4e2aAgent\uff0c\u57fa\u4e8e\u5de5\u4f5c\u6d41\u81ea\u52a8\u5316\u4e32\u884c\u9010\u6b65\u5b8c\u6210\u4efb\u52a1\uff0c\u5982\u6295\u8d44\u7814\u7a76\u3001\u65b0\u95fb\u6587\u7ae0\u64b0\u5199\u548c\u6280\u672f\u6559\u7a0b\u521b\u5efa\n- **\u81ea\u6211\u8fdb\u5316Agent**\uff1a\u5177\u6709\u53cd\u601d\u548c\u589e\u5f3a\u8bb0\u5fc6\u80fd\u529b\u7684\u81ea\u6211\u8fdb\u5316Agent\n- **Web UI**\uff1a\u517c\u5bb9ChatPilot\uff0c\u53ef\u4ee5\u57fa\u4e8eWeb\u9875\u9762\u4ea4\u4e92\uff0c\u652f\u6301\u4e3b\u6d41\u7684open-webui\u3001streamlit\u3001gradio\u7b49\u524d\u7aef\u4ea4\u4e92\u6846\u67b6\n\n## \ud83d\udcbe Install\n\n```bash\npip install -U agentica\n```\n\nor\n\n```bash\ngit clone https://github.com/shibing624/agentica.git\ncd agentica\npip install .\n```\n\n## \ud83d\ude80 Getting Started\n\n#### Run the example\n```shell\n# Copying required .env file, and fill in the LLM api key\ncp .env.example ~/.agentica/.env\n\ncd examples\npython web_search_moonshot_demo.py\n```\n\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\u586bDEEPSEEK_API_KEY\u3001MOONSHOT_API_KEY\u3001OPENAI_API_KEY\u3001ZHIPUAI_API_KEY\u7b49\u4efb\u4e00\u4e2a\u5373\u53ef)\u3002\u6216\u8005\u4f7f\u7528`export`\u547d\u4ee4\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff1a\n \n ```shell\n export MOONSHOT_API_KEY=your_moonshot_api_key\n export SERPER_API_KEY=your_serper_api_key\n ```\n\n2. \u4f7f\u7528`agentica`\u6784\u5efaAgent\u5e76\u6267\u884c\uff1a\n\n\u81ea\u52a8\u8c03\u7528google\u641c\u7d22\u5de5\u5177\uff0c\u793a\u4f8b[examples/12_web_search_moonshot_demo.py](https://github.com/shibing624/agentica/blob/main/examples/12_web_search_moonshot_demo.py)\n\n```python\nfrom agentica import Agent, MoonshotChat, SearchSerperTool\n\nm = Agent(model=MoonshotChat(), tools=[SearchSerperTool()], add_datetime_to_instructions=True)\nr = m.run(\"\u4e0b\u4e00\u5c4a\u5965\u8fd0\u4f1a\u5728\u54ea\u91cc\u4e3e\u529e\")\nprint(r)\n```\n\n\n## \u25b6\ufe0f 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<img src=\"https://github.com/shibing624/ChatPilot/blob/main/docs/shot.png\" width=\"800\" />\n\n```shell\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## \ud83d\ude00 Examples\n\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/12_web_search_moonshot_demo.py](https://github.com/shibing624/agentica/blob/main/examples/12_web_search_moonshot_demo.py) | \u57fa\u4e8eMoonshot\u7684function call\u505a\u7f51\u9875\u641c\u7d22Demo |\n| [examples/13_storage_demo.py](https://github.com/shibing624/agentica/blob/main/examples/13_storage_demo.py) | Agent\u7684\u5b58\u50a8Demo |\n| [examples/14_custom_tool_demo.py](https://github.com/shibing624/agentica/blob/main/examples/14_custom_tool_demo.py) | \u81ea\u5b9a\u4e49\u5de5\u5177\uff0c\u5e76\u7528\u5927\u6a21\u578b\u81ea\u4e3b\u9009\u62e9\u8c03\u7528\u7684Demo |\n| [examples/15_crawl_webpage_demo.py](https://github.com/shibing624/agentica/blob/main/examples/15_crawl_webpage_demo.py) | \u5b9e\u73b0\u4e86\u7f51\u9875\u5206\u6790\u5de5\u4f5c\u6d41\uff1a\u4eceUrl\u722c\u53d6\u878d\u8d44\u5feb\u8baf - \u5206\u6790\u7f51\u9875\u5185\u5bb9\u548c\u683c\u5f0f - \u63d0\u53d6\u6838\u5fc3\u4fe1\u606f - \u6c47\u603b\u5b58\u4e3amd\u6587\u4ef6 |\n| [examples/16_get_top_papers_demo.py](https://github.com/shibing624/agentica/blob/main/examples/16_get_top_papers_demo.py) | \u89e3\u6790\u6bcf\u65e5\u8bba\u6587\uff0c\u5e76\u4fdd\u5b58\u4e3ajson\u683c\u5f0f\u7684Demo |\n| [examples/17_find_paper_from_arxiv_demo.py](https://github.com/shibing624/agentica/blob/main/examples/17_find_paper_from_arxiv_demo.py) | \u5b9e\u73b0\u4e86\u8bba\u6587\u63a8\u8350\u7684Demo\uff1a\u81ea\u52a8\u4ecearxiv\u641c\u7d22\u591a\u7ec4\u8bba\u6587 - \u76f8\u4f3c\u8bba\u6587\u53bb\u91cd - \u63d0\u53d6\u6838\u5fc3\u8bba\u6587\u4fe1\u606f - \u4fdd\u5b58\u4e3acsv\u6587\u4ef6 |\n| [examples/18_agent_input_is_list.py](https://github.com/shibing624/agentica/blob/main/examples/18_agent_input_is_list.py) | \u5c55\u793aAgent\u7684message\u53ef\u4ee5\u662f\u5217\u8868\u7684Demo |\n| [examples/19_naive_rag_demo.py](https://github.com/shibing624/agentica/blob/main/examples/19_naive_rag_demo.py) | \u5b9e\u73b0\u4e86\u57fa\u7840\u7248RAG\uff0c\u57fa\u4e8eTxt\u6587\u6863\u56de\u7b54\u95ee\u9898 |\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/21_memorydb_rag_demo.py](https://github.com/shibing624/agentica/blob/main/examples/21_reference_in_prompt_rag_demo.py) | \u628a\u53c2\u8003\u8d44\u6599\u653e\u5230prompt\u7684\u4f20\u7edfRAG\u505a\u6cd5\u7684Demo |\n| [examples/22_chat_pdf_app_demo.py](https://github.com/shibing624/agentica/blob/main/examples/22_chat_pdf_app_demo.py) | \u5bf9PDF\u6587\u6863\u505a\u6df1\u5165\u5bf9\u8bdd\u7684Demo |\n| [examples/23_python_agent_memory_demo.py](https://github.com/shibing624/agentica/blob/main/examples/23_python_agent_memory_demo.py) | \u5b9e\u73b0\u4e86\u5e26\u8bb0\u5fc6\u7684Code Interpreter\u529f\u80fd\uff0c\u81ea\u52a8\u751f\u6210python\u4ee3\u7801\u5e76\u6267\u884c\uff0c\u4e0b\u6b21\u6267\u884c\u65f6\u4ece\u8bb0\u5fc6\u83b7\u53d6\u7ed3\u679c |\n| [examples/24_context_demo.py](https://github.com/shibing624/agentica/blob/main/examples/24_context_demo.py) | \u5b9e\u73b0\u4e86\u4f20\u5165\u4e0a\u4e0b\u6587\u8fdb\u884c\u5bf9\u8bdd\u7684Demo |\n| [examples/25_tools_with_context_demo.py](https://github.com/shibing624/agentica/blob/main/examples/25_tools_with_context_demo.py) | \u5de5\u5177\u5e26\u4e0a\u4e0b\u6587\u4f20\u53c2\u7684Demo |\n| [examples/26_complex_translate_demo.py](https://github.com/shibing624/agentica/blob/main/examples/26_complex_translate_demo.py) | \u5b9e\u73b0\u4e86\u590d\u6742\u7ffb\u8bd1Demo |\n| [examples/27_research_agent_demo.py](https://github.com/shibing624/agentica/blob/main/examples/27_research_agent_demo.py) | \u5b9e\u73b0\u4e86Research\u529f\u80fd\uff0c\u81ea\u52a8\u8c03\u7528\u641c\u7d22\u5de5\u5177\uff0c\u6c47\u603b\u4fe1\u606f\u540e\u64b0\u5199\u79d1\u6280\u62a5\u544a |\n| [examples/28_rag_integrated_langchain_demo.py](https://github.com/shibing624/agentica/blob/main/examples/28_rag_integrated_langchain_demo.py) | \u96c6\u6210LangChain\u7684RAG Demo |\n| [examples/29_rag_integrated_llamaindex_demo.py](https://github.com/shibing624/agentica/blob/main/examples/29_rag_integrated_llamaindex_demo.py) | \u96c6\u6210LlamaIndex\u7684RAG Demo |\n| [examples/30_text_classification_demo.py](https://github.com/shibing624/agentica/blob/main/examples/30_text_classification_demo.py) | \u5b9e\u73b0\u4e86\u81ea\u52a8\u8bad\u7ec3\u5206\u7c7b\u6a21\u578b\u7684Agent\uff1a\u8bfb\u53d6\u8bad\u7ec3\u96c6\u6587\u4ef6\u5e76\u7406\u89e3\u683c\u5f0f - \u8c37\u6b4c\u641c\u7d22pytextclassifier\u5e93 - \u722c\u53d6github\u9875\u9762\u4e86\u89e3pytextclassifier\u7684\u8c03\u7528\u65b9\u6cd5 - \u5199\u4ee3\u7801\u5e76\u6267\u884cfasttext\u6a21\u578b\u8bad\u7ec3 - check\u8bad\u7ec3\u597d\u7684\u6a21\u578b\u9884\u6d4b\u7ed3\u679c |\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/32_team_debate_demo.py](https://github.com/shibing624/agentica/blob/main/examples/32_team_debate_demo.py) | Team\u5b9e\u73b0\uff1a\u57fa\u4e8e\u59d4\u6258\u505a\u53cc\u4eba\u8fa9\u8bbaDemo\uff0c\u7279\u6717\u666e\u548c\u62dc\u767b\u8fa9\u8bba |\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/35_workflow_investment_demo.py](https://github.com/shibing624/agentica/blob/main/examples/35_workflow_investment_demo.py) | \u5b9e\u73b0\u4e86\u6295\u8d44\u7814\u7a76\u7684\u5de5\u4f5c\u6d41\uff1a\u80a1\u7968\u4fe1\u606f\u6536\u96c6 - \u80a1\u7968\u5206\u6790 - \u64b0\u5199\u5206\u6790\u62a5\u544a - \u590d\u67e5\u62a5\u544a\u7b49\u591a\u4e2aTask |\n| [examples/36_workflow_news_article_demo.py](https://github.com/shibing624/agentica/blob/main/examples/36_workflow_news_article_demo.py) | \u5b9e\u73b0\u4e86\u5199\u65b0\u95fb\u7a3f\u7684\u5de5\u4f5c\u6d41\uff0cmulti-agent\u7684\u5b9e\u73b0\uff0c\u591a\u6b21\u8c03\u7528\u641c\u7d22\u5de5\u5177\uff0c\u5e76\u751f\u6210\u9ad8\u7ea7\u6392\u7248\u7684\u65b0\u95fb\u6587\u7ae0 |\n| [examples/37_workflow_write_novel_demo.py](https://github.com/shibing624/agentica/blob/main/examples/37_workflow_write_novel_demo.py) | \u5b9e\u73b0\u4e86\u5199\u5c0f\u8bf4\u7684\u5de5\u4f5c\u6d41\uff1a\u5b9a\u5c0f\u8bf4\u63d0\u7eb2 - \u641c\u7d22\u8c37\u6b4c\u53cd\u601d\u63d0\u7eb2 - \u64b0\u5199\u5c0f\u8bf4\u5185\u5bb9 - \u4fdd\u5b58\u4e3amd\u6587\u4ef6 |\n| [examples/38_workflow_write_tutorial_demo.py](https://github.com/shibing624/agentica/blob/main/examples/38_workflow_write_tutorial_demo.py) | \u5b9e\u73b0\u4e86\u5199\u6280\u672f\u6559\u7a0b\u7684\u5de5\u4f5c\u6d41\uff1a\u5b9a\u6559\u7a0b\u76ee\u5f55 - \u53cd\u601d\u76ee\u5f55\u5185\u5bb9 - \u64b0\u5199\u6559\u7a0b\u5185\u5bb9 - \u4fdd\u5b58\u4e3amd\u6587\u4ef6 |\n| [examples/39_audio_multi_turn_demo.py](https://github.com/shibing624/agentica/blob/main/examples/39_audio_multi_turn_demo.py) | \u57fa\u4e8eopenai\u7684\u8bed\u97f3api\u505a\u591a\u8f6e\u97f3\u9891\u5bf9\u8bdd\u7684Demo |\n\n\n### Self-evolving Agent\nThe self-evolving agent design:\n\n<img alt=\"LLM OS\" src=\"https://github.com/shibing624/agentica/blob/main/docs/sage_arch.png\" width=\"800\" />\n\n#### Feature\n\n\u5177\u6709\u53cd\u601d\u548c\u589e\u5f3a\u8bb0\u5fc6\u80fd\u529b\u7684\u81ea\u6211\u8fdb\u5316\u667a\u80fd\u4f53(self-evolving Agents with Reflective and Memory-augmented Abilities, SAGE)\n\n\u5b9e\u73b0\u65b9\u6cd5:\n\n1. \u4f7f\u7528PythonAgent\u4f5c\u4e3aSAGE\u667a\u80fd\u4f53\uff0c\u4f7f\u7528AzureOpenAIChat\u4f5c\u4e3aLLM, \u5177\u5907code-interpreter\u529f\u80fd\uff0c\u53ef\u4ee5\u6267\u884cPython\u4ee3\u7801\uff0c\u5e76\u81ea\u52a8\u7ea0\u9519\u3002\n2. \u4f7f\u7528CsvMemoryDb\u4f5c\u4e3aSAGE\u667a\u80fd\u4f53\u7684\u8bb0\u5fc6\uff0c\u7528\u4e8e\u5b58\u50a8\u7528\u6237\u7684\u95ee\u9898\u548c\u7b54\u6848\uff0c\u4e0b\u6b21\u9047\u5230\u76f8\u4f3c\u7684\u95ee\u9898\u65f6\uff0c\u53ef\u4ee5\u76f4\u63a5\u8fd4\u56de\u7b54\u6848\u3002\n\n#### Run Self-evolving Agent App\n\n```shell\ncd examples\nstreamlit run 33_self_evolving_agent_demo.py\n```\n\n<img alt=\"sage_snap\" src=\"https://github.com/shibing624/agentica/blob/main/docs/sage_snap.png\" width=\"800\" />\n\n\n### LLM OS\nThe LLM OS design:\n\n<img alt=\"LLM OS\" src=\"https://github.com/shibing624/agentica/blob/main/docs/llmos.png\" width=\"800\" />\n\n#### Run the LLM OS App\n\n```shell\ncd examples\nstreamlit run 34_llm_os_demo.py\n```\n\n<img alt=\"LLM OS\" src=\"https://github.com/shibing624/agentica/blob/main/docs/llm_os_snap.png\" width=\"800\" />\n\n## \u260e\ufe0f Contact\n\n- Issue(\u5efa\u8bae)\n \uff1a[](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## \ud83d\ude07 Citation\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```\n@misc{Xu_agentica,\n title={agentica: A Human-Centric Framework for Large Language Model Agent Workflows},\n author={Xu Ming},\n year={2024},\n howpublished={\\url{https://github.com/shibing624/agentica}},\n}\n```\n\n## \u26a0\ufe0f License\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## \ud83d\ude0d Contribute\n\n\u9879\u76ee\u4ee3\u7801\u8fd8\u5f88\u7c97\u7cd9\uff0c\u5982\u679c\u5927\u5bb6\u5bf9\u4ee3\u7801\u6709\u6240\u6539\u8fdb\uff0c\u6b22\u8fce\u63d0\u4ea4\u56de\u672c\u9879\u76ee\uff0c\u5728\u63d0\u4ea4\u4e4b\u524d\uff0c\u6ce8\u610f\u4ee5\u4e0b\u4e24\u70b9\uff1a\n\n- \u5728`tests`\u6dfb\u52a0\u76f8\u5e94\u7684\u5355\u5143\u6d4b\u8bd5\n- \u4f7f\u7528`python -m pytest`\u6765\u8fd0\u884c\u6240\u6709\u5355\u5143\u6d4b\u8bd5\uff0c\u786e\u4fdd\u6240\u6709\u5355\u6d4b\u90fd\u662f\u901a\u8fc7\u7684\n\n\u4e4b\u540e\u5373\u53ef\u63d0\u4ea4PR\u3002\n\n## \ud83d\udc95 Acknowledgements\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": "0.2.3",
"project_urls": {
"Homepage": "https://github.com/shibing624/agentica"
},
"split_keywords": [
"agentica",
" agent tool",
" action",
" agent",
" agentica"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d9b405e9fae733ee4d13323465031ad465f96dbdced213ea8580ea9523b98129",
"md5": "faa28b9fad0df150dd27ea8807c4b386",
"sha256": "852feeb635dad9a03297338a99a559a4418dd368b54d65ae33a64b2ac9b64d70"
},
"downloads": -1,
"filename": "agentica-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "faa28b9fad0df150dd27ea8807c4b386",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.0",
"size": 206762,
"upload_time": "2024-12-29T05:40:38",
"upload_time_iso_8601": "2024-12-29T05:40:38.133680Z",
"url": "https://files.pythonhosted.org/packages/d9/b4/05e9fae733ee4d13323465031ad465f96dbdced213ea8580ea9523b98129/agentica-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-29 05:40:38",
"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": "markdownify",
"specs": []
},
{
"name": "openai",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "pydantic",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "sqlalchemy",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "text2vec",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "yaml",
"specs": []
},
{
"name": "rich",
"specs": []
}
],
"lcname": "agentica"
}