openai createChatCompletion函数使用实例

目录
  • 实现过程
  • 1、前期的引入和配置密钥
  • 2、具体的使用
  • 3、细节讲解
    • (1)关键参数
    • (2)openai通用参数

实现过程

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

ENDPOINT MODEL NAME
/v1/chat/completions gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301
/v1/completions text-davinci-003, text-davinci-002, text-curie-001, text-babbage-001, text-ada-001
/v1/edits text-davinci-edit-001, code-davinci-edit-001
/v1/audio/transcriptions whisper-1
/v1/audio/translations whisper-1
/v1/fine-tunes davinci, curie, babbage, ada
/v1/embeddings text-embedding-ada-002, text-search-ada-doc-001
/v1/moderations text-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函数的资料请关注我们其它相关文章!

(0)

相关推荐

  • 人工智能深度学习OpenAI baselines的使用方法

    OpenAI,由诸多硅谷大亨联合建立的人工智能非营利组织.2015年马斯克与其他硅谷科技大亨进行连续对话后,决定共同创建OpenAI,希望能够预防人工智能的灾难性影响,推动人工智能发挥积极作用 OpenAI.DeepMind,伯克利三个可以说是强化学习的推动者,其中OpenAI 为很多算法都写了baselines.本文讲开始运行例子,以A2C算法为例子(具体a2c算法原理后续讲解): 首先就是安装gym环境,具体直接参考OpenAI的github: https://github.com/open

  • OpenAI发布GPT-4支持图像文本输入处理中文准确度大幅提升

    目录 引言 正文 用户提问 GPT-4 GPT-4 局限性 试用方式 引言 以下文章来源于OSC开源社区 ,作者oschina 正文 OpenAI 刚刚宣布正式推出 GPT-4.GPT-4 是 Generative Pre-trained Transformer 4 的缩写,即生成型预训练变换模型 4. 公告写道,GPT-4 是一个多模态大型语言模型(支持接受图像和文本输入,以文本形式输出),也是 OpenAI 努力扩展深度学习的最新里程碑.虽然 GPT-4 对于许多现实场景的处理比人类差,但它

  • OpenAI的Whisper模型进行语音识别使用详解

    目录 正文 Whisper 模型介绍 使用Whisper 模型进行语音识别 总结 正文 语音识别是人工智能中的一个领域,它允许计算机理解人类语音并将其转换为文本.该技术用于 Alexa 和各种聊天机器人应用程序等设备.而我们最常见的就是语音转录,语音转录可以语音转换为文字记录或字幕. wav2vec2.Conformer 和 Hubert 等最先进模型的最新发展极大地推动了语音识别领域的发展.这些模型采用无需人工标记数据即可从原始音频中学习的技术,从而使它们能够有效地使用未标记语音的大型数据集.

  • C++ 中const对象与const成员函数的实例详解

    C++ 中const对象与const成员函数的实例详解 const对象只能调用const成员函数: #include<iostream> using namespace std; class A { public: void fun()const { cout<<"const 成员函数!"<<endl; } void fun() { cout<<"非const成员函数 !"<<endl; } }; int

  • web开发之对比时间大小的工具函数的实例详解

    web开发之对比时间大小的工具函数的实例详解 js时间大小比较,格式yyyy-MM-dd hh:mm:ss 把时间比较封装成一个工具函数: /** * 比较两个时间的大小 * 时间格式:yyyy-MM-dd hh:mm:ss * @param {Object} beginTime 开始时间 * @param {Object} endTime 结束时间 */ var getDataLarge = function(beginTimeString,endTimeString){ var b = be

  • python里使用正则的findall函数的实例详解

    python里使用正则的findall函数的实例详解 在前面学习了正则的search()函数,这个函数可以找到一个匹配的字符串返回,但是想找到所有匹配的字符串返回,怎么办呢?其实得使用findall()函数.如下例子: #python 3. 6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re text = 'abbaaabbbbaaaaa' pattern = 'ab' for match in r

  • js代码延迟一定时间后执行一个函数的实例

    实例如下: setTimeout(funcName,500); function funcName() { xxxxxx; } 0.5秒后执行funcName(),只执行一次 setInterval(funcName,5000);   每隔5秒执行一次funcName() 以上这篇js代码延迟一定时间后执行一个函数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • php把时间戳转换成多少时间之前函数的实例

    如下所示: function wordTime($time) { $time = (int) substr($time, 0, 10); $int = time() - $time; $str = ''; if ($int <= 2){ $str = sprintf('刚刚', $int); }elseif ($int < 60){ $str = sprintf('%d秒前', $int); }elseif ($int < 3600){ $str = sprintf('%d分钟前', f

  • 关于PHP中字符串与多进制转换函数的实例代码

    转换函数 /** * [字符串转换为(2,8,16进制)ASCII码] * @param string $str [待处理字符串] * @param boolean $encode [字符串转换为ASCII|ASCII转换为字符串] * @param string $intType [2,8,16进制标示] * @return string byte_str [处理结果] * @author alexander */ function strtoascii($str, $encode=true,

  • PHP 传输会话curl函数的实例详解

    PHP 传输会话curl函数的实例详解 前言: 接手公司项目PC端负责人的重担,责任担当重大:从需求分析,画流程图,建表,编码,测试修bug,上线维护等我一个光杆司令一人完成(当然还有一个技术不错的前端配合,感谢主管的帮助),虽然累点加班多点但感觉还行吧,公司都是一个鸟样. 闲话不多说了,因为项目中经常需要调取java那边的接口,既然涉及到请求接口那就有了http的请求方式,PHP常见的是GET/POST两种当然还有其他的比如put等,java那边经常用到GET/POST/PUT/DELETE等

  • 用PHP写的一个冒泡排序法的函数简单实例

    前几天遇到的一道关于算法的考题,要求用PHP语言实现对一个数组进行排序,我写了一个采用冒泡排序法的函数,和大家分享一下. <? //冒泡排序法 function bubble_sort($array) { $count = count($array); if($count <= 0) { return false; } for($i=0; $i<$count; $i++) { for($k=$count-1; $k>$i; $k--) { if($array[$k] < $a

  • Python 私有函数的实例详解

    Python 私有函数的实例详解 与大多数语言一样,Python 也有私有的概念: • 私有函数不可以从它们的模块外面被调用 • 私有类方法不能够从它们的类外面被调用 • 私有属性不能够从它们的类外面被访问 与大多数的语言不同,一个 Python 函数,方法,或属性是私有还是公有,完全取决于它的名字. 如果一个 Python 函数,类方法,或属性的名字以两个下划线开始 (但不是结束),它是私有的:其它所有的都是公有的. Python 没有类方法保护 的概念 (只能用于它们自已的类和子类中).类方

  • python 调用c语言函数的实例讲解

    虽然python是万能的,但是对于某些特殊功能,需要c语言才能完成.这样,就需要用python来调用c的代码了 具体流程: c编写相关函数 ,编译成库 然后在python中加载这些库,指定调用函数. 这些函数可以char ,int, float, 还能返回指针. 以下示例: 通过python调用c函数,返回"hello,world 字符串" 新建c语言文件 hello.c touch hello.c #include <stdio.h> char *get_str() {

随机推荐