OpenAI API参数详解_max_tokens-程序员宅基地

技术标签: AI  OpenAI  

OpenAI官网文档:

https://platform.openai.com/docs/introductionhttps://platform.openai.com/docs/introduction

创建completions

给定提示,模型将返回一个或多个预测完成,还可以返回每个位置的替代令牌的概率。

请求连接:

https://api.openai.com/v1/completions

请求方式:

POST

请求参数:

Request Body

  • 【model】string 必填

使用的模型ID。可以使用模型API列表接口查看所有可用的模型,有关模型的描述,请参阅模型概述

  • 【prompt】string 或 array 可选 默认值<|endoftext|>

生成完成的提示,编码为字符串、字符串数组、token数组或token数组的数组。

请注意,<|endoftext|>是模型在训练期间看到的文档分隔符,因此,如果未指定提示,则模型将从新文档的开头生成。

  • 【suffix】string 可选 默认值null

插入文本完成后出现的后缀。

  • 【max_tokens】integer 可选 默认值16

完成时要生成的最大token数量。

提示的token计数加上max_tokens不能超过模型的上下文长度。大多数模型的上下文长度为2048个token(最新模型除外,支持4096个)。

  • 【temperature】number 可选 默认值1

使用什么样的采样温度,介于0和2之间。较高的值(如0.8)将使输出更加随机,而较低的值(例如0.2)将使其更加集中和确定。

通常建议更改它或top_p,但不能同时更改两者。

  • 【top_p】number 可选 默认值1

一种用温度采样的替代品,称为核采样,其中模型考虑了具有top_p概率质量的token的结果。因此,0.1意味着只考虑包含前10%概率质量的token。

通常建议改变它或temperature,但不能同时更改两者。

  • 【n】integer 可选 默认值1

每个提示要生成多少个完成。

注意:由于此参数会生成许多完成,因此它可以快速消耗您的token配额。小心使用,并确保您对max_tokens和stop有合理的设置。

  • 【stream】boolean 可选 默认值false

是否流回部分进度。如果设置,token将在可用时作为仅数据服务器发送的事件发送,流将以data:[DONE]消息终止。

  • 【logprobs】integer 可选 默认值null

按可能性概率选择token的个数。
例如,如果logprobs为5,API将返回5个最有可能的token的列表。
API将始终返回采样token的logprob,因此响应中可能最多有logprobs+1元素。

logprobs的最大值为5。

  • 【echo】boolean 可选 默认值false

除了完成之外,回显提示

  • 【stop】string 或 array 可选 默认值null

最多4个序列,API将停止生成进一步的token。返回的文本将不包含停止序列。

  • 【presence_penalty】number 可选 默认值0

取值范围:-2.0~2.0。
正值根据新token到目前为止是否出现在文本中来惩罚它们,这增加了模型谈论新主题的可能性。

  • 【frequency_penalty】number 可选 默认值0

取值范围:-2.0~2.0。
正值根据迄今为止文本中的现有频率惩罚新token,从而降低了模型逐字重复同一行的可能性。

  • 【best_of】integer 可选 默认值1

在服务器端生成best_of个完成,并返回“最佳”(每个token的日志概率最高)。结果无法流式传输。

与n一起使用时,best_of控制候选完成的数量,n指定要返回的数量–best_of必须大于n。

注意:由于此参数会生成许多完成,因此它可以快速消耗token配额。小心使用并确保您对max_tokens和stop进行了合理的设置。

  • 【logit_bias】map 可选 默认值null

修改完成时出现指定token的可能性。

接受将token(由其在GPT token生成器中的token ID指定)映射到从-100到100的相关偏差值的json对象。
您可以使用此token工具(适用于GPT-2和GPT-3)将文本转换为token ID。在数学上,偏差在采样之前被添加到模型生成的逻辑中。确切的效果因模型而异,但-1和1之间的值应该会降低或增加选择的可能性;-100或100这样的值应该导致相关token的禁止或独占选择。

