当前位置: 首页 > news >正文

5.3 用Assistants API实现多轮Function Calling

5.3 用 Assistants API 实现多轮 Function Calling

本节学习目标

  • Assistants API中为助手配置多个 Function(与 5.1 相同的定义格式)。
  • 理解 Run 中requires_actionsubmit_tool_outputs的配合,实现多轮工具调用而不自己维护 messages 循环。
  • 能跑通或改编一段「助手 + 多工具、多轮调用」的示例代码。

一、Assistants 里怎么挂工具

创建或更新 Assistant 时,在tools里传入函数列表,例如:

tools=[{"type":"function","function":{"name":"get_order","description":"...","parameters":{...}}},{"type":"function","function":{"name":"get_weather","description":"...","parameters":{...}}},]assistant=client.beta.assistants.create(...,tools=tools)

之后在该助手的 Run 中,若模型决定调工具,Run 状态会变为requires_action,不会直接 completed。


二、Run 轮询中处理 requires_action

  1. runs.retrieve(thread_id, run_id)得到run.status == "requires_action"
  2. run.required_action.submit_tool_outputs.tool_calls取出每个tool_callidfunction.namefunction.arguments
  3. 在你本地根据 name 执行对应函数,用 arguments(JSON 字符串)解析出参数并调用。
  4. 调用runs.submit_tool_outputs(thread_id, run_id, tool_outputs=[{"tool_call_id": id, "output": "结果文本"}])
  5. 继续轮询,直到status == "completed"(或再次 requires_action,重复 2~4)。

这样多轮工具调用由 API 内部与你的 submit 配合完成,无需自己拼 messages。


三、可运行完整示例(需 API Key)

以下为完整可运行代码:定义两个工具(get_order、get_weather)、创建带工具的 Assistant、发消息后 Run 并在轮询中处理 requires_action,直到 completed 后取回复。请先pip install openai并设置OPENAI_API_KEY

""" Assistants API 多轮 Function Calling 完整示例。 依赖: pip install openai;环境: OPENAI_API_KEY 运行: python assistants_tools_demo.py """
http://www.jsqmd.com/news/373373/

相关文章:

  • 2026年正规江南汽车/湖北江南专用汽车推荐几家可靠供应商参考 - 品牌宣传支持者
  • **解锁Agent智能体新纪元:自主协作、任务分解与人类意图对齐的终极指南**
  • 手持式雷达流速仪水文雷达测速仪
  • 智慧公厕哪家可靠? - 博客湾
  • 对比一圈后!更贴合专科生的降AIGC平台 千笔·专业降AI率智能体 VS 文途AI
  • 输入新老客户获客成本与复购,计算新客户生命周期价值更高。
  • 并行编程实战——CUDA编程的并行前缀和
  • 2026年热门的烤漆视觉点胶机/喷射阀视觉点胶机值得信赖厂家推荐(精选) - 品牌宣传支持者
  • 2026年靠谱的塑料金属分离器厂家选购攻略与推荐 - 品牌鉴赏师
  • 科研党收藏!更贴合专科生的降AIGC软件 千笔·专业降AI率智能体 VS 灵感ai
  • 导师推荐!AI论文软件 千笔·专业学术智能体 VS 知文AI,自考写作文首选
  • 2026年知名的野奢民宿设计/酒店民宿设计高分推荐 - 品牌宣传支持者
  • 2026年热门的注塑母料/吹膜母料厂家用户好评推荐 - 品牌宣传支持者
  • 2026年热门的圆形纸碗/航空纸碗厂家采购参考指南 - 品牌宣传支持者
  • 2026 年春节档必看热门电影口碑推荐与选择建议及观影指南 - 博客万
  • 智慧公厕哪家值得选?从技术、产品到案例的全维度解析 - 博客湾
  • 26年湛江高一期末统考考试第19题 三角函数零点
  • 【SPIE出版 | EI检索】第六届数字信号与计算通信国际学术会议(DSCC 2026)
  • 聚焦电子取证效率:2026年值得关注的介质预检恢复工作台,数据恢复/光盘抛光修复工具,电子取证厂商哪个好 - 品牌推荐师
  • 从零开始:C#单文件AOT打包前后端分离项目
  • 2026年口碑好的防紫外线汽车窗,隔热汽车窗膜,防晒汽车窗膜公司选型推荐指南 - 品牌鉴赏师
  • pytest 并行策略的探索
  • 给 Claude 装个仪表盘,时刻监测Token消耗跟任务进度
  • 9后端Web实战
  • 2026武汉空调维修服务商实力TOP10:全场景维保的价值之选 - 博客万
  • 2026年热门的自锁式不锈钢扎带/L型不锈钢扎带厂家实力与用户口碑参考 - 品牌宣传支持者
  • 讲讲服务不错的家用别墅电梯工厂,口碑好的选哪家 - 工业推荐榜
  • 2026年行业内靠谱的ISO认证办理机构找哪家,ISO27001认证/产品测试报告,ISO认证代办公司怎么选择 - 品牌推荐师
  • 写作压力小了,AI论文写作软件 千笔·专业论文写作工具 VS 学术猹,研究生必备!
  • HoRain云--编写程序计算多个连续格式数字之和,如a + aa + aaa + ... + a...a。