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 高级工具执行技术
Tool Search Tool(工具搜索工具)
Programmatic Tool Calling(编程式工具调用)
技术
适用场景
8.3.11 工程实战:端到端数据分析助手
8.3.12 核心指标与评估
指标
目标值
说明
Last updated
