跳转到主要内容
工具调用让模型选择由你的应用执行的函数。模型只生成调用意图和参数,不会替你访问数据库、发送邮件或执行命令。

调用流程

  1. 在请求中发送工具名称、说明和 JSON 参数结构。
  2. 模型返回工具调用及参数。
  3. 应用校验参数、权限和用户意图。
  4. 应用执行工具并记录审计信息。
  5. 将工具结果作为后续消息返回模型,获取最终答复。

请求示例

发送到 POST https://api.apione.ai/v1/chat/completions。只有目标模型和线路支持工具调用时才使用这些字段;先查询模型参数。

解析与校验

回复正文可能为空,工具请求通常位于 choices[].message.tool_calls。不要直接执行模型生成的字符串:先解析 JSON,验证工具名、字段类型、枚举、长度和权限。

安全边界

  • 工具名使用白名单,未知工具直接拒绝。
  • 文件、命令、支付、删除和外部消息属于高风险操作,应要求额外确认。
  • 服务端重新计算用户权限,不信任模型传入的用户 ID 或金额。
  • 设置执行超时、最大返回大小和速率限制。
  • 工具结果中移除密钥、内部错误栈和无关个人数据。

常见问题

完整 Python 示例

示例由程序执行温度换算,再将结果回传给模型。先安装依赖,并按 快速开始 设置 APIONE_API_KEY 和支持工具调用的 APIONE_MODEL。保存代码为 tool_demo.py,运行 python tool_demo.py。
本地函数对 25°C 返回 77°F;模型的最终措辞由实际响应决定。每条工具结果的 tool_call_id 对应原调用的 id,必须保留工具调用消息与全部结果。示例最多执行 4 轮、每轮 8 个工具调用,并关闭 SDK 自动重试。费用以实际请求记录为准。 下一步:结构化输出、模型参数、错误排查、请求跟踪、超时与重试。