OpenAI API参数详解

2023-05-16

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenAI API参数详解 的相关文章

随机推荐

  • Android Studio如何卸载干净?

    想要卸载Android Studio xff1f 跟着步骤做 xff0c 还愁卸载不干净 xff1f 1 卸载前 xff0c 一定要把Android Studio退出 xff0c 接着打开 控制面板 卸载程序 Android Studio
  • 观华为模拟面试大赛有感

    1 面试注重个人收获与自我提升 xff0c 工作注重整体利益 2 遇到问题先从自身寻找问题 xff0c 努力沟通并解决 3 稳 回答问题先思考一会儿 xff0c 不要急躁 狠 xff1a 一语中的 xff0c 切中要害 xff0c 简洁有力
  • linux关于消息队列中消息的大小的限制

    在消息队列中 xff0c 例如函数msgsnd int msqid const void msgp size t msgsz int msgflg 这个函数调用的时候 xff0c msgsz最大只能为8192 xff0c 也就是2的16次方
  • MySQL事务隔离级别详解

    MySQL事务隔离级别详解 SQL标准定义了4类隔离级别 xff0c 包括了一些具体规则 xff0c 用来限定事务内外的哪些改变是可见的 xff0c 哪些是不可见的 低级别的隔离级一般支持更高的并发处理 xff0c 并拥有更低的系统开销 R
  • php 发送与接收流文件

    php 发送与接收流文件 sendStreamFile php 把文件以流的形式发送 receiveStreamFile php 接收流文件并保存到本地 sendStreamFile php lt php php 发送流文件 64 para
  • php 上传图片保存到数据库例子

    php 上传图片保存到数据库例子 php 上传图片 xff0c 一般都使用move uploaded file 方法保存在服务器上 但如果一个网站有多台服务器 xff0c 就需要把图片发布到所有的服务器上才能正常使用 xff08 使用图片服
  • 结构体最后的长度为0或1数组的作用(转载)

    其实很早在看LINUX下就看到这个东西 xff0c 后来在MFC内存池里同样也看到了类似的东西 xff0c 还依照MFC写过一个类似的小内存池 xff0c xff08 MFC用的是return this 43 1 xff09 后来在李先静的
  • chmod 755和chmod 4755的区别

    chmod 755和chmod 4755的区别 from xff1a http hi baidu com angivo blog item d679237e467f68320dd7da10 html chmod是Linux下设置文件权限的命
  • spring的依赖注入

    一 点睛 控制反转和依赖注入在Spring环境下是等同的概念 xff0c 控制反转是通过依赖注入实现的 所谓依赖注入指的是容器负责创建对象和维护对象间的依赖关系 xff0c 而不是通过对象本身负责自己的创建和解决自己的依赖 依赖注入的主要目
  • VxWorks网络编程

    vxworks实现了与BSD4 4 TCP IP兼容的网络协议栈 xff0c 并且其实时性 较之有很大提高 xff0c 这使得基于BSD4 4 UNIX Socket的应用程序可以很方便地移植到vxworks中去 1 1vxworks网络组
  • su: must be suid to work properly错误

    内核 linux2 6 21 文件系统 busybox1 19 2 yaffs2 开发板 xff1a loongson 1b 嵌入式文件系统一般用户执行su root切换根用户提示错误 xff1a su must be suid to wo
  • Tslib移植与分析

    目标平台 xff1a LOONGSON 1B开发板 xff08 mips32指令集 xff09 编译平台 xff1a x86PC VMware6 5 Ubuntu10 04 xff08 下面简称 ubuntu系统 xff09 或 xff1a
  • Linux时间函数

    系统环境 xff1a ubuntu10 04 简介 本文旨在为了解Linux 各种时间类型与时间函数提供技术文档 1 Linux下常用时间类型 Linux下常用时间类型有四种 xff1a time t struct tm struct ti
  • 基于UDP协议的网络编程

    下图是典型的UDP客户端 服务器通讯过程 下图出自 Unix网络编程 以下是简单的UDP服务器和客户端程序 xff0c 服务端接收来自客户端的字符 xff0c 转成大写后返送给客户端 备注 xff1a 程序在ubuntu10 04经过编译验
  • 14、交叉编译cairo

    14 交叉编译cairo 目标平台 xff1a LOONGSON 1B 开发板 内核 xff1a Linux 3 0 编译平台 xff1a ubuntu10 04 交叉工具链 xff1a gcc 3 4 6 2f 一 简介 在信息领域中 x
  • 联邦学习(Federated Learning)

    联邦学习简介 联邦学习 xff08 Federated Learning xff09 是一种新兴的人工智能基础技术 xff0c 其设计目标是在保障大数据交换时的信息安全 保护终端数据和个人数据隐私 保证合法合规的前提下 xff0c 在多参与
  • Fate横向联邦学习-训练评估

    1 准备上传数据 我们直接使用Fate提供的案例数据目录在examples data breast homo guest csv examples data breast homo host csv 这里上传数据需要准备host以及gues
  • CentOS8解决“Failed to download metadata for repo ‘appstream‘”错误

    在CentOS8上执行下面命令时报错 yum install epel release CentOS Linux 8 AppStream 23 B s 38 B 00 01 Error Failed to download metadata
  • Android 中的权限

    1 权限类型 Android 将权限分为不同的类型 xff0c 包括安装时权限 运行时权限和特殊权限 每种权限类型都指明了当系统授予应用该权限后 xff0c 应用可以访问的受限数据范围以及应用可以执行的受限操作范围 每项权限的保护级别取决于
  • OpenAI API参数详解

    OpenAI官网文档 xff1a https platform openai com docs introduction https platform openai com docs introduction 创建completions 给