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