參考:完成 | 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 之類的較低值會使它更集中且具決定性。 一般會建議改變 temperature 或 top_p ,但不建議同時改變。 |
|
top_p | 數值 | 核取樣是溫度取樣的替代方法,在此方法中,模型會考慮包含 top_p 機率質量的權杖結果。 因此,0.1 表示只考慮組成前 10% 機率質量的權杖。 一般會建議改變 top_p 或 temperature ,但不建議同時改變。 |
回覆
名稱 | 類型 | 描述 |
---|---|---|
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 狀態碼。 |