openai createChatCompletion函数使用实例

 更新时间:2023年05月06日 16:46:56   作者:地霊殿__三無  
这篇文章主要为大家介绍了openai createChatCompletion函数使用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

实现过程

最近在尝试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等模型可以选中。

ENDPOINTMODEL NAME
/v1/chat/completionsgpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301
/v1/completionstext-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001
/v1/editstext-davinci-edit-001, code-davinci-edit-001
/v1/audio/transcriptionswhisper-1
/v1/audio/translationswhisper-1
/v1/fine-tunesdavinci, curie, babbage, ada
/v1/embeddingstext-embedding-ada-002, text-search-ada-doc-001
/v1/moderationstext-moderation-stable, text-moderation-latest

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 这样的值应该导致相关令牌的禁止或独占选择。

以上就是openai createChatCompletion函数使用实例的详细内容,更多关于openai createChatCompletion函数的资料请关注脚本之家其它相关文章!

相关文章

  • QQ互联一键登录审核不通过的解决方案

    QQ互联一键登录审核不通过的解决方案

    通过“QQ登录”,用户能使用QQ帐号一键登录接入网站,大大降低了用户注册、登录的门槛,借助庞大的QQ用户群,给第三方网站带来更多新用户。已登录用户还可以将在第三方网站发布、分享的信息即时同步到QQ空间,从而提升网站的访问量和用户数。
    2014-09-09
  • php curl常用的5个经典例子

    php curl常用的5个经典例子

    下面小编就为大家带来一篇php curl常用的5个经典例子。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整

    ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整

    这篇文章主要介绍了ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整,包含了对多层水印设置代码的修改,修改的部分在注释里有较为详细的说明,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • PHP中的Memcache详解

    PHP中的Memcache详解

    这篇文章主要介绍了PHP中的Memcache,从Memcache简介开始,详细讲解了如Memcache和memcached的区别、PHP的Memcache所有操作方法、每个操作方法的详细解释等,需要的朋友可以参考下
    2014-04-04
  • php获取指定日期之间的各个周和月的起止时间

    php获取指定日期之间的各个周和月的起止时间

    本文推荐给大家一个php类文件,可以根据指定日期获取所在周的起始时间和结束时间,并附上使用实例,有需要的小伙伴参考下吧
    2014-11-11
  • php支付宝APP支付功能

    php支付宝APP支付功能

    这篇文章主要为大家详细介绍了php支付宝APP支付功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • thinkphp命名空间用法实例详解

    thinkphp命名空间用法实例详解

    这篇文章主要介绍了thinkphp命名空间用法,结合实例形式详细分析了thinkPHP命名空间的功能及具体使用技巧,需要的朋友可以参考下
    2015-12-12
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    这篇文章主要介绍了curl方式取得数据、模拟登陆、POST数据,需要的朋友可以参考下
    2014-06-06
  • php二维数组转成字符串示例

    php二维数组转成字符串示例

    这篇文章主要介绍了php二维数组转成字符串示例,需要的朋友可以参考下
    2014-02-02
  • 推荐10个提供免费PHP脚本下载的网站

    推荐10个提供免费PHP脚本下载的网站

    这篇文章主要介绍了推荐10个提供免费PHP脚本下载的网站,需要的朋友可以参考下
    2014-12-12

最新评论