給定聊天對話,模型將返回聊天完成響應(yīng)。
創(chuàng)建 chat completion
POST https://api.openai.com/v1/chat/completions
為聊天消息創(chuàng)建 completion
字段 | 類型 | 是否可選 | 說明 |
model | string | 必須 | 要使用的模型的 ID。 |
messages | array | 必須 | 以聊天格式生成聊天完成的消息。 |
temperature | number | 可選 默認(rèn)為 1 |
使用什么采樣 temperature,介于 0 和 2 之間。較高的值(如 0.8)將使輸出更加隨機(jī),而較低的值(如 0.2)將使輸出更加集中和確定。 我們通常建議改變這個或 top_p 但不是兩者都改變??。 |
top_p | number | 可選 默認(rèn)為 1 |
一種替代 temperature 采樣的方法,稱為核采樣,其中模型考慮具有 top_p 概率質(zhì)量的標(biāo)記的結(jié)果。所以 0.1 意味著只考慮構(gòu)成前 10% 概率質(zhì)量的標(biāo)記。 我們通常建議更改此值或 temperature,但不要同時更改兩者。 |
n | integer | 可選 默認(rèn)為 1 | 為每個輸入消息生成多少個聊天完成選項。 |
stream | boolean | 可選 默認(rèn)為 false | 如果設(shè)置,將發(fā)送部分消息增量,就像在 ChatGPT 中一樣。令牌將在可用時作為純數(shù)據(jù)服務(wù)器發(fā)送事件發(fā)送,流由數(shù)據(jù)終止:[DONE] 消息。 |
stop | string or array | 可選 默認(rèn)為 null | API 將停止生成更多令牌的最多 4 個序列。 |
max_tokens | integer | 可選 默認(rèn)為 inf |
聊天完成時生成的最大令牌數(shù)。 輸入標(biāo)記和生成標(biāo)記的總長度受模型上下文長度的限制。 |
presence_penalty | number | 可選 默認(rèn)為 0 |
-2.0 和 2.0 之間的數(shù)字。正值會根據(jù)到目前為止是否出現(xiàn)在文本中來懲罰新標(biāo)記,從而增加模型談?wù)撔轮黝}的可能性。 |
frequency_penalty | number | 可選 默認(rèn)為 0 |
-2.0 和 2.0 之間的數(shù)字。正值會根據(jù)新標(biāo)記在文本中的現(xiàn)有頻率對其進(jìn)行懲罰,從而降低模型逐字重復(fù)同一行的可能性。 |
logit_bias | map | 可選 默認(rèn)為 null |
修改指定標(biāo)記出現(xiàn)在完成中的可能性。 接受一個 json 對象,該對象將標(biāo)記(由標(biāo)記器中的標(biāo)記 ID 指定)映射到從 -100 到 100 的關(guān)聯(lián)偏差值。從數(shù)學(xué)上講,偏差會在采樣之前添加到模型生成的 logits 中。確切的效果因模型而異,但 -1 和 1 之間的值應(yīng)該會減少或增加選擇的可能性;像 -100 或 100 這樣的值應(yīng)該導(dǎo)致相關(guān)令牌的禁止或獨占選擇。 |
user | string | 可選 | 代表您的最終用戶的唯一標(biāo)識符,可以幫助 OpenAI 監(jiān)控和檢測濫用行為。 |
示例請求
curl | python | node.js |
|
|
|
參數(shù)
{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}
響應(yīng)
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}
更多建議: