使用OpenAI的SDK可以通过OpenAI定义的API格式便捷的调用大语言模型,同时随着更多厂商的大语言模型的发布,最早因发布GPT3.5而一炮走红的OpenAI定义的大语言模型调用接口也被支持的更加完善。
对于使用Python OpenAI SDK的项目而言,SDK的支持性是很全面的。
但是对于使用NodeJS OpenAI SDK的项目而言,则稍差一些
NodeJS OpenAI SDK目前没有计划在ChatCompletionCreateParamsNonStreaming和ChatCompletionCreateParamsStreaming中添加extra_body
extra_body parameter support · Issue #924 · openai/openai-node
对于提供大语言模型的厂商而言,控制深度思考大都是用类似以下方式控制
extra_body={
"thinking": {
"type": "disabled" # 不使用深度思考能力
# "type": "enabled" # 使用深度思考能力
}
}
而NodeJS OpenAI SDK目前又没有添加extra_body的计划,如果要在extra_body中传入一些内容或者想要关闭深度思考使用如下示例即可:
// @ts-expect-error
openai.chat.completions.create({messages,
model: 'ARK_API_MODEL',
stream: true,
thinking: {
type: 'disabled',
},
});
openai/openai-node:OpenAI API 的官方 JavaScript / TypeScript 库
因为NodeJS OpenAI SDK 并没有给对应的参数做校验,因此直接在传入的ChatCompletionCreateParamsNonStreaming对象中添加extra_body中的内容即可(注意不需要嵌套extra_body对象)。
同时使用@ts-expect-error关闭ts校验对象。