例如,可以传递{“50256”:-100}以防止生成<|endoftext|>的token。

  • 【user】string 可选

代表最终用户的唯一标识符,可帮助OpenAI监控和检测滥用。

调用示例:

基于已有的知识回答问题

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="I am a highly intelligent question answering bot. If you ask me a question that is rooted in truth, I will give you the answer. If you ask me a question that is nonsense, trickery, or has no clear answer, I will respond with \"Unknown\".\n\nQ: What is human life expectancy in the United States?\nA: Human life expectancy in the United States is 78 years.\n\nQ: Who was president of the United States in 1955?\nA: Dwight D. Eisenhower was president of the United States in 1955.\n\nQ: Which party did he belong to?\nA: He belonged to the Republican Party.\n\nQ: What is the square root of banana?\nA: Unknown\n\nQ: How does a telescope work?\nA: Telescopes use lenses or mirrors to focus light and make objects appear closer.\n\nQ: Where were the 1992 Olympics held?\nA: The 1992 Olympics were held in Barcelona, Spain.\n\nQ: How many squigs are in a bonk?\nA: Unknown\n\nQ: Where is the Valley of Kings?\nA:",
  temperature=0,
  max_tokens=100,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.0,
  stop=["\n"]
)

与AI机器人的开放式对话

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.\n\nHuman: Hello, who are you?\nAI: I am an AI created by OpenAI. How can I help you today?\nHuman: I'd like to cancel my subscription.\nAI:",
  temperature=0.9,
  max_tokens=150,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.6,
  stop=[" Human:", " AI:"]
)

翻译功能

import os
import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

response = openai.Completion.create(
  model="text-davinci-003",
  prompt="Translate this into 1. French, 2. Spanish and 3. Japanese:\n\nWhat rooms do you have available?\n\n1.",
  temperature=0.3,
  max_tokens=100,
  top_p=1.0,
  frequency_penalty=0.0,
  presence_penalty=0.0
)

更多示例参照官网​​​​​​​OpenAI APIAn API for accessing new AI models developed by OpenAIhttps://platform.openai.com/examples

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/watson2017/article/details/129055329

智能推荐

白盒测试之分支-条件覆盖_白盒测试测试中的分支测试-程序员宅基地

文章浏览阅读549次,点赞17次,收藏11次。分支-条件覆盖可以使程序中的判断语句以及判断语句中的条件的真、假分支都得到覆盖,但是分支-条件覆盖达到 100% 仍然强度不够,程序中的某些逻辑运算等错误仍然可能不会被发现。_白盒测试测试中的分支测试

fastadmin 关联模型查询 线下测试没问题 线上报错Unknown column_fastadmin关联搜索 出错-程序员宅基地

文章浏览阅读172次。PHP版本也是一样的 都是7.4。就很迷惑 一模一样的代码 怎么上线就会报错。但是又不能不用 因为两个表有相同的字段 去掉别名更是报错。奇怪的是 线下环境大写小写都可以用 不报错。最终解决手段:别名首字母改小写就好了。线上环境只能小写 大写就报错了。代码上线之后莫名报错。_fastadmin关联搜索 出错

编译安装python3.6-程序员宅基地

文章浏览阅读6.7k次,点赞2次,收藏2次。1. 通用格式1.1 安装依赖1.1 命令yum install xx -y1.2 解压缩源码包1.2.1 命令wget xxxxtar -xf xx.tar.xz1.3 configure 编译且安装( 进入python源码包目录,编译且安装 )1.3.1 命令./configure --prefix=安装路径1.3.2 介绍./configure --prefix=/opt/python365/ 上面的意思是将该软件安装在 /usr 下面,执._编译安装python3.6

vue2 element UI 与 vue3 elementPlus 二次封装分页-程序员宅基地

