共用方式為


參考:完成 | Azure Machine Learning

為提供的提示和參數建立完成。

POST /completions?api-version=2024-04-01-preview
名稱 位於 必要 類型​ 描述
api-version query True 字串 格式為 "YYYY-MM-DD" 或 "YYYY-MM-DD-preview" 的 API 版本。

要求標頭

名稱 必要 類型​ 描述
extra-parameters 字串 當承載中指出額外參數時,API 的行為。 使用 pass-through 讓 API 將參數傳遞至基礎模型。 當您想要傳遞您知道基礎模型可支援的參數時,請使用此值。 使用 ignore 可讓 API 卸除任何不支援的參數。 當您需要跨不同模型使用相同的承載時,請使用此值,但如果不支援,其中一個額外的參數可能會讓模型發生錯誤。 使用 error 可讓 API 拒絕承載中的任何額外參數。 只能指出此 API 中指定的參數,或傳回 400 錯誤。
azureml-model-deployment 字串 您想要將要求路由傳送至其中的部署名稱。 對支援多個部署的端點的支援。

要求本文

名稱 必要 類型​ 描述
Prompt True 產生完成的提示,編碼為字串、字串陣列、權杖陣列或權杖陣列的陣列。 請注意,<\|endoftext\|> 是模型在定型期間看到的文件分隔符號,因此如未指定提示,模型就像是從新文件的開頭產生。
frequency_penalty 數值 正值會根據權杖迄今為止在文字中的出現頻率來打壓新權杖,降低模型重複完全相同行的可能性。
max_tokens 整數 完成中可產生的權杖數目上限。 提示的權杖計數加上 max_tokens 不能超過模型的內容長度。
presence_penalty 數值 正值會根據權杖迄今為止是否出現在文字中來打壓新權杖,提高模型討論新主題的可能性。
seed 整數 如果指定,模型會盡最大努力以決定性方式取樣,讓具有相同 seed 和參數的重複要求應該傳回相同的結果。

不保證決定性,您應該參考 system_fingerprint 回應參數來監視後端中的變更。
停止 API 會停止產生更多權杖的序列。 傳回的文字不會包含停止序列。
stream boolean 是否要串流回部分進度。 如果設定,在有權杖可用時,權杖將會作為僅限資料的伺服器傳送事件傳送,由 data: [DONE] 訊息終止資料流。
溫度 數值 要使用的取樣溫度,介於 0 到 2 之間。 0.8 之類的較高值會讓輸出更隨機,而 0.2 之類的較低值會使它更集中且具決定性。

一般會建議改變 temperaturetop_p,但不建議同時改變。
top_p 數值 核取樣是溫度取樣的替代方法,在此方法中,模型會考慮包含 top_p 機率質量的權杖結果。 因此,0.1 表示只考慮組成前 10% 機率質量的權杖。

一般會建議改變 top_ptemperature,但不建議同時改變。

回覆

名稱 類型​​ 描述
200 OK CreateCompletionResponse 確定
401 未經授權 UnauthorizedError 存取權杖遺漏或不正確

標頭

x-ms-error-code:字串
404 找不到 NotFoundError 模型不支援模態。 請查閱模型的文件,以查看有哪些路由可供使用。

標頭

x-ms-error-code:字串
422 無法處理的實體 UnprocessableContentError 要求包含無法處理的內容

標頭

x-ms-error-code:字串
429 要求太多 TooManyRequestsError 您已達到指派的速率限制,而且您的要求必須調整步調。

標頭

x-ms-error-code:字串
其他狀態碼 ContentFilterError 錯誤要求

標頭

x-ms-error-code:字串

安全性

授權

具有 Bearer: 前置詞的權杖,例如 Bearer abcde12345

類型:apiKey
In:標頭

AADToken

Azure Active Directory OAuth2 驗證

類型:oauth2
流程:應用程式
權杖 URL:https://login.microsoftonline.com/common/oauth2/v2.0/token

範例

為提供的提示和參數建立完成

範例要求

POST /completions?api-version=2024-04-01-preview

{
  "prompt": "This is a very good text",
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "max_tokens": 256,
  "seed": 42,
  "stop": "<|endoftext|>",
  "stream": false,
  "temperature": 0,
  "top_p": 1
}

範例回應

狀態碼:200

{
  "id": "1234567890",
  "model": "llama2-7b",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "text": ", indeed it is a good one."
    }
  ],
  "created": 1234567890,
  "object": "text_completion",
  "usage": {
    "prompt_tokens": 15,
    "completion_tokens": 8,
    "total_tokens": 23
  }
}

定義

名稱 描述
Choices 聊天完成選項的清單。
CompletionFinishReason 模型停止產生權杖的原因。 如果模型達到自然停止點或提供的停止序列,則這是 stop,如果達到在要求中指定的權杖數目上限,則這是 length,如果由於內容篩選的旗標而省略內容,則這是 content_filter
CompletionUsage 完成要求的使用量統計資料。
ContentFilterError 當提示如設定觸發內容篩選時,API 呼叫會失敗。 修改提示,然後再試一次。
CreateCompletionRequest
CreateCompletionResponse 表示來自 API 的完成回應。
詳細資料
TextCompletionObject 物件類型,一律為 "text_completion"
UnprocessableContentError

