【论文】
•任务解决: 该框架将多个智能体组装成一个自动的多智能体系统(AgentVerse-Tasksolving, Multi-agent as system),以协作完成相应的任务。 应用: 软件开发系统、咨询系统等。
•仿真: 该框架允许用户设置自定义环境,以观察或与多个智能体互动。⚠️⚠️⚠️ 我们正在重构代码。如果您需要一个仅支持仿真框架的稳定版本,可以使用release-0.1
分支。应用: 游戏、基于LLM的智能体的社会行为研究等。
📰 最新消息
•[2024/3/17] AgentVerse 在NVIDIA的博客中被介绍 —— 构建您的第一个LLM智能体应用。•[2024/1/17] 我们非常兴奋地宣布,我们的论文已被接收在 ICLR 2024 上发表。更多更新即将来临!•[2023/10/17] 我们非常兴奋地分享我们的开源AI社区hugging face: AgentVerse。您可以使用openai API密钥和openai组织的代码试用两个仿真应用,NLP Classroom和Prisoner’s Dilemma。玩得开心!•[2023/10/5] 重构我们的代码库以支持仿真和任务解决框架的部署!我们已将Minecraft示例的代码放在minecraft分支上。我们的工具使用示例将很快更新到主分支。敬请期待!•[2023/8/22] 我们兴奋地分享我们的论文AgentVerse: 详细介绍AgentVerse中任务解决框架的多智能体协作与探索智能体中的突现行为。•[2023/6/5] 我们兴奋地展示一系列示范,包括NLP Classroom、Prisoner Dilemma、软件设计、数据库管理员,以及一个简单的H5 Pokemon Game,可以与Pokemon中的角色互动!尝试这些示范并享受乐趣!•[2023/5/1] 🚀 AgentVerse 正式启动!
🗓 即将到来
•论文[1]的代码发布•添加对本地LLM(LLaMA, Vicunna等)的支持•添加文档•支持更复杂的对话历史记忆
内容
•📰 最新消息•🗓 即将到来•内容•🚀 开始使用•安装•环境变量•仿真•框架所需模块•CLI示例•GUI示例•任务解决•框架所需模块•CLI示例•本地模型支持•vLLM支持•FSChat支持1.安装额外的依赖项2.启动本地服务器3.修改配置文件•AgentVerse 展示•仿真展示•任务解决展示•🌟 加入我们!•如何贡献?
🚀 开始使用
安装
手动安装(推荐!)
确保您的Python版本 >= 3.9
git clone https://github.com/OpenBMB/AgentVerse.git --depth 1``cd AgentVerse``pip install -e .
如果您想在本地使用诸如LLaMA之类的模型,您还需要安装一些其他依赖:
pip install -r requirements_local.txt
通过pip安装
您也可以通过pip进行安装
pip install -U agentverse
环境变量
您需要按以下方式导出您的OpenAI API密钥:
# 导出您的OpenAI API密钥``export OPENAI_API_KEY="your_api_key_here"
如果您想使用Azure OpenAI服务,请按以下方式导出您的Azure OpenAI密钥和OpenAI API基础地址:
export AZURE_OPENAI_API_KEY="your_api_key_here"``export AZURE_OPENAI_API_BASE="your_api_base_here"
仿真
框架所需模块
agentverse``agents``simulation_agent``environments``simulation_env
CLI示例
您可以创建我们提供的多智能体环境。以教室场景为例,在此场景中,有九个智能体,一个扮演教授的角色,其他八个作为学生。
agentverse-simulation --task simulation/nlp_classroom_9players
GUI示例
我们还为此环境提供了一个本地网站演示。您可以通过以下命令启动它:
agentverse-simulation-gui --task simulation/nlp_classroom_9players
成功启动本地服务器后,您可以访问 http://127.0.0.1:7860/ 来查看教室环境。
如果您想运行带工具的仿真案例(例如,simulation/nlp_classroom_3players_withtool),您需要按以下方式安装BMTools:
git clone git+https://github.com/OpenBMB/BMTools.git``cd BMTools``pip install -r requirements.txt``python setup.py develop
这是可选的。如果您不安装BMTools,不带工具的仿真案例仍可以正常运行。
任务解决
框架所需模块
- agentverse``- agents``- simulation_env``- environments``- tasksolving_env
CLI示例
要运行我们论文[2]中提出的任务解决环境的实验,您可以使用以下命令:
运行基于AgentVerse的基准数据集,您可以尝试
`# 使用gpt-3.5-turbo运行Humaneval基准(配置文件`agentverse/tasks/tasksolving/humaneval/gpt-3.5/config.yaml`)```agentverse-benchmark --task tasksolving/humaneval/gpt-3.5--dataset_path data/humaneval/test.jsonl --overwrite
运行AgentVerse在特定问题上的命令,您可以尝试
`# 运行单个查询(配置文件`agentverse/tasks/tasksolving/brainstorming/gpt-3.5/config.yaml`)。任务在配置文件中指定。```agentverse-tasksolving --task tasksolving/brainstorming
要运行我们论文中介绍的使用工具的案例,例如,多智能体使用工具如网络浏览器、Jupyter笔记本、bing搜索等,您首先可以构建由XAgent[3]提供的ToolsServer。您可以按照他们的指导[4]构建并运行ToolServer。
构建并启动ToolServer后,您可以使用以下命令运行带工具的任务解决案例:
agentverse-tasksolving --task tasksolving/tool_using/24point
我们在agentverse/tasks/tasksolving/tool_using/中提供了更多任务,展示了多智能体如何使用工具解决问题。
此外,您可以查看agentverse/tasks/tasksolving以了解我们论文中进行的更多实验。
本地模型支持
vLLM支持
如果您想使用vLLM,请按照此处[5]的指导安装并设置vLLM服务器,该服务器用于处理较大的推理工作负载。创建以下环境变量以连接到vLLM服务器:
export VLLM_API_KEY="your_api_key_here"``export VLLM_API_BASE="http://your_vllm_url_here"
然后修改任务配置文件中的模型
,使其与vLLM服务器中的模型名称匹配。例如:
model_type: vllm``model: llama-2-7b-chat-hf
FSChat支持
此部分提供了将FSChat集成到AgentVerse的逐步指导。FSChat是一个支持在您本地机器上运行的本地模型如LLaMA、Vicunna等的框架。
1. 安装额外的依赖
如果您想使用LLaMA等本地模型,您需要安装一些其他依赖:
pip install -r requirements_local.txt
2. 启动本地服务器
然后根据您的需求修改MODEL_PATH
和MODEL_NAME
,使用以下命令启动本地服务器:
bash scripts/run_local_model_server.sh
该脚本将为Llama 7B聊天模型启动服务。AgentVerse当前支持的MODEL_NAME
包括llama-2-7b-chat-hf
, llama-2-13b-chat-hf
, llama-2-70b-chat-hf
, vicuna-7b-v1.5
, 和vicuna-13b-v1.5
。如果您希望集成与FastChat兼容的其他模型[6],您需要:
1.将新的MODEL_NAME
添加到agentverse/llms/init.py
中的LOCAL_LLMS
。2.在agentverse/llms/init.py
文件中的LOCAL_LLMS_MAPPING
中添加新的MODEL_NAME
到其对应的Huggingface标识符的映射。
3. 修改配置文件
在您的配置文件中,设置llm_type
为local
,model
为MODEL_NAME
。例如:
llm:` `llm_type: local` `model: llama-2-7b-chat-hf``...
您可以参考agentverse/tasks/tasksolving/commongen/llama-2-7b-chat-hf/config.yaml
以获得更详细的示例。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。