OpenAI API Completions

2023-03-21 11:07 更新

給定一個(gè)提示,該模型將返回一個(gè)或多個(gè)預(yù)測的 Completions,并且還可以返回每個(gè)位置的替代標(biāo)記的概率。


Create completion

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

為提供的提示和參數(shù)創(chuàng)建 completion

Request body

字段 類型  是否可選  說明 
model string 必須 要使用的模型的 ID。您可以使用 List models API 來查看所有可用模型。
prompt string or array 可選 默認(rèn)為 <|endoftext|> 生成完成的提示,編碼為字符串、字符串?dāng)?shù)組、標(biāo)記數(shù)組或標(biāo)記數(shù)組數(shù)組。

請(qǐng)注意,<|endoftext|> 是模型在訓(xùn)練期間看到的文檔分隔符,因此如果未指定提示,模型將生成新文檔的開頭。

suffix string 可選 默認(rèn)為 null 插入文本完成后出現(xiàn)的后綴。
max_tokens
integer
可選 默認(rèn)為 16

完成時(shí)生成的最大令牌數(shù)。

您的提示的令牌計(jì)數(shù)加上 max_tokens 不能超過模型的上下文長度。大多數(shù)模型的上下文長度為 2048 個(gè)標(biāo)記(最新模型除外,它支持 4096)。

temperature
number 可選 默認(rèn)為 1
使用什么采樣 temperature,介于 0 和 2 之間。較高的值(如 0.8)將使輸出更加隨機(jī),而較低的值(如 0.2)將使輸出更加集中和確定。
我們通常建議改變這個(gè)或 top_p 但不是兩者都改變??。
top_p
number
可選 默認(rèn)為 1
一種替代 temperature 采樣的方法,稱為核采樣,其中模型考慮具有 top_p 概率質(zhì)量的標(biāo)記的結(jié)果。所以 0.1 意味著只考慮構(gòu)成前 10% 概率質(zhì)量的標(biāo)記。
我們通常建議更改此值或 temperature,但不要同時(shí)更改兩者。
n integer 可選 默認(rèn)為 1 為每個(gè)提示生成多少完成。
注意:因?yàn)檫@個(gè)參數(shù)會(huì)產(chǎn)生很多完成,它會(huì)很快消耗你的令牌配額。請(qǐng)謹(jǐn)慎使用并確保您對(duì) max_tokens 和停止進(jìn)行了合理的設(shè)置。
stream boolean 可選 默認(rèn)為 false 是否回流部分進(jìn)度。如果設(shè)置,令牌將在可用時(shí)作為純數(shù)據(jù)服務(wù)器發(fā)送事件發(fā)送,流由數(shù)據(jù)終止:[DONE] 消息。
logprobs integer 可選 默認(rèn)為 null 在 logprobs 上包括對(duì)數(shù)概率最有可能的標(biāo)記,以及所選標(biāo)記。例如,如果 logprobs 為 5,則 API 將返回 5 個(gè)最有可能的標(biāo)記的列表。 API 將始終返回采樣令牌的 logprob,因此響應(yīng)中最多可能有 logprobs+1 個(gè)元素。
logprobs 的最大值為 5。如果您需要更多,請(qǐng)通過我們的幫助中心聯(lián)系我們并描述您的用例。
echo boolean 可選 默認(rèn)為 false 除了完成之外回顯提示
stop string or array 可選 默認(rèn)為 null API 將停止生成更多令牌的最多 4 個(gè)序列。返回的文本將不包含停止序列。
presence_penalty number 可選 默認(rèn)為 0 -2.0 和 2.0 之間的數(shù)字。正值會(huì)根據(jù)到目前為止是否出現(xiàn)在文本中來懲罰新標(biāo)記,從而增加模型談?wù)撔轮黝}的可能性。
frequency_penalty number 可選 默認(rèn)為 0 -2.0 和 2.0 之間的數(shù)字。正值會(huì)根據(jù)新標(biāo)記在文本中的現(xiàn)有頻率對(duì)其進(jìn)行懲罰,從而降低模型逐字重復(fù)同一行的可能性。
best_of integer 可選 默認(rèn)為 1 在服務(wù)器端生成 best_of 完成并返回“最佳”(每個(gè)標(biāo)記具有最高對(duì)數(shù)概率的那個(gè))。無法流式傳輸結(jié)果。

當(dāng)與 n 一起使用時(shí),best_of 控制候選完成的數(shù)量,n 指定返回多少 - best_of 必須大于 n。

注意:因?yàn)檫@個(gè)參數(shù)會(huì)產(chǎn)生很多完成,它會(huì)很快消耗你的令牌配額。請(qǐng)謹(jǐn)慎使用并確保您對(duì) max_tokens 和停止進(jìn)行了合理的設(shè)置。

logit_bias map 可選 默認(rèn)為 null

修改指定標(biāo)記出現(xiàn)在完成中的可能性。

接受一個(gè) json 對(duì)象,該對(duì)象將標(biāo)記(由 GPT 標(biāo)記器中的標(biāo)記 ID 指定)映射到從 -100 到 100 的相關(guān)偏差值。您可以使用此標(biāo)記器工具(適用于 GPT-2 和 GPT-3)來轉(zhuǎn)換文本到令牌 ID。從數(shù)學(xué)上講,偏差會(huì)在采樣之前添加到模型生成的對(duì)數(shù)中。確切的效果因模型而異,但 -1 和 1 之間的值應(yīng)該會(huì)減少或增加選擇的可能性;像 -100 或 100 這樣的值應(yīng)該導(dǎo)致相關(guān)令牌的禁止或獨(dú)占選擇。

例如,您可以傳遞 {"50256": -100} 以防止生成 <|endoftext|> 標(biāo)記。

user
string
可選 代表您的最終用戶的唯一標(biāo)識(shí)符,可以幫助 OpenAI 監(jiān)控和檢測濫用行為。

示例請(qǐng)求

 curl python  node.js 
curl https://api.openai.com/v1/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "ada",
    "prompt": "Say this is a test",
    "max_tokens": 7,
    "temperature": 0
  }'
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
openai.Completion.create(
  model="ada",
  prompt="Say this is a test",
  max_tokens=7,
  temperature=0
)
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const response = await openai.createCompletion({
  model: "ada",
  prompt: "Say this is a test",
  max_tokens: 7,
  temperature: 0,
});

參數(shù)

{
  "model": "ada",
  "prompt": "Say this is a test",
  "max_tokens": 7,
  "temperature": 0,
  "top_p": 1,
  "n": 1,
  "stream": false,
  "logprobs": null,
  "stop": "\n"
}

響應(yīng)

{
  "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
  "object": "text_completion",
  "created": 1589478378,
  "model": "ada",
  "choices": [
    {
      "text": "\n\nThis is indeed a test",
      "index": 0,
      "logprobs": null,
      "finish_reason": "length"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 7,
    "total_tokens": 12
  }
}


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)