OpenAI SDK中的tools和functions

OpenAI SDK中的tools和functions的主要区别如下:

tools

  • 在聊天补全API中是一个可选参数,用于定义指定的函数调用[5]
  • 目的是让模型生成遵循指定规范的函数参数[5]
  • API实际上不执行任何函数调用,需要开发者在使用模型输出时自行执行[5]
  • 可以通过设置tool_choice参数强制调用指定函数或不调用任何函数[5]
  • 如果使用了函数,输出将包含"finish_reason": "function_call"以及函数名称和参数的tool_choice对象[5]
  • 已经取代了之前的functions参数[4]

functions

  • 已被弃用,现已被tools取代,不再推荐使用,tools是未来的方式[4]
  • 之前用于提供模型可能生成JSON输入的函数列表[4]

总之,tools是OpenAI SDK中新的、更灵活的方式,用于定义模型可以调用的外部函数。相比之前的functions参数,tools提供了更多的控制和定制化选项。开发者应该使用tools而不是functions来扩展模型的功能。

Citations:
[1] https://blog.csdn.net/longwo888/article/details/135353091
[2] https://github.com/THUDM/ChatGLM3/issues/609
[3] https://juejin.cn/post/7350876924393324582
[4] https://community.openai.com/t/functions-vs-tools-what-is-the-difference/603277
[5] https://blog.csdn.net/jacbo/article/details/136120166
[6] https://www.openaidoc.com.cn/api-reference/Assistants_tools
[7] https://learn.microsoft.com/zh-cn/azure/ai-services/openai/how-to/function-calling
[8] https://openai.xiniushu.com/docs/models

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值