Condividi tramite


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.