L'API Gemini Chat Completamenti ti consente di inviare richieste ai l'API Gemini di Vertex AI mediante le librerie OpenAI per Python e REST. Se usi già le librerie OpenAI, puoi usare questa API per cambiare tra le chiamate ai modelli OpenAI Gemini per confrontare output, costi e scalabilità, senza modificare il codice esistente. Se non usi già le librerie OpenAI, ti consigliamo chiama l'API Gemini strato Add.
Modelli supportati
Modello | Versione |
---|---|
Gemini 1.5 Flash | google/gemini-1.5-flash-001 |
Gemini 1.5 Pro | google/gemini-1.5-pro-001 |
Gemini 1.0 Pro Vision | google/gemini-1.0-pro-vision google/gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | google/gemini-1.0-pro-002 google/gemini-1.0-pro-001 google/gemini-1.0-pro |
Autentica
Per utilizzare le librerie Python di OpenAI, installa l'SDK OpenAI:
pip install openai
Per eseguire l'autenticazione con l'API Gemini Chat Completamenti, puoi: puoi modificare la configurazione del client o il tuo ambiente per utilizzare l'autenticazione Google e un modello Vertex AI endpoint. Scegli una delle seguenti opzioni, a seconda di quale delle due opzioni è più semplice:
Configurazione client
Per ottenere in modo programmatico le credenziali Google in Python, puoi utilizzare il comando
SDK Python google-auth
:
pip install google-auth
pip install requests
Modifica l'SDK OpenAI in modo che punti alla chat di Vertex AI endpoint di completamento:
# Programmatically get an access token
creds, project = google.auth.default()
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)
# Note: the credential lives for 1 hour by default (https://cloud.google.com/docs/authentication/token-types#at-lifetime); after expiration, it must be refreshed.
# Pass the Vertex endpoint and authentication to the OpenAI SDK
PROJECT = 'PROJECT_ID'
LOCATION = 'LOCATION'
MODEL_ID = 'MODEL_ID'
client = openai.OpenAI(
base_url = f'https://{LOCATION}-aiplatform.googleapis.com/v1beta1/projects/{PROJECT}/locations/{LOCATION}/endpoints/openapi',
api_key = creds.token)
Per impostazione predefinita, i token di accesso durano un'ora. Puoi
Prolungare la vita del tuo token di accesso
oppure aggiorna periodicamente il token e la variabile openai.api_key
.
Variabili di ambiente
Installa Google Cloud CLI. La libreria OpenAI può
lettura degli ambienti OPENAI_API_KEY
e OPENAI_BASE_URL
per modificare l'autenticazione e l'endpoint nel loro client predefinito.
Imposta le seguenti variabili:
$ export PROJECT=PROJECT_ID
$ export LOCATION=LOCATION
$ export MODEL_ID=MODEL_ID
$ export OPENAI_API_KEY="$(gcloud auth application-default print-access-token)"
$ export OPENAI_BASE_URL="https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT}/locations/${LOCATION}/endpoints/openapi"
Quindi, inizializza il client:
client = openai.OpenAI()
L'API Gemini Chat Completamenti utilizza OAuth per l'autenticazione
con un
token di accesso di breve durata.
Per impostazione predefinita, i token di accesso durano un'ora. Puoi
Prolungare la vita del tuo token di accesso
oppure aggiorna periodicamente il token e aggiorna OPENAI_API_KEY
variabile di ambiente.
Chiamare l'API Gemini Chat Completamenti
Immissione testo
Il seguente esempio mostra come inviare richieste non di streaming:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi/chat/completions \ -d '{ "model": "google/${MODEL_ID}", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
L'esempio seguente mostra come inviare richieste di streaming:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi/chat/completions \ -d '{ "model": "google/${MODEL_ID}", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta documentazione di riferimento dell'API Python.
Parametri supportati
L'API Gemini Chat Completamenti supporta le seguenti funzionalità OpenAI parametri. Per una descrizione di ogni parametro, consulta la documentazione di OpenAI su Creazione di completamenti della chat.
messages |
|
model |
|
max_tokens |
|
n |
|
response_format |
|
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
function_call |
Questo campo è obsoleto, ma è supportato per le versioni precedenti la compatibilità. |
functions |
Questo campo è obsoleto, ma è supportato per le versioni precedenti la compatibilità. |
Se passi qualsiasi parametro non supportato, questo viene ignorato.
Passaggi successivi
- Guarda alcuni esempi di chiamate API Inference con la sintassi compatibile con OpenAI.
- Guarda alcuni esempi di chiamate API Funzione chiamata con una sintassi compatibile con OpenAI.
- Scopri di più sull'API Gemini.
- Scopri di più sulla migrazione da Azure OpenAI all'API Gemini.