最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
openaicreateChatCompletion函数使用实例
时间:2026-09-21 16:40:01 编辑:袖梨 来源:一聚教程网
实现过程
最近在尝试openai的相关函数,所以今天就来盘点盘点下 createChatCompletion 函数,听说是专门为了聊天创立的api,看看是要怎么用的?
1、前期的引入和配置密钥
这里我就简单带过了,可以看我之前的文章,引入过程大同小异。
cnpm install openai // 下载const { Configuration, OpenAIApi } = require("openai");// 在项目里通过require引入// 设置密钥const configuration = new Configuration({ apiKey: aikey}); const openai = new OpenAIApi(configuration);2、具体的使用
const completion = await openai.createChatCompletion({model: "gpt-3.5-turbo",messages: [{role: "user", content: "Hello world", name: "sanwu"}],});接口返回的信息在这里 console.log(completion.data.choices[0].message);
3、细节讲解
(1)关键参数
model 这里是选用聊天的模型,每个模型都有它对应的领域,聊天的话,基本上我们选用下图的/v1/chat/completions行的模型,有gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301等模型可以选中。
messages 这里是定义发起消息者的角色定位、姓名、具体消息内容。
角色定位和消息内容是必须的参数。想想也是,聊天过程中,文本内容是基本,而要正确理解文本的含义,通常我们会结合对方的角色定位来综合考虑,所以这两者是必须的,反倒是姓名,一般来说不会影响到回复结果,所以仅仅是记录一下,是非必须参数。
(2)openai通用参数
temperature 控制结果的随机性,范围在0~2, 0是固定结果,值越大结果越随机。
top_p 跟temperature类似,不过值在0~1之间,默认值为1,如果设置成0.1,则代表取得是前10%概率质量的结果。
n 每个问题prompt要给的答案数,这里设置多了,会快速消耗配额的。
stream 是否返回部分进度。
stop 最大长度为4的字符串列表,一旦生成的tokens包含其中的内容,将停止生成并返回结果。
max_tokens 生成结果时的最大tokens数,不能超过模型的上下文长度,一般最大可设置为2048,新的gpt-4似乎就是4096。
presence_penalty 主题的重复度,区间也是-2~2, -2的重复度最高。
frequency_penalty 字符的重复度,区间是-2~2, -2的重复字符最多。
logit_bias 修改指定标记出现在完成中的可能性。 接受一个 json 对象,该对象将标记(由标记器中的标记 ID 指定)映射到从 -100 到 100 的关联偏差值。从数学上讲,偏差会在采样之前添加到模型生成的 logits 中。确切的效果因模型而异,但 -1 和 1 之间的值应该会减少或增加选择的可能性;像 -100 或 100 这样的值应该导致相关令牌的禁止或独占选择。
相关文章
- ThinkPHP5中如何实现模板完全静态化详解 09-21
- PHP实现给用户发微信消息提醒功能 09-21
- 以PHP代码为实例详解RabbitMQ消息队列中间件的6种模式 09-21
- 通用 LLM 流式对话:前后端完整链路实现 09-21
- PHPStudyhosts文件可能不存在或被阻止打开及同步hosts失败问题 09-21
- PHP.vs.JA5A 09-21