L'API Chat Completions funziona come un endpoint compatibile con OpenAI, progettato per semplificare l'interazione con Gemini su Vertex AI utilizzando le librerie OpenAI per Python e REST. Se utilizzi già le librerie OpenAI, puoi utilizzare questa API come un modo economico per passare dalla chiamata dei modelli OpenAI ai modelli ospitati da Vertex AI per confrontare output, costi e scalabilità, senza modificare il codice esistente. Se non utilizzi già le librerie OpenAI, ti consigliamo di utilizzare Google Gen AI SDK. Per eseguire la migrazione del codice SDK OpenAI esistente in modo da utilizzare SDK Google Gen AI, consulta Eseguire la migrazione da OpenAI SDK a SDK Google Gen AI.
Modelli supportati
L'API Chat Completions supporta sia i modelli Gemini sia i modelli con deployment autonomo selezionati da Model Garden.
Modelli Gemini
I seguenti modelli forniscono supporto per l'API Chat Completions:
Modelli con deployment autonomo da Model Garden
I container predefiniti vLLM di Hugging Face Text Generation Interface (HF TGI) e Vertex AI Model Garden supportano l'API Chat Completions. Tuttavia, non tutti i modelli di cui è stato eseguito il deployment in questi container supportano l'API Chat Completions. La tabella seguente include i modelli supportati più diffusi per container:
HF TGI |
vLLM |
|---|---|
Parametri supportati
Per i modelli Google, l'API Chat Completions supporta i seguenti parametri OpenAI. Per una descrizione di ogni parametro, consulta la documentazione di OpenAI su Creazione di completamenti di chat. Il supporto dei parametri per i modelli di terze parti varia in base al modello. Per vedere quali parametri sono supportati, consulta la documentazione del modello.
messages |
|
model |
|
detail |
Per i modelli precedenti a Gemini 3, il campo detail deve essere coerente in tutti i messaggi
e i contenuti (è a livello di richiesta). Per Gemini 3 e versioni successive, corrisponde a un `media_resolution` a livello di parte. Per saperne di più, consulta Risoluzione dei contenuti multimediali.
|
max_completion_tokens |
Alias di max_tokens. |
modalities |
Supporta audio, image e text. |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
Configura la quantità di tempo e il numero di token utilizzati per una risposta.
reasoning_effort o extra_body.google.thinking_config
può essere specificato.
|
response_format |
|
seed |
Corrisponde a GenerationConfig.seed. |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
Corrisponde allo strumento GoogleSearch. Non sono supportate le sotto-opzioni. |
function_call |
Questo campo è obsoleto, ma è supportato per la compatibilità con le versioni precedenti. |
functions |
Questo campo è obsoleto, ma è supportato per la compatibilità con le versioni precedenti. |
Se passi un parametro non supportato, questo viene ignorato.
Parametri di input multimodali
L'API Chat Completions supporta input multimodali selezionati.
input_audio |
|
image_url |
|
In generale, il parametro data può essere un URI o una combinazione di tipo MIME e byte codificati in base64 nel formato "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>".
Per un elenco completo dei tipi MIME, consulta GenerateContent.
Per saperne di più sulla codifica base64 di OpenAI, consulta la relativa documentazione.
Per l'utilizzo, consulta i nostri esempi di input multimodali.
Parametri specifici di Gemini
Esistono diverse funzionalità supportate da Gemini che non sono disponibili nei modelli OpenAI.
Queste funzionalità possono comunque essere passate come parametri, ma devono essere contenute in un extra_content o extra_body oppure verranno ignorate.
Funzionalità extra_body
Includi un campo google per contenere tutte le funzionalità extra_body specifiche di Gemini.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Corrisponde a Gemini
SafetySetting.
|
cached_content |
Corrisponde al campo di Gemini
generateContent.cached_content.
|
thinking_config |
Corrisponde a Gemini
GenerationConfig.ThinkingConfig.
|
thought_tag_marker |
Utilizzato per separare i pensieri di un modello dalle relative risposte per i modelli con la funzionalità Ragionamento disponibile. Se non viene specificato, non verranno restituiti tag intorno ai pensieri del modello. Se presente, le query successive rimuoveranno i tag dei pensieri e contrassegneranno i pensieri in modo appropriato per il contesto. In questo modo, il contesto appropriato viene mantenuto per le query successive. |
stream_function_call_arguments |
Trasmette gli argomenti della chiamata di funzione come segmenti di JSON. Per saperne di più, consulta Trasmettere gli argomenti della chiamata di funzione. |
tools |
Specifica gli strumenti in modo simile a `GenerateContent`. Per saperne di più, consulta
Tool. |
media_resolution |
Specifica una risoluzione dei contenuti multimediali a livello di richiesta simile a `GenerateContent`. Per saperne di più, consulta
MediaResolution. |
Funzionalità extra_content
extra_content consente di specificare contenuti specifici di Gemini che non devono essere ignorati.
Includi un campo google per contenere tutte le funzionalità extra_content specifiche di Gemini.
{
...,
"extra_content": {
"google": {
...,
// Add extra_content features here.
}
}
}
thought |
Questo campo indica esplicitamente se un campo è un pensiero e ha la precedenza
su thought_tag_marker. Aiuta a distinguere i diversi
passaggi di un processo di pensiero, soprattutto negli scenari di utilizzo degli strumenti in cui i passaggi intermedi
potrebbero essere confusi con le risposte finali. Contrassegnando parti specifiche dell'
input come pensieri, puoi indicare al modello di trattarli come ragionamenti interni anziché come risposte rivolte all'utente. |
thought_signature |
Un campo di byte che fornisce una firma di pensiero da convalidare rispetto ai
pensieri restituiti dal modello. Questo campo è diverso da
thought, che è un campo booleano. Per saperne di più, consulta
Firme di pensiero. |
parts |
Specifico per un messaggio dello strumento per restituire al modello le parti della risposta della funzione multimodale.
Per saperne di più, consulta
FunctionResponsePart e
Risposta della funzione multimodale. |
Passaggi successivi
- Scopri di più su autenticazione e credenziali con la sintassi compatibile con OpenAI.
- Consulta gli esempi di chiamata dell' API Chat Completions con la sintassi compatibile con OpenAI.
- Consulta gli esempi di chiamata dell' API Inference con la sintassi compatibile con OpenAI.
- Consulta gli esempi di chiamata dell' API Function Calling con la sintassi compatibile con OpenAI.
- Scopri di più sull'API Gemini.
- Scopri di più sulla migrazione da Azure OpenAI all'API Gemini.
- Per eseguire la migrazione del codice SDK OpenAI esistente in modo da utilizzare SDK Google Gen AI, consulta Eseguire la migrazione da OpenAI SDK a SDK Google Gen AI.