選項

聊天完成選項的清單。

名稱 類型​​ 描述
finish_reason CompletionFinishReason 模型停止產生權杖的原因。 如果模型達到自然停止點或提供的停止序列,則這是 stop,如果達到在要求中指定的權杖數目上限,則這是 length,如果由於內容篩選的旗標而省略內容,則這是 content_filter,如果模型呼叫工具,則這是 tool_calls
index 整數 選擇清單中的選擇索引。
text 字串 產生的文字。

CompletionFinishReason

模型停止產生權杖的原因。 如果模型達到自然停止點或提供的停止序列,則這是 stop,如果達到在要求中指定的權杖數目上限,則這是 length,如果由於內容篩選的旗標而省略內容,則這是 content_filter

名稱 類型​​ 描述
content_filter 字串
length 字串
停止 字串

CompletionUsage

完成要求的使用量統計資料。

名稱 類型​​ 描述
completion_tokens 整數 已產生完成中的權杖數目。
prompt_tokens 整數 提示中的權杖數目。
total_tokens 整數 要求中使用的權杖總數 (提示 + 完成)。

ContentFilterError

當提示如設定觸發內容篩選時,API 呼叫會失敗。 修改提示,然後再試一次。

名稱 類型​​ 描述
code 字串 錯誤碼。
error 字串 錯誤描述。
message 字串 錯誤訊息。
param 字串 觸發內容篩選的參數。
status 整數 HTTP 狀態碼。

CreateCompletionRequest

名稱 類型​ 預設值 說明
frequency_penalty 數值 0 正值會根據權杖迄今為止在文字中的出現頻率來打壓新權杖,降低模型重複完全相同行的可能性。
max_tokens 整數 256 完成中可產生的權杖數目上限。 提示的權杖計數加上 max_tokens 不能超過模型的內容長度。
presence_penalty 數值 0 正值會根據權杖迄今為止是否出現在文字中來打壓新權杖,提高模型討論新主題的可能性。
Prompt <\|endoftext\|> 產生完成的提示,編碼為字串、字串陣列、權杖陣列或權杖陣列的陣列。 請注意,<\|endoftext\|> 是模型在定型期間看到的文件分隔符號,因此如未指定提示,模型就像是從新文件的開頭產生。
seed 整數 如果指定,我們的系統會盡最大努力以決定性方式取樣,讓具有相同 seed 和參數的重複要求應該傳回相同的結果。

不保證決定性,您應該參考 system_fingerprint 回應參數來監視後端中的變更。
停止 API 會停止產生更多權杖的序列。 傳回的文字不會包含停止序列。
stream boolean False 是否要串流回部分進度。 如果設定,在有權杖可用時,權杖將會作為僅限資料的伺服器傳送事件傳送,由 data: [DONE] 訊息終止資料流。
溫度 數值 1 要使用的取樣溫度,介於 0 到 2 之間。 0.8 之類的較高值會讓輸出更隨機,而 0.2 之類的較低值會使它更集中且具決定性。

一般會建議改變這個值或 top_p,但不建議同時改變。
top_p 數值 1 核取樣是溫度取樣的替代方法,在此方法中,模型會考慮包含 top_p 機率質量的權杖結果。 因此,0.1 表示只考慮組成前 10% 機率質量的權杖。

一般會建議改變這個值或 temperature,但不建議同時改變。

CreateCompletionResponse

表示來自 API 的完成回應。 注意: 串流和非串流回應物件會共用相同的圖形 (與聊天端點不同)。

名稱 類型​​ 描述
選擇 Choices[] 輸入提示所產生模型的完成選項清單。
created 整數 建立完成時的 Unix 時間戳記 (以秒為單位)。
識別碼 字串 完成的唯一識別碼。
機型 字串 用於完成的模型。
object TextCompletionObject 物件類型,一律為 "text_completion"
system_fingerprint 字串 此指紋代表模型執行時使用的後端組態。

可以搭配 seed 要求參數使用,以了解可能會影響決定性的後端變更是何時進行。
用法 CompletionUsage 完成要求的使用量統計資料。

詳細資料

名稱 類型​​ 描述
loc string[] 造成問題的參數
value 字串 傳遞至參數的值造成問題。

TextCompletionObject

物件類型,一律為 "text_completion"

名稱 類型​​ 描述
text_completion 字串

ListObject

物件類型,一律為「清單」。

名稱 類型​​ 描述
list 字串

NotFoundError

名稱 類型​​ 描述
error 字串 錯誤描述。
message 字串 錯誤訊息。
status 整數 HTTP 狀態碼。

TooManyRequestsError

名稱 類型​​ 描述
error 字串 錯誤描述。
message 字串 錯誤訊息。
status 整數 HTTP 狀態碼。

UnauthorizedError

名稱 類型​​ 描述
error 字串 錯誤描述。
message 字串 錯誤訊息。
status 整數 HTTP 狀態碼。

UnprocessableContentError

名稱 類型​​ 描述
code 字串 錯誤碼。
detail 詳細資料
error 字串 錯誤描述。
message 字串 錯誤訊息。
status 整數 HTTP 狀態碼。