文章浏览阅读173次,点赞8次,收藏3次。【代码】vue2+element UI分页封装及其使用。

IC设计端各岗位薪酬对比(建议收藏)_模拟芯片设计中电路设计工程师和版图设计工程师薪资chayi-程序员宅基地

文章浏览阅读325次。根据人才招聘平台对于2023年已有数据统计,芯片工程师岗位均薪为26012元,位列全行业第一。不可否认,芯片行业的薪资水准确实是超越了绝大多数行业。但具体问题还需要具体分析。在参考数据时,我们也要考虑到所在地区城市、应聘者学历背景和经验、招聘企业类型的不统一性,这种不统一性会导致比较高的薪资差。1、不同学历下背景下的平均税前年薪①IC求职者硕士及以上占比96%,平均年薪为31W+;本科仅为4%,年薪平均20.5W+。②普通高校人员占比15.6%,平均年薪为26.5w+;_模拟芯片设计中电路设计工程师和版图设计工程师薪资chayi

FPGA实现Cordic算法求解arctan和sqr(x*2 + y* 2)_基于verilog的赛灵思cordic反正切fpga例程-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏18次。由于在项目中需要使用的MPU6050,进行姿态解算,计算中设计到**arctan 和 sqr(x2 + y2),**这两部分的计算,在了解了一番之后,发现Cordic算法可以很方便的一次性求出这两个这两部分的计算。另外也可以一次性求出sin和cos的值。另外该算法还可以计算其他的一些公式(没做过多的了解)。_基于verilog的赛灵思cordic反正切fpga例程

随便推点

玩转树莓派-Raspberry,无线网配置方法_树莓派设置wpa无线网络和有限网络的优先级-程序员宅基地

文章浏览阅读1.9w次,点赞4次,收藏9次。玩转树莓派-Raspberry,无线网配置方法_树莓派设置wpa无线网络和有限网络的优先级

sparkSQL基础_spark 创建用户类-程序员宅基地

文章浏览阅读351次。目录1.sparksql概述1.1、什么是Spark SQL1.2、SparkSQL的数据源1.3、SparkSQL底层架构2. sparksql的四大特性2.1、易整合2.2、统一的数据源访问2.3、兼容hive2.4、支持标准的数据库连接3. DataFrame概述3.1、DataFrame是什么3.2、DataFrame和RDD的优缺点3.4、DataFrame常用操作4. DataSet概述4.1、DataSet是什么4.2、RDD、D_spark 创建用户类

ev.h-程序员宅基地

文章浏览阅读3.5k次。g++ -E ev.h_ev.h

02-C语言底层驱动:NTC测温驱动_ntc.c文件-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏10次。采用MCU超级工具计算出NTC值对应的ADC寄存器值表,不用换算成电压。ADC和NTC的参考电压只要是一样的,就能抗电压波动,不必很精准的电压就能得出比较准确的温度值。bsp_ntc.h文件:#ifndef __BSP_NTC_H#define __BSP_NTC_Hint8_t app_getNtc1Temp(void);int8_t app_getNtc2Temp(..._ntc.c文件

Springboot毕设项目考勤管理系统30gu6(java+VUE+Mybatis+Maven+Mysql)_java springboot考勤管理系统源码-程序员宅基地

文章浏览阅读64次。Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。Springboot + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。Springboot毕设项目考勤管理系统30gu6(java+VUE+Mybatis+Maven+Mysql)2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;_java springboot考勤管理系统源码

vba python 结合_xlwings利用VBA调用python-程序员宅基地

文章浏览阅读998次。安装配置完成后(与自定义函数UDFs的配置是一致的,加入xlwings加载项,alt+F11中引用xlwings等等常规操作后),通过 “RunPython”调用python代码。范例:VBA代码如下:Sub hi()RunPython ("import sayhi; sayhi.sayhi()") " sayhi为py文件名,sayhi()为sayhi.py中的自定义函数"End SubVBA..._vba结合python