嘿,大家好,
我很激动地告诉你们,我的开源库Atomic Agents现在已经在Product Hunt上了!我一直努力打造一个框架工具,让开发多智能体系统变得更简单。所以,这个框架让每个人都能更轻松地开发多智能体系统。
原子特工是什么?Atomic Agents 是一个开源库,旨在帮助您构建多代理系统。提供了创建能够执行从简单搜索到复杂计算等各项任务的代理所需的各种工具和接口。我们的目标是让开发人员更轻松地创建智能且协作性强的代理,而无需深入复杂的提示设计。
下列为主要特点- 易于使用的:Atomic Agents 设计为易于使用。你可以快速开始并用最少的设置创建强大的代理。
- 灵活的:该库支持多种工具,并可以扩展以包含自定义功能。
- 集成的:Atomic Agents 与流行库如 OpenAI 和 Instructor 配合良好,提供了开发智能代理的丰富生态系统。
- 开源的:作为一个开源项目,Atomic Agents 鼓励社区贡献和协作。你可以访问源代码并在 GitHub 上为项目做出贡献。
要开始使用Atomic Agents,请跟随我们的快速上手指南。这里有个简短的介绍:
安装所需包首先,我们需要安装一些必要的软件包。
pip install atomic-agents openai instructor # 安装atomic-agents、openai和instructor这三个库
注释:导入所需的库
接下来,我们需要导入一些必要的库:
# 基于Python的原子代理工具和代理配置导入脚本
# 导入必要的库和配置文件
import os
from typing import Union
import instructor
import openai
from pydantic import create_model
from rich.console import Console
from atomic_agents.agents.base_chat_agent import BaseAgentIO, BaseChatAgent, BaseChatAgentConfig
# 导入基础聊天代理相关类和配置
from atomic_agents.agents.tool_interface_agent import ToolInterfaceAgent, ToolInterfaceAgentConfig
# 导入工具接口代理相关类和配置
from atomic_agents.lib.tools.search.searx_tool import SearxNGSearchTool, SearxNGSearchToolConfig
# 导入搜索工具相关类和配置
from atomic_agents.lib.tools.calculator_tool import CalculatorTool, CalculatorToolConfig
# 导入计算器工具相关类和配置
初始化这些组件
先设置好所需的组件,例如客户端、工具和代理:
# 初始化控制台用于输出
console = Console()
# 初始化客户端实例
client = instructor.from_openai(openai.OpenAI())
# 初始化SearxNG搜索
searx_tool = SearxNGSearchTool(SearxNGSearchToolConfig(base_url=os.getenv('SEARXNG_BASE_URL'), max_results=10))
# 初始化计算器
calc_tool = CalculatorTool(CalculatorToolConfig())
创建和配置代理程序
配置和创建代理:
# 配置搜索引擎代理
search_agent_config = 工具接口代理配置类(client=client, model='gpt-3.5-turbo', tool_instance=searx_tool, return_raw_output=False)
# 配置计算器代理
calculator_agent_config = 工具接口代理配置类(client=client, model='gpt-3.5-turbo', tool_instance=calc_tool, return_raw_output=False)
# 创建搜索引擎代理和计算器代理实例
searx_agent = 工具接口代理(config=search_agent_config)
calc_agent = 工具接口代理(config=calculator_agent_config)
定义联合响应方案
创建一个联合响应方案,来处理来自两个代理的响应。
# 定义一个联合响应模型
UnionResponse = create_model('UnionResponse', __base__=BaseAgentIO, response=(Union[searx_agent.input_schema, calc_agent.input_schema], ...))
主要聊天循环
最后,创建一个主聊天循环以便与协调代理进行交流。
while True:
user_input = input('你:')
if user_input.lower() in ['exit', 'quit']:
print('退出聊天程序...')
break
response = orchestration_agent.run(orchestration_agent.input_schema(chat_message=user_input))
console.print(f'机器人: {response.response}')
if isinstance(response.response, searx_agent.input_schema):
console.print(f'正在使用 searx 插件')
response = searx_agent.run(response.response)
elif isinstance(response.response, calc_agent.input_schema):
console.print(f'正在使用 calc 插件')
response = calc_agent.run(response.response)
console.print(f'机器人: {response.chat_message}')
加入我们
我们诚邀您加入我们的开发者和AI爱好者日益增长的社区。分享您的项目,,分享意见,并为Atomic Agents的发展做出贡献。一起,我们可以推动多代理系统可以达到的新高度。
访问我们的GitHub仓库以开始体验,并别忘了查看我们的Product Hunt页面,为我们点赞支持!
感谢你加入这段激动人心的旅程。让我们一起构建智能代理的未来!
如果你在寻找一位有经验的自由职业建筑师/开发者/负责人/主管,或者你希望开发一个概念验证,甚至如果你只是想获得关于实施AI的战略建议,我就是你要找的那个人!
可以在LinkedIn上联系我,或者您也可以直接通过电子邮件联系我,地址是**[kenny.vaneetvelde@gmail.com**](mailto:kenny.vaneetvelde@gmail.com),如果您有任何想要我参与的项目,欢迎随时联系我。
我是,Kennyyy
共同学习,写下你的评论
评论加载中...
作者其他优质文章