Questo documento mostra come utilizzare l'API Chat Completions compatibile con OpenAI per interagire con i modelli Vertex AI. Questo documento tratta i seguenti argomenti:
- Modelli supportati:scopri quali modelli Gemini e Model Garden autogestiti sono compatibili con l'API.
- Parametri supportati: consulta l'elenco dei parametri standard di OpenAI che puoi utilizzare.
- Parametri di input multimodale: scopri come utilizzare input multimodali come audio e immagini.
- Parametri specifici di Gemini: scopri come utilizzare le funzionalità specifiche di Gemini tramite i campi
extra_body
eextra_part
.
L'API Chat Completions è un endpoint compatibile con OpenAI che ti consente di utilizzare le librerie Python e REST di OpenAI per interagire con Gemini su Vertex AI. Se utilizzi già le librerie OpenAI, questa API offre un modo per passare dai modelli OpenAI a quelli ospitati su Vertex AI per confrontare output, costi e scalabilità con modifiche minime al codice esistente. Se non utilizzi le librerie OpenAI, ti consigliamo di utilizzare l'SDK Google Gen AI.
Modelli supportati
L'API Chat Completions supporta sia i modelli Gemini sia alcuni modelli autogestiti di Model Garden.
Modelli Gemini
L'API Chat Completions supporta i seguenti modelli Gemini:
Modelli con deployment autonomo da Model Garden
I container Hugging Face Text Generation Interface (HF TGI) e Vertex AI Model Garden prebuilt vLLM 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ù popolari per contenitore:
HF TGI |
vLLM |
---|---|
Parametri supportati
Per i modelli Google, l'API Chat Completions supporta i seguenti parametri OpenAI. Per una descrizione di ciascun parametro, consulta la documentazione di OpenAI sulla 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 |
|
max_completion_tokens |
Alias per max_tokens . |
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 .
|
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
opzioni secondarie. |
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, vedi GenerateContent
.
Per ulteriori informazioni sulla codifica Base64 di OpenAI, consulta la documentazione.
Per l'utilizzo, consulta i nostri esempi di input multimodale.
Parametri specifici di Gemini
Per utilizzare le funzionalità supportate da Gemini ma non dai modelli OpenAI, trasmettili come parametri all'interno di un campo extra_content
o extra_body
. Se passi queste funzionalità al di fuori di questi campi, vengono ignorate.
extra_body
funzionalità
Per utilizzare le funzionalità specifiche di Gemini extra_body
, includile in un campo google
.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Corrisponde al SafetySetting di Gemini. |
cached_content |
Corrisponde al GenerateContentRequest.cached_content di Gemini. |
thinking_config |
Corrisponde al GenerationConfig.ThinkingConfig di Gemini. |
thought_tag_marker |
Utilizzato per separare i pensieri di un modello dalle sue risposte per i modelli con la funzionalità Pensiero disponibile. Se non specificato, non verranno restituiti tag intorno ai pensieri del modello. Se presenti, le query successive rimuoveranno i tag dei pensieri e contrassegneranno i pensieri in modo appropriato per il contesto. In questo modo viene mantenuto il contesto appropriato per le query successive. |
extra_part
funzionalità
Il campo extra_part
consente di specificare impostazioni aggiuntive per ogni Part
. Per utilizzare le funzionalità specifiche di Gemini extra_part
, includile in un campo google
.
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
Un campo per aggiungere contenuti specifici di Gemini che non devono essere ignorati. |
thought |
In questo modo viene indicato esplicitamente se un campo è un pensiero (e ha la precedenza su
thought_tag_marker ). Questo deve essere utilizzato per specificare se una chiamata di strumento
fa parte di un pensiero o meno. |
Passaggi successivi
- Scopri di più su autenticazione e accreditamento con la sintassi compatibile con OpenAI.
- Vedi esempi di chiamate all'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.