I modelli Gemini sono accessibili utilizzando le librerie OpenAI (Python e TypeScript / JavaScript) insieme all'API REST, aggiornando tre righe di codice e utilizzando la chiave API Gemini. Scopri di più su questa funzionalità nella guida alla compatibilità.
Metodo: chatCompletions
Genera un insieme di risposte dal modello in base a un input della cronologia chat.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
model
string
Obbligatorio. Il nome del Model
da utilizzare per generare il completamento. Al nome del modello verrà anteposto "models/" se non contiene una barra.
messages[]
object (Struct
format)
Obbligatorio. La cronologia chat da utilizzare per generare il completamento. Supporta query con un solo passaggio e con più passaggi. Nota: questo è un campo polimorfo, viene deserializzato in un messaggio di chat interna.
stream
boolean
Facoltativo. Indica se la risposta deve essere in streaming o se deve essere restituita una singola risposta.
Se true, il campo "object" nella risposta sarà "chat.completion.chunk". In caso contrario, sarà "chat.completion".
streamOptions
object (StreamOptions
)
Facoltativo. Opzioni per le richieste di streaming.
tools[]
object (ChatTool
)
Facoltativo. L'insieme di strumenti per i quali il modello può generare chiamate. Ogni strumento dichiara la propria firma.
toolChoice
value (Value
format)
Facoltativo. Controlla se il modello deve utilizzare o meno uno strumento e quale strumento utilizzare. Può essere: - La stringa "none" per disattivare gli strumenti. - La stringa "auto", per lasciare che sia il modello a decidere. - La stringa "required", per forzare il modello a utilizzare uno strumento. - Un oggetto descrittore del nome della funzione che specifica lo strumento da utilizzare. L'ultima opzione segue lo schema seguente: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Facoltativo. Quantità di completamenti candidati da generare. Deve essere un numero intero positivo. Se non viene impostato, il valore predefinito è 1.
stop
value (Value
format)
Facoltativo. L'insieme di sequenze di caratteri che interrompe la generazione dell'output. Nota: questo è un campo polimorfo. Deve contenere una stringa o stringhe ripetute.
maxCompletionTokens
integer
Facoltativo. Il numero massimo di token da includere in una risposta candidata. Deve essere un numero intero positivo.
maxTokens
integer
Facoltativo. Il numero massimo di token da includere in una risposta candidata. Deve essere un numero intero positivo. Questo campo è stato ritirato dall'SDK.
temperature
number
Facoltativo. Controlla la casualità dell'output.
topP
number
Facoltativo. La probabilità cumulativa massima dei token da considerare durante il campionamento.
responseFormat
object (ResponseFormat
)
Facoltativo. Definisce il formato della risposta. Se non è impostato, la risposta verrà formattata come testo.
Corpo della risposta
In caso di esito positivo, la risposta è una risposta HTTP generica il cui formato è definito dal metodo.
Metodo: embeddings
Genera embedding dal modello in base a un input.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta /embeddings
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
input
value (Value
format)
Obbligatorio. L'input per cui generare gli incorporamenti. Può essere una stringa o un elenco di stringhe. L'SDK supporta un elenco di numeri e un elenco di elenchi di numeri, ma non è ancora implementato.
model
string
Obbligatorio. Modello per cui generare gli incorporamenti.
encodingFormat
string
Facoltativo. Il formato della codifica. Deve essere "float" o "base64".
dimensions
integer
Facoltativo. Dimensioni dimensionali degli embedding generati.
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di GenerateEmbeddingsResponse
.
Metodo: listModels
Elenca i modelli attualmente disponibili.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di SdkListModelsResponse
.
Metodo: chat.completions
Genera un insieme di risposte dal modello in base a un input della cronologia chat.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
model
string
Obbligatorio. Il nome del Model
da utilizzare per generare il completamento. Al nome del modello verrà anteposto "models/" se non contiene una barra.
messages[]
object (Struct
format)
Obbligatorio. La cronologia chat da utilizzare per generare il completamento. Supporta query con un solo passaggio e con più passaggi. Nota: questo è un campo polimorfo, viene deserializzato in un messaggio di chat interna.
stream
boolean
Facoltativo. Indica se la risposta deve essere in streaming o se deve essere restituita una singola risposta.
Se true, il campo "object" nella risposta sarà "chat.completion.chunk". In caso contrario, sarà "chat.completion".
streamOptions
object (StreamOptions
)
Facoltativo. Opzioni per le richieste di streaming.
tools[]
object (ChatTool
)
Facoltativo. L'insieme di strumenti per i quali il modello può generare chiamate. Ogni strumento dichiara la propria firma.
toolChoice
value (Value
format)
Facoltativo. Controlla se il modello deve utilizzare o meno uno strumento e quale strumento utilizzare. Può essere: - La stringa "none" per disattivare gli strumenti. - La stringa "auto", per lasciare che sia il modello a decidere. - La stringa "required", per forzare il modello a utilizzare uno strumento. - Un oggetto descrittore del nome della funzione che specifica lo strumento da utilizzare. L'ultima opzione segue lo schema seguente: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Facoltativo. Quantità di completamenti candidati da generare. Deve essere un numero intero positivo. Se non viene impostato, il valore predefinito è 1.
stop
value (Value
format)
Facoltativo. L'insieme di sequenze di caratteri che interrompe la generazione dell'output. Nota: questo è un campo polimorfo. Deve contenere una stringa o stringhe ripetute.
maxCompletionTokens
integer
Facoltativo. Il numero massimo di token da includere in una risposta candidata. Deve essere un numero intero positivo.
maxTokens
integer
Facoltativo. Il numero massimo di token da includere in una risposta candidata. Deve essere un numero intero positivo. Questo campo è stato ritirato dall'SDK.
temperature
number
Facoltativo. Controlla la casualità dell'output.
topP
number
Facoltativo. La probabilità cumulativa massima dei token da considerare durante il campionamento.
responseFormat
object (ResponseFormat
)
Facoltativo. Definisce il formato della risposta. Se non è impostato, la risposta verrà formattata come testo.
Corpo della risposta
In caso di esito positivo, la risposta è una risposta HTTP generica il cui formato è definito dal metodo.
Metodo: embeddings.generate
Genera embedding dal modello in base a un input.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
input
value (Value
format)
Obbligatorio. L'input per cui generare gli incorporamenti. Può essere una stringa o un elenco di stringhe. L'SDK supporta un elenco di numeri e un elenco di elenchi di numeri, ma non è ancora implementato.
model
string
Obbligatorio. Modello per cui generare gli incorporamenti.
encodingFormat
string
Facoltativo. Il formato della codifica. Deve essere "float" o "base64".
dimensions
integer
Facoltativo. Dimensioni dimensionali degli embedding generati.
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di GenerateEmbeddingsResponse
.
Metodo: openai.chat.completions
Genera un insieme di risposte dal modello in base a un input della cronologia chat.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
model
string
Obbligatorio. Il nome del Model
da utilizzare per generare il completamento. Al nome del modello verrà anteposto "models/" se non contiene una barra.
messages[]
object (Struct
format)
Obbligatorio. La cronologia chat da utilizzare per generare il completamento. Supporta query con un solo passaggio e con più passaggi. Nota: questo è un campo polimorfo, viene deserializzato in un messaggio di chat interna.
stream
boolean
Facoltativo. Indica se la risposta deve essere in streaming o se deve essere restituita una singola risposta.
Se true, il campo "object" nella risposta sarà "chat.completion.chunk". In caso contrario, sarà "chat.completion".
streamOptions
object (StreamOptions
)
Facoltativo. Opzioni per le richieste di streaming.
tools[]
object (ChatTool
)
Facoltativo. L'insieme di strumenti per i quali il modello può generare chiamate. Ogni strumento dichiara la propria firma.
toolChoice
value (Value
format)
Facoltativo. Controlla se il modello deve utilizzare o meno uno strumento e quale strumento utilizzare. Può essere: - La stringa "none" per disattivare gli strumenti. - La stringa "auto", per lasciare che sia il modello a decidere. - La stringa "required", per forzare il modello a utilizzare uno strumento. - Un oggetto descrittore del nome della funzione che specifica lo strumento da utilizzare. L'ultima opzione segue lo schema seguente: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Facoltativo. Quantità di completamenti candidati da generare. Deve essere un numero intero positivo. Se non viene impostato, il valore predefinito è 1.
stop
value (Value
format)
Facoltativo. L'insieme di sequenze di caratteri che interrompe la generazione dell'output. Nota: questo è un campo polimorfo. Deve contenere una stringa o stringhe ripetute.
maxCompletionTokens
integer
Facoltativo. Il numero massimo di token da includere in una risposta candidata. Deve essere un numero intero positivo.
maxTokens
integer
Facoltativo. Il numero massimo di token da includere in una risposta candidata. Deve essere un numero intero positivo. Questo campo è stato ritirato dall'SDK.
temperature
number
Facoltativo. Controlla la casualità dell'output.
topP
number
Facoltativo. La probabilità cumulativa massima dei token da considerare durante il campionamento.
responseFormat
object (ResponseFormat
)
Facoltativo. Definisce il formato della risposta. Se non è impostato, la risposta verrà formattata come testo.
Corpo della risposta
In caso di esito positivo, la risposta è una risposta HTTP generica il cui formato è definito dal metodo.
Metodo: openai.embeddings
Genera embedding dal modello in base a un input.
Endpoint
posthttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
input
value (Value
format)
Obbligatorio. L'input per cui generare gli incorporamenti. Può essere una stringa o un elenco di stringhe. L'SDK supporta un elenco di numeri e un elenco di elenchi di numeri, ma non è ancora implementato.
model
string
Obbligatorio. Modello per cui generare gli incorporamenti.
encodingFormat
string
Facoltativo. Il formato della codifica. Deve essere "float" o "base64".
dimensions
integer
Facoltativo. Dimensioni dimensionali degli embedding generati.
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di GenerateEmbeddingsResponse
.
Metodo: openai.models
Elenca i modelli attualmente disponibili.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
L'URL utilizza la sintassi di transcodifica gRPC.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene un'istanza di SdkListModelsResponse
.
ChatTool
Uno strumento per cui il modello può generare chiamate.
function
object (ChatFunction
)
Obbligatorio. Il nome dello strumento.
type
string
Obbligatorio. Obbligatorio, deve essere "function".
Rappresentazione JSON |
---|
{
"function": {
object ( |
ChatFunction
Una funzione per la quale il modello può generare chiamate.
name
string
Obbligatorio. Il nome della funzione.
description
string
Facoltativo. Una descrizione della funzione.
parameters
object (Struct
format)
Facoltativo. I parametri della funzione.
strict
boolean
Facoltativo. Indica se la convalida dello schema è rigorosa. Se il valore è true, il modello non andrà a buon fine se lo schema non è valido. NOTA: al momento questo parametro viene ignorato.
Rappresentazione JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
Risposta per la generazione di incorporamenti.
object
string
Solo output. Sempre "embedding", richiesto dall'SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
Solo output. Un elenco degli incorporamenti richiesti.
model
string
Solo output. Modello utilizzato per generare gli embedding.
Rappresentazione JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
Un vettore di embedding generato dal modello.
object
string
Solo output. Sempre "embedding", richiesto dall'SDK.
index
integer
Solo output. Indice dell'incorporamento nell'elenco degli incorporamenti.
embedding
value (Value
format)
Solo output. Il vettore di embedding generato per l'input. Può essere un elenco di numeri in virgola mobile o una stringa base64 che codifica un elenco di numeri in virgola mobile con layout in stile C (compatibile con Numpy).
Rappresentazione JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
Messaggio che rappresenta un corpo HTTP arbitrario. Deve essere utilizzato solo per i formati di payload che non possono essere rappresentati come JSON, ad esempio un programma binario raw o una pagina HTML.
Questo messaggio può essere utilizzato nei metodi API in streaming e non in streaming, sia nella richiesta sia nella risposta.
Può essere utilizzato come campo di richiesta di livello superiore, il che è utile se si vogliono estrarre dei parametri dall'URL o dal modello HTTP per i campi della richiesta e si vuole anche l'accesso al corpo HTTP raw.
Esempio:
message GetResourceRequest {
// A unique request id.
string requestId = 1;
// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;
}
service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);
}
Esempio con metodi in streaming:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
L'utilizzo di questo tipo modifica solo il modo in cui vengono gestiti i corpi di richiesta e risposta; tutte le altre funzionalità continueranno a funzionare in modo invariato.
contentType
string
Il valore dell'intestazione Content-Type HTTP che specifica il tipo di contenuto del corpo.
data
string (bytes format)
Il corpo della richiesta/risposta HTTP come dati binari non elaborati.
Una stringa con codifica Base64.
extensions[]
object
Metadati di risposta specifici dell'applicazione. Devono essere impostati nella prima risposta per le API in streaming.
Un oggetto contenente campi di tipo arbitrario. Un campo aggiuntivo "@type"
contiene un URI che identifica il tipo. Esempio: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Rappresentazione JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
Definisce il formato della risposta.
type
string
Obbligatorio. Tipo di risposta. Può essere: - "text": formatta la risposta come testo. - "json_object": formatta la risposta come oggetto JSON. - "jsonSchema": formatta la risposta come oggetto JSON seguendo lo schema specificato.
jsonSchema
object (ResponseFormatSchema
)
Facoltativo. Lo schema JSON da seguire. Viene utilizzato solo se il tipo è "jsonSchema".
Rappresentazione JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
Schema della risposta.
description
string
Facoltativo. Descrizione dell'oggetto rappresentato dallo schema.
name
string
Obbligatorio. Nome del tipo di oggetto rappresentato dallo schema.
strict
boolean
Facoltativo. Indica se la convalida dello schema è rigorosa. Se il valore è true, il modello non andrà a buon fine se lo schema non è valido. NOTA: al momento questo parametro viene ignorato.
schema
object (Struct
format)
Facoltativo. Lo schema JSON da seguire.
Rappresentazione JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
Risposta per i modelli di elenco.
object
string
Solo output. Sempre "list", obbligatorio per l'SDK.
data[]
object (SdkModel
)
Solo output. Un elenco degli incorporamenti richiesti.
Rappresentazione JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
L'oggetto modello.
id
string
Solo output. ID del modello.
object
string
Solo output. Sempre "model", richiesto dall'SDK.
created
string (int64 format)
Solo output. Il timestamp Unix (in secondi) della creazione del modello.
owned_by
string
Solo output. L'organizzazione proprietaria del modello.
Rappresentazione JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |