Les modèles Gemini sont accessibles à l'aide des bibliothèques OpenAI (Python et TypeScript / JavaScript) ainsi que de l'API REST. Pour cela, vous devez modifier trois lignes de code et utiliser votre clé API Gemini. Pour en savoir plus sur cette fonctionnalité, consultez le guide de compatibilité.
Méthode: chatCompletions
Génère un ensemble de réponses à partir du modèle en fonction d'un historique de chat.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
model
string
Obligatoire. Nom de l'Model
à utiliser pour générer la saisie semi-automatique. Le nom du modèle sera précédé de "models/" s'il ne contient pas de barre oblique.
messages[]
object (Struct
format)
Obligatoire. Historique de chat à utiliser pour générer la finalisation. Compatible avec les requêtes à une ou plusieurs étapes. Remarque: Il s'agit d'un champ polymorphe, qui est désérialisé en InternalChatMessage.
stream
boolean
Facultatif. Indique si la réponse doit être diffusée ou renvoyée en une seule fois.
Si la valeur est "true", le champ "object" de la réponse est "chat.completion.chunk". Sinon, il s'agit de "chat.completion".
streamOptions
object (StreamOptions
)
Facultatif. Options pour les requêtes en streaming.
tools[]
object (ChatTool
)
Facultatif. Ensemble d'outils pour lesquels le modèle peut générer des appels. Chaque outil déclare sa signature.
toolChoice
value (Value
format)
Facultatif. Détermine si le modèle doit utiliser un outil ou non, et quel outil utiliser. Peut être: - la chaîne "none", pour désactiver les outils. - La chaîne "auto", pour laisser le modèle décider. - La chaîne "required", pour forcer le modèle à utiliser un outil. - Un objet descripteur de nom de fonction, spécifiant l'outil à utiliser. La dernière option suit le schéma suivant: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Facultatif. Nombre d'achèvements candidats à générer. Vous devez saisir un entier positif. Si cette clause n'est pas définie, la valeur par défaut est 1.
stop
value (Value
format)
Facultatif. Ensemble de séquences de caractères qui arrêtent la génération de sortie. Remarque: Il s'agit d'un champ polymorphe. Il doit contenir une chaîne ou des chaînes répétées.
maxCompletionTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans une réponse candidate. Vous devez saisir un entier positif.
maxTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans une réponse candidate. Vous devez saisir un entier positif. Ce champ est obsolète par le SDK.
temperature
number
Facultatif. Contrôle le caractère aléatoire de la sortie.
topP
number
Facultatif. Probabilité cumulée maximale des jetons à prendre en compte lors de l'échantillonnage.
responseFormat
object (ResponseFormat
)
Facultatif. Définit le format de la réponse. Si cette valeur n'est pas définie, la réponse sera mise en forme sous forme de texte.
Corps de la réponse
Si la requête aboutit, la réponse est une réponse HTTP générique dont le format est défini par la méthode.
Méthode: embeddings
Génère des représentations vectorielles continues à partir du modèle en fonction d'une entrée.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta /embeddings
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
input
value (Value
format)
Obligatoire. Entrée pour laquelle générer des embeddings. Il peut s'agir d'une chaîne ou d'une liste de chaînes. Le SDK accepte une liste de nombres et une liste de listes de nombres, mais cette fonctionnalité n'est pas encore implémentée.
model
string
Obligatoire. Modèle pour lequel générer les embeddings.
encodingFormat
string
Facultatif. Format de l'encodage. Doit être "float" ou "base64".
dimensions
integer
Facultatif. Taille des dimensions des représentations vectorielles continues générées.
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de GenerateEmbeddingsResponse
.
Méthode: listModels
Répertorie les modèles actuellement disponibles.
Point de terminaison
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête doit être vide.
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de SdkListModelsResponse
.
Méthode: chat.completions
Génère un ensemble de réponses à partir du modèle en fonction d'un historique de chat.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
model
string
Obligatoire. Nom de l'Model
à utiliser pour générer la saisie semi-automatique. Le nom du modèle sera précédé de "models/" s'il ne contient pas de barre oblique.
messages[]
object (Struct
format)
Obligatoire. Historique de chat à utiliser pour générer la finalisation. Compatible avec les requêtes à une ou plusieurs étapes. Remarque: Il s'agit d'un champ polymorphe, qui est désérialisé en InternalChatMessage.
stream
boolean
Facultatif. Indique si la réponse doit être diffusée ou renvoyée en une seule fois.
Si la valeur est "true", le champ "object" de la réponse est "chat.completion.chunk". Sinon, il s'agit de "chat.completion".
streamOptions
object (StreamOptions
)
Facultatif. Options pour les requêtes en streaming.
tools[]
object (ChatTool
)
Facultatif. Ensemble d'outils pour lesquels le modèle peut générer des appels. Chaque outil déclare sa signature.
toolChoice
value (Value
format)
Facultatif. Détermine si le modèle doit utiliser un outil ou non, et quel outil utiliser. Peut être: - la chaîne "none", pour désactiver les outils. - La chaîne "auto", pour laisser le modèle décider. - La chaîne "required", pour forcer le modèle à utiliser un outil. - Un objet descripteur de nom de fonction, spécifiant l'outil à utiliser. La dernière option suit le schéma suivant: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Facultatif. Nombre d'achèvements candidats à générer. Vous devez saisir un entier positif. Si cette clause n'est pas définie, la valeur par défaut est 1.
stop
value (Value
format)
Facultatif. Ensemble de séquences de caractères qui arrêtent la génération de sortie. Remarque: Il s'agit d'un champ polymorphe. Il doit contenir une chaîne ou des chaînes répétées.
maxCompletionTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans une réponse candidate. Vous devez saisir un entier positif.
maxTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans une réponse candidate. Vous devez saisir un entier positif. Ce champ est obsolète par le SDK.
temperature
number
Facultatif. Contrôle le caractère aléatoire de la sortie.
topP
number
Facultatif. Probabilité cumulée maximale des jetons à prendre en compte lors de l'échantillonnage.
responseFormat
object (ResponseFormat
)
Facultatif. Définit le format de la réponse. Si cette valeur n'est pas définie, la réponse sera mise en forme sous forme de texte.
Corps de la réponse
Si la requête aboutit, la réponse est une réponse HTTP générique dont le format est défini par la méthode.
Méthode: embeddings.generate
Génère des représentations vectorielles continues à partir du modèle en fonction d'une entrée.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
input
value (Value
format)
Obligatoire. Entrée pour laquelle générer des embeddings. Il peut s'agir d'une chaîne ou d'une liste de chaînes. Le SDK accepte une liste de nombres et une liste de listes de nombres, mais cette fonctionnalité n'est pas encore implémentée.
model
string
Obligatoire. Modèle pour lequel générer les embeddings.
encodingFormat
string
Facultatif. Format de l'encodage. Doit être "float" ou "base64".
dimensions
integer
Facultatif. Taille des dimensions des représentations vectorielles continues générées.
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de GenerateEmbeddingsResponse
.
Méthode: openai.chat.completions
Génère un ensemble de réponses à partir du modèle en fonction d'un historique de chat.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
model
string
Obligatoire. Nom de l'Model
à utiliser pour générer la saisie semi-automatique. Le nom du modèle sera précédé de "models/" s'il ne contient pas de barre oblique.
messages[]
object (Struct
format)
Obligatoire. Historique de chat à utiliser pour générer la finalisation. Compatible avec les requêtes à une ou plusieurs étapes. Remarque: Il s'agit d'un champ polymorphe, qui est désérialisé en InternalChatMessage.
stream
boolean
Facultatif. Indique si la réponse doit être diffusée ou renvoyée en une seule fois.
Si la valeur est "true", le champ "object" de la réponse est "chat.completion.chunk". Sinon, il s'agit de "chat.completion".
streamOptions
object (StreamOptions
)
Facultatif. Options pour les requêtes en streaming.
tools[]
object (ChatTool
)
Facultatif. Ensemble d'outils pour lesquels le modèle peut générer des appels. Chaque outil déclare sa signature.
toolChoice
value (Value
format)
Facultatif. Détermine si le modèle doit utiliser un outil ou non, et quel outil utiliser. Peut être: - la chaîne "none", pour désactiver les outils. - La chaîne "auto", pour laisser le modèle décider. - La chaîne "required", pour forcer le modèle à utiliser un outil. - Un objet descripteur de nom de fonction, spécifiant l'outil à utiliser. La dernière option suit le schéma suivant: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Facultatif. Nombre d'achèvements candidats à générer. Vous devez saisir un entier positif. Si cette clause n'est pas définie, la valeur par défaut est 1.
stop
value (Value
format)
Facultatif. Ensemble de séquences de caractères qui arrêtent la génération de sortie. Remarque: Il s'agit d'un champ polymorphe. Il doit contenir une chaîne ou des chaînes répétées.
maxCompletionTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans une réponse candidate. Vous devez saisir un entier positif.
maxTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans une réponse candidate. Vous devez saisir un entier positif. Ce champ est obsolète par le SDK.
temperature
number
Facultatif. Contrôle le caractère aléatoire de la sortie.
topP
number
Facultatif. Probabilité cumulée maximale des jetons à prendre en compte lors de l'échantillonnage.
responseFormat
object (ResponseFormat
)
Facultatif. Définit le format de la réponse. Si cette valeur n'est pas définie, la réponse sera mise en forme sous forme de texte.
Corps de la réponse
Si la requête aboutit, la réponse est une réponse HTTP générique dont le format est défini par la méthode.
Méthode: openai.embeddings
Génère des représentations vectorielles continues à partir du modèle en fonction d'une entrée.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
input
value (Value
format)
Obligatoire. Entrée pour laquelle générer des embeddings. Il peut s'agir d'une chaîne ou d'une liste de chaînes. Le SDK accepte une liste de nombres et une liste de listes de nombres, mais cette fonctionnalité n'est pas encore implémentée.
model
string
Obligatoire. Modèle pour lequel générer les embeddings.
encodingFormat
string
Facultatif. Format de l'encodage. Doit être "float" ou "base64".
dimensions
integer
Facultatif. Taille des dimensions des représentations vectorielles continues générées.
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de GenerateEmbeddingsResponse
.
Méthode: openai.models
Répertorie les modèles actuellement disponibles.
Point de terminaison
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
L'URL utilise la syntaxe de transcodage gRPC.
Corps de la requête
Le corps de la requête doit être vide.
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de SdkListModelsResponse
.
ChatTool
Outil pour lequel le modèle peut générer des appels.
function
object (ChatFunction
)
Obligatoire. Nom de l'outil.
type
string
Obligatoire. Obligatoire, doit être "function".
Représentation JSON |
---|
{
"function": {
object ( |
ChatFunction
Fonction pour laquelle le modèle peut générer des appels.
name
string
Obligatoire. Nom de la fonction.
description
string
Facultatif. Description de la fonction.
parameters
object (Struct
format)
Facultatif. Paramètres de la fonction.
strict
boolean
Facultatif. Indique si la validation du schéma est stricte. Si cette valeur est définie sur "true", le modèle échoue si le schéma n'est pas valide. REMARQUE: Ce paramètre est actuellement ignoré.
Représentation JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
Réponse pour la génération d'embeddings.
object
string
Uniquement en sortie. Toujours "intégration", requise par le SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
Uniquement en sortie. Liste des embeddings demandés.
model
string
Uniquement en sortie. Modèle utilisé pour générer les représentations vectorielles continues.
Représentation JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
Vecteur d'embedding généré par le modèle.
object
string
Uniquement en sortie. Toujours "intégration", requise par le SDK.
index
integer
Uniquement en sortie. Indice de l'embedding dans la liste des embeddings.
embedding
value (Value
format)
Uniquement en sortie. Vecteur d'embedding généré pour l'entrée. Il peut s'agir d'une liste de nombres à virgule flottante ou d'une chaîne en base64 encodant une liste de nombres à virgule flottante avec une mise en page de style C (compatible avec Numpy).
Représentation JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
Message qui représente un corps HTTP arbitraire. Il ne doit être utilisé que pour les formats de charge utile ne pouvant pas être représentés sous la forme JSON, tels que les fichiers binaires bruts ou les pages HTML.
Ce message peut aussi bien être utilisé dans les méthodes d'API de streaming que dans les autres dans la requête, ainsi que dans la réponse.
Il peut être utilisé en tant que champ de requête de niveau supérieur, ce qui est pratique si vous souhaitez extraire des paramètres de l'URL ou du modèle HTTP dans les champs de requête, et si vous souhaitez également accéder au corps HTTP brut.
Exemple :
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);
}
Exemple avec les méthodes de 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'utilisation de ce type de méthode modifie uniquement le traitement du corps des requêtes et des réponses. Toutes les autres fonctionnalités continuent à fonctionner de la même manière.
contentType
string
Valeur d'en-tête HTTP Content-Type spécifiant le type de contenu du corps de la requête.
data
string (bytes format)
Corps de la requête/réponse HTTP en tant que données binaires brutes.
Chaîne encodée en base64.
extensions[]
object
Métadonnées de réponse spécifiques à l'application. Doivent être définies dans la première réponse pour les API de streaming.
Objet contenant des champs d'un type arbitraire. Un champ supplémentaire "@type"
contient un URI identifiant le type. Exemple : { "id": 1234, "@type": "types.example.com/standard/id" }
.
Représentation JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
Définit le format de la réponse.
type
string
Obligatoire. Type de réponse. Peut être: - "text": formatez la réponse au format texte. - "json_object": formate la réponse en tant qu'objet JSON. - "jsonSchema": met en forme la réponse en tant qu'objet JSON conformément au schéma donné.
jsonSchema
object (ResponseFormatSchema
)
Facultatif. Schéma JSON à suivre. Utilisé uniquement si le type est "jsonSchema".
Représentation JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
Schéma de la réponse.
description
string
Facultatif. Description de l'objet représenté par le schéma.
name
string
Obligatoire. Nom du type d'objet représenté par le schéma.
strict
boolean
Facultatif. Indique si la validation du schéma est stricte. Si cette valeur est définie sur "true", le modèle échoue si le schéma n'est pas valide. REMARQUE: Ce paramètre est actuellement ignoré.
schema
object (Struct
format)
Facultatif. Schéma JSON à suivre.
Représentation JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
Réponse pour les modèles de liste.
object
string
Uniquement en sortie. Toujours "list", requis par le SDK.
data[]
object (SdkModel
)
Uniquement en sortie. Liste des embeddings demandés.
Représentation JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
Objet de modèle.
id
string
Uniquement en sortie. ID du modèle.
object
string
Uniquement en sortie. Toujours "model", requis par le SDK.
created
string (int64 format)
Uniquement en sortie. Code temporel Unix (en secondes) au moment de la création du modèle.
owned_by
string
Uniquement en sortie. Organisation propriétaire du modèle.
Représentation JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |