8.3 工具执行与结果处理
8.3.1 工具执行流程
8.3.2 参数验证
def validate_params(tool_name, params, schema):
# 检查必需参数
for required in schema.get("required", []):
if required not in params:
raise ValueError(f"缺少必需参数: {required}")
# 检查参数类型
for key, value in params.items():
expected_type = schema["properties"][key]["type"]
if not isinstance(value, TYPE_MAP[expected_type]):
raise TypeError(f"参数 {key} 类型错误")
# 检查枚举值
for key, value in params.items():
if "enum" in schema["properties"][key]:
if value not in schema["properties"][key]["enum"]:
raise ValueError(f"参数 {key} 值无效")8.3.3 执行策略
同步执行
异步执行
超时控制
8.3.4 结果格式化
8.3.5 错误处理
错误类型分类
错误类型
处理方式
反馈给模型
错误信息模板
8.3.6 结果注入上下文
8.3.7 结果压缩
8.3.8 多轮工具调用
8.3.9 安全考虑
8.3.10 高级工具执行技术
工具搜索工具
编程式工具调用
技术
适用场景
8.3.11 工程实战:端到端数据分析助手
8.3.12 核心指标与评估
指标
目标值(示意)
说明
最后更新于
