Autogen实战:手把手教你用Python打造智能计算器工具(附完整代码)
在Python生态中,Autogen正迅速成为构建智能代理的首选框架。不同于传统脚本,Autogen允许开发者创建能够自主决策、调用工具并处理复杂任务的AI代理。今天我们将深入探讨如何利用Autogen框架构建一个具备数学计算能力的智能代理系统,从基础函数定义到复杂表达式处理,全程代码可实操。
1. 环境准备与基础配置
开始前需要确保已安装最新版Autogen库。推荐使用Python 3.10+环境,通过以下命令安装:
pip install pyautogen
基础配置需要准备LLM模型连接参数。这里以GLM-4-Plus模型为例(可替换为其他兼容模型):
import os
from autogen import ConversableAgent
llm_config = {
"config_list": [{
"model": "GLM-4-Plus",
"api_key": "your_api_key_here",
"base_url": "https://open.bigmodel.cn/api/paas/v4/"
}],
"timeout": 120
}
注意:实际部署时应通过环境变量管理API密钥,避免硬编码
2. 核心计算引擎实现
计算器工具的核心是精确的数学运算函数。我们采用类型注解增强代码健壮性:
from typing import Annotated, Literal
from pydantic import BaseModel, Field
Operator = Literal["+", "-", "*", "/"]
class CalculatorInput(BaseModel):
a: Annotated[int, Field(description="左运算数")]
b: Annotated[int, Field(description="右运算数")]
operator: Annotated[Operator, Field(description="运算符")]
def calculator(input: CalculatorInput) -> int:
"""执行基础四则运算"""
match input.operator:
case "+": return input.a + input.b
case "-": return input.a - input.b
case "*": return input.a * input.b
case "/": return input.a // input.b # 整数除法
case _: raise ValueError("无效运算符")
关键改进点:
- 使用Pydantic模型进行输入验证
- 采用Python 3.10+的match-case结构
- 明确定义运算符字面量类型
3. 智能代理系统搭建
创建协作式双代理系统:用户代理处理执行,助手代理负责逻辑分解:
# 助手代理配置
assistant = ConversableAgent(
name="MathAssistant",
system_message="你是一个专业数学助手,能分解复杂表达式为基本运算步骤。"
"完成计算后必须返回包含TERMINATE的最终结果。",
llm_config=llm_config,
max_consecutive_auto_reply=

986

被折叠的 条评论
为什么被折叠?



