Riferimento: Completamenti | Azure Machine Learning
Crea un completamento per la richiesta e i parametri forniti.
POST /completions?api-version=2024-04-01-preview
Nome | Tra | Richiesto | Type | Descrizione |
---|---|---|---|---|
api-version | query | Vero | string | Versione dell'API nel formato "AAAA-MM-GG" o "AAAA-MM-GG-preview". |
Intestazione richiesta
Nome | Obbligatorio | Type | Descrizione |
---|---|---|---|
parametri aggiuntivi | string | Il comportamento dell'API quando vengono indicati parametri extra nel payload. L'utilizzo di pass-through consente all'API di passare il parametro al modello sottostante. Usare questo valore quando si desidera passare i parametri che è noto che il modello sottostante possa supportare. L'utilizzo di ignore fa in modo che l'API elimini qualsiasi parametro non supportato. Usare questo valore quando è necessario usare lo stesso payload in modelli diversi, ma uno dei parametri extra può restituire un errore per un modello, se non supportato. L'utilizzo di error fa in modo che l'API rifiuti qualsiasi parametro extra nel payload. Possono essere indicati solo i parametri specificati in questa API. In caso contrario, verrà restituito un errore 400. |
|
azureml-model-deployment | string | Nome della distribuzione a cui si desidera instradare la richiesta. Supportato per gli endpoint che supportano più distribuzioni. |
Corpo della richiesta
Nome | Obbligatorio | Type | Descrizione |
---|---|---|---|
prompt | Vero | Prompt per cui generare completamenti, codificati come stringhe, matrice di stringhe, matrice di token o matrice di matrici token. Si noti che <\|endoftext\|> è il separatore di documenti visualizzato dal modello durante il training, quindi se non viene specificato un prompt, il modello genera come se fosse all'inizio di un nuovo documento. |
|
frequency_penalty | number | I valori positivi penalizzano i nuovi token in base alla frequenza esistente nel testo fino a quel momento, riducendo la probabilità che il modello ripeta testualmente la stessa riga. | |
max_tokens | integer | Numero massimo di token generabili nel completamento. Il numero di token della richiesta più max_tokens non possono superare la lunghezza del contesto del modello. |
|
presence_penalty | number | I valori positivi penalizzano i nuovi token in base al fatto che vengano visualizzati o meno nel testo fino a questo momento, aumentando la probabilità del modello di parlare di nuovi argomenti. | |
seed | integer | Se specificato, il modello esegue un lavoro ottimale per campionare in modo deterministico, in modo che le richieste ripetute con gli stessi seed e gli stessi parametri restituiscano lo stesso risultato.Il determinismo non è garantito ed è necessario fare riferimento al parametro di risposta system_fingerprint per monitorare le modifiche nel back-end. |
|
stop | Sequenze in cui l'API smetterà di generare altri token. Il testo restituito non conterrà la sequenza di interruzione. | ||
stream | boolean | Indica se eseguire il flusso di avanzamento parziale. Se impostati, i token verranno inviati come eventi solo dati inviati dal server man mano che diventano disponibili, con il flusso terminato da un messaggio data: [DONE] . |
|
temperatura | number | Temperatura di campionamento da usare, compresa tra 0 e 2. Valori più elevati come 0.8 renderanno l'output più casuale, mentre valori più bassi come 0.2 lo renderanno più mirato e deterministico. In genere è consigliabile modificare temperature o top_p , ma non entrambi. |
|
top_p | number | Un'alternativa al campionamento con temperatura, denominata campionamento del nucleo, in cui il modello considera i risultati dei token con massa di probabilità top_p. Quindi 0,1 significa che vengono considerati solo i token che comprendono la massa di probabilità superiore del 10%. In genere è consigliabile modificare top_p o temperature , ma non entrambi. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK | CreateCompletionResponse | Ok |
401 - Non autorizzato | UnauthorizedError | Token di accesso mancante o non valido Intestazioni x-ms-error-code: string |
404 Not Found | NotFoundError | Modalità non supportata dal modello. Controllare la documentazione del modello per verificare quali route sono disponibili. Intestazioni x-ms-error-code: string |
422 - Entità non elaborabile | UnprocessableContentError | La richiesta contiene contenuto non elaborabile Intestazioni x-ms-error-code: string |
429 Troppe richieste | TooManyRequestsError | È stato raggiunto il limite di frequenza assegnato e la richiesta deve essere gestita. Intestazioni x-ms-error-code: string |
Altri codici di stato | ContentFilterError | Richiesta non valida Intestazioni x-ms-error-code: string |
Sicurezza
Autorizzazione
Token con il prefisso Bearer:
, ad esempio Bearer abcde12345
Tipo: apiKey
In: intestazione
AADToken
Autenticazione OAuth2 di Azure Active Directory
Tipo: oauth2
Flusso: applicazione
URL del tokenL: https://login.microsoftonline.com/common/oauth2/v2.0/token
Esempi
Crea un completamento per il prompt e i parametri forniti
Richiesta di esempio
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
}
Risposta di esempio
Codice di stato: 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
}
}
Definizioni
Nome | Descrizione |
---|---|
Choices | Elenco di scelte di completamento della chat. |
CompletionFinishReason | Il motivo per cui il modello ha interrotto la generazione di token. Questo è stop se il modello raggiunge un punto di arresto naturale o una sequenza di interruzione specificata, length se è stato raggiunto il numero massimo di token specificati nella richiesta, content_filter se il contenuto è stato omesso a causa di un flag dai filtri di contenuto. |
CompletionUsage | Statistiche di utilizzo per la richiesta di completamento. |
ContentFilterError | La chiamata API ha esito negativo quando la richiesta attiva un filtro di contenuto come configurato. Modificare il prompt e riprovare. |
CreateCompletionRequest | |
CreateCompletionResponse | Rappresenta una risposta di completamento dall'API. |
Detail | |
TextCompletionObject | Tipo di oggetto, che è sempre "text_completion" |
UnprocessableContentError |
Scelte
Elenco di scelte di completamento della chat.
Nome | Tipo | Descrizione |
---|---|---|
finish_reason | CompletionFinishReason | Il motivo per cui il modello ha interrotto la generazione di token. Questo è stop se il modello raggiunge un punto di arresto naturale o una sequenza di interruzione specificata, length se è stato raggiunto il numero massimo di token specificati nella richiesta, content_filter se il contenuto è stato omesso a causa di un flag dai filtri di contenuto, tool_calls se il modello ha chiamato uno strumento. |
index | integer | Indice della scelta nell'elenco di scelte. |
Testo | string | Testo generato. |
CompletionFinishReason
Il motivo per cui il modello ha interrotto la generazione di token. Questo è stop
se il modello raggiunge un punto di arresto naturale o una sequenza di interruzione specificata, length
se è stato raggiunto il numero massimo di token specificati nella richiesta, content_filter
se il contenuto è stato omesso a causa di un flag dai filtri di contenuto.
Nome | Tipo | Descrizione |
---|---|---|
content_filter | string | |
length | string | |
stop | string |
CompletionUsage
Statistiche di utilizzo per la richiesta di completamento.
Nome | Tipo | Descrizione |
---|---|---|
completion_tokens | integer | Numero di token nel completamento generato. |
prompt_tokens | integer | Numero di token nel prompt. |
total_tokens | integer | Numero totale di token usati nella richiesta (prompt + completamento). |
ContentFilterError
La chiamata API ha esito negativo quando la richiesta attiva un filtro di contenuto come configurato. Modificare il prompt e riprovare.
Nome | Tipo | Descrizione |
---|---|---|
codice | string | Codice errore. |
Errore | string | Descrizione dell'errore. |
messaggio | string | Messaggio di errore. |
param | string | Il parametro che ha attivato il filtro contenuto. |
stato | integer | Codice di stato HTTP. |
CreateCompletionRequest
Nome | Type | Valore predefinito | Descrizione |
---|---|---|---|
frequency_penalty | number | 0 | I valori positivi penalizzano i nuovi token in base alla frequenza esistente nel testo fino a quel momento, riducendo la probabilità che il modello ripeta testualmente la stessa riga. |
max_tokens | integer | 256 | Numero massimo di token generabili nel completamento. Il numero di token della richiesta più max_tokens non possono superare la lunghezza del contesto del modello. |
presence_penalty | number | 0 | I valori positivi penalizzano i nuovi token in base al fatto che vengano visualizzati o meno nel testo fino a questo momento, aumentando la probabilità del modello di parlare di nuovi argomenti. |
prompt | <\|endoftext\|> |
Prompt per cui generare completamenti, codificati come stringhe, matrice di stringhe, matrice di token o matrice di matrici token. Si noti che <\|endoftext\|> è il separatore di documenti visualizzato dal modello durante il training, quindi se non viene specificato un prompt, il modello genera come se fosse all'inizio di un nuovo documento. |
|
seed | integer | Se specificato, il sistema effettuerà tutti i tentativi possibili per eseguire il campionamento in modo deterministico, in modo che le richieste ripetute con gli stessi seed e parametri restituiscano lo stesso risultato.Il determinismo non è garantito ed è necessario fare riferimento al parametro di risposta system_fingerprint per monitorare le modifiche nel back-end. |
|
stop | Sequenze in cui l'API smetterà di generare altri token. Il testo restituito non conterrà la sequenza di interruzione. | ||
stream | boolean | Falso | Indica se eseguire il flusso di avanzamento parziale. Se impostati, i token verranno inviati come eventi solo dati inviati dal server man mano che diventano disponibili, con il flusso terminato da un messaggio data: [DONE] . |
temperatura | number | 1 | Temperatura di campionamento da usare, compresa tra 0 e 2. Valori più elevati come 0.8 renderanno l'output più casuale, mentre valori più bassi come 0.2 lo renderanno più mirato e deterministico. In genere si consiglia di modificare questo valore o top_p ma non entrambi. |
top_p | number | 1 | Un'alternativa al campionamento con temperatura, denominata campionamento del nucleo, in cui il modello considera i risultati dei token con massa di probabilità top_p. Quindi 0,1 significa che vengono considerati solo i token che comprendono la massa di probabilità superiore del 10%. In genere si consiglia di modificare questo valore o temperature ma non entrambi. |
CreateCompletionResponse
Rappresenta una risposta di completamento dall'API. Nota: sia gli oggetti risposta trasmessi che non trasmessi condividono la stessa forma (a differenza dell'endpoint della chat).
Nome | Tipo | Descrizione |
---|---|---|
choices | Scelte[] | L'elenco delle scelte di completamento che il modello ha generato per il prompt di input. |
created | integer | Timestamp Unix (in secondi) di quando è stato creato il completamento. |
ID | string | Identificatore univoco per il completamento. |
modello | string | Modello usato per il completamento. |
oggetto | TextCompletionObject | Tipo di oggetto, che è sempre "text_completion" |
system_fingerprint | string | Questa impronta digitale rappresenta la configurazione back-end con cui viene eseguito il modello. Può essere usato con il parametro di richiesta seed per comprendere quando sono state apportate modifiche back-end che potrebbero influire sul determinismo. |
attivamente | CompletionUsage | Statistiche di utilizzo per la richiesta di completamento. |
Dettagli
Nome | Tipo | Descrizione |
---|---|---|
loc | string[] | Parametro che causa il problema |
value | string | Valore trasmesso al parametro che causa problemi. |
TextCompletionObject
Tipo di oggetto, che è sempre "text_completion"
Nome | Tipo | Descrizione |
---|---|---|
text_completion | string |
ListObject
Il tipo di oggetto, che è sempre "elenco".
Nome | Tipo | Descrizione |
---|---|---|
list | string |
NotFoundError
Nome | Tipo | Descrizione |
---|---|---|
Errore | string | Descrizione dell'errore. |
messaggio | string | Messaggio di errore. |
stato | integer | Codice di stato HTTP. |
TooManyRequestsError
Nome | Tipo | Descrizione |
---|---|---|
Errore | string | Descrizione dell'errore. |
messaggio | string | Messaggio di errore. |
stato | integer | Codice di stato HTTP. |
UnauthorizedError
Nome | Tipo | Descrizione |
---|---|---|
Errore | string | Descrizione dell'errore. |
messaggio | string | Messaggio di errore. |
stato | integer | Codice di stato HTTP. |
UnprocessableContentError
Nome | Tipo | Descrizione |
---|---|---|
codice | string | Codice errore. |
detail | Detail | |
Errore | string | Descrizione dell'errore. |
messaggio | string | Messaggio di errore. |
stato | integer | Codice di stato HTTP. |