主题
使用 shbagents 创建我们的第一个智能体
在本教程中,你将创建你的第一个智能体 !
让我们开始吧!
安装 shbagents
首先,我们需要安装 shbagents 库:
bash
pip install shbagents第一步:导入必要的模块
让我们从导入必要的模块开始:
python
from shbagents import Agent, OpenAIModel, tool第二步:创建自定义工具
智能体的强大之处在于它能够使用工具。让我们创建一个简单的数字比较工具:
python
@tool
def compare_numbers_tool(a: float, b: float) -> str:
"""比较两个数的大小"""
if a > b:
return f"{a} 比 {b} 大"
elif a < b:
return f"{a} 比 {b} 小"
else:
return f"{a} 和 {b} 相等"这个工具:
- 使用
@tool装饰器来标记这是一个智能体可以使用的工具 - 接受两个浮点数参数
a和b - 返回比较结果的中文描述
- 包含详细的文档字符串,帮助 LLM 理解工具的用途
第三步:配置语言模型
接下来,我们需要配置要使用的语言模型:
python
model = OpenAIModel(
model_id="openai/gpt-5"
)提示
你需要设置 OpenAI API 密钥 才能使用这个模型。可以通过环境变量 OPENAI_API_KEY 设置。
第四步:创建智能体
现在我们可以创建智能体了:
python
agent = Agent(
model=model,
tools=[
compare_numbers_tool
]
)智能体由以下组件构成:
- 模型 (model):用于推理和决策的
LLM - 工具 (tools):智能体可以调用的功能列表
第五步:运行智能体
最后,让我们测试一下我们的智能体:
python
result = agent.run("9.11 比 9.8 大么, 请使用工具比较")
print(result)完整代码示例
下面是完整的代码:
python
from shbagents import Agent, OpenAIModel, tool
# 或者根据您的环境使用: from shbagents import Agent, OpenAIModel, tool
@tool
def compare_numbers_tool(a: float, b: float) -> str:
"""比较两个数的大小"""
if a > b:
return f"{a} 比 {b} 大"
elif a < b:
return f"{a} 比 {b} 小"
else:
return f"{a} 和 {b} 相等"
model = OpenAIModel(
model_id="openai/gpt-4"
)
agent = Agent(
model=model,
tools=[
compare_numbers_tool
]
)
# 运行智能体
result = agent.run("9.11 比 9.8 大么, 请使用工具比较")
print(result)预期输出
当你运行这段代码时,智能体会:
- 理解问题:分析你的问题 "9.11 比 9.8 大么"
- 选择工具:决定使用
compare_numbers_tool来解决这个问题 - 调用工具:使用参数
a=9.11和b=9.8调用工具 - 获得结果:工具返回 "9.11 比 9.8 大"
- 生成响应:基于工具的结果生成最终答案
理解智能体的工作流程
这个例子展示了智能体基于 ReAct(思考-行动-观察)循环 的核心工作流程:
加载图表中...
ReAct 循环的三个核心阶段:
🤔 思考 (Thought):
- 智能体分析用户问题:"需要比较 9.11 和 9.8 的大小"
- 制定计划:"我有
compare_numbers_tool工具可以完成这个任务" - 决定行动:"调用工具进行精确比较"
⚡ 行动 (Action):
- 执行具体操作:调用
compare_numbers_tool(a=9.11, b=9.8) - 使用合适的参数调用选定的工具
- 执行具体操作:调用
👀 观察 (Observation):
- 接收工具返回结果:" 9.11 比 9.8 大 "
- 评估结果质量:结果准确且完整
- 判断是否需要进一步行动:任务已完成
为什么使用 ReAct 循环?
- 准确性:通过工具调用避免了
LLM在数值计算上的潜在错误 - 可靠性:即使是简单的比较,也通过专门的工具确保结果正确
- 可扩展性:这个模式可以应用于更复杂的任务
恭喜你,你已经构建了你的第一个智能体!
不要犹豫,与你的朋友和同事分享吧。
最好的学习方法是尝试,所以不要犹豫,去更新它,添加更多工具,尝试使用另一个模型,等等。
🎉 恭喜完成第 1 单元!
你已经成功完成了 AI 智能体的基础学习!现在你已经:
- ✅ 理解了智能体的核心概念
- ✅ 掌握了 LLM 和工具的基础知识
- ✅ 学会了(思考-行动-观察) 循环
- ✅ 创建了你的第一个智能体