L'API Chat Completions fonctionne comme un point de terminaison compatible avec Open AI et conçu pour faciliter l'interaction avec Gemini sur Vertex AI à l'aide des bibliothèques Open AI pour Python et REST. Si vous utilisez déjà les bibliothèques OpenAI, vous pouvez utiliser cette API pour passer de l'appel de modèles OpenAI à l'appel de modèles hébergés par Vertex AI afin d'en comparer la sortie, les coûts et l'évolutivité, sans modifier votre code existant. Si vous n'utilisez pas encore les bibliothèques OpenAI, nous vous recommandons d'utiliser le SDK Google Gen AI.
Modèles compatibles
L'API Chat Completions est compatible avec les modèles Gemini et certains modèles auto-déployés de Model Garden.
Modèles Gemini
Les modèles suivants sont compatibles avec l'API Chat Completions :
Modèles déployés automatiquement à partir de Model Garden
Les conteneurs pour HuggingFace Text Generation Interface (HF TGI) et les vLLM Vertex AI Model Garden prédéfinis sont compatibles avec l'API Chat Completions. Toutefois, tous les modèles déployés dans ces conteneurs ne sont pas compatibles avec l'API Chat Completions. Le tableau suivant inclut les modèles compatibles les plus populaires par conteneur :
HF TGI |
vLLM |
---|---|
Paramètres disponibles
Pour les modèles Google, l'API Chat Completions est compatible avec les paramètres OpenAI suivants. Pour obtenir une description de chaque paramètre, consultez la documentation d'OpenAI sur la création de complétion de chat. La disponibilité des paramètres pour les modèles tiers varie selon les modèles. Pour connaître les paramètres acceptés, consultez la documentation du modèle concerné.
messages |
|
model |
|
max_completion_tokens |
Alias pour max_tokens . |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
Configure la durée et le nombre de jetons utilisés pour une réponse.
reasoning_effort ou extra_body.google.thinking_config .
|
response_format |
|
seed |
Correspond à GenerationConfig.seed . |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
Correspond à l'outil GoogleSearch . Aucune sous-option n'est acceptée. |
function_call |
Ce champ est obsolète, mais reste disponible pour des raisons de rétrocompatibilité. |
functions |
Ce champ est obsolète, mais reste disponible pour des raisons de rétrocompatibilité. |
Si vous transmettez un paramètre non accepté, il est ignoré.
Paramètres d'entrée multimodaux
L'API Chat Completions est compatible avec certaines entrées multimodales.
input_audio |
|
image_url |
|
En général, le paramètre data
peut être un URI ou une combinaison de type MIME et d'octets encodés en base64 au format "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>"
.
Pour obtenir la liste complète des types MIME, consultez GenerateContent
.
Pour en savoir plus sur l'encodage base64 d'OpenAI, consultez sa documentation.
Pour en savoir plus sur l'utilisation, consultez nos exemples d'entrées multimodales.
Paramètres spécifiques à Gemini
Plusieurs caractéristiques compatibles avec Gemini ne sont pas disponibles dans les modèles OpenAI.
Celles-ci peuvent toujours être transmises en tant que paramètres, mais doivent être contenues dans un extra_content
ou un extra_body
. Dans le cas contraire, elles seront ignorées.
extra_body
fonctionnalités
Incluez un champ google
pour contenir les fonctionnalités extra_body
spécifiques à Gemini.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Cela correspond à l'élément SafetySetting de Gemini. |
cached_content |
Cela correspond à l'élément GenerateContentRequest.cached_content de Gemini. |
thinking_config |
Cela correspond à l'élément GenerationConfig.ThinkingConfig de Gemini. |
thought_tag_marker |
Permet de séparer les réflexions d'un modèle de ses réponses pour les modèles à raisonnement. Si cet élément n'est pas spécifié, aucun tag n'est renvoyé pour les réflexions du modèle. S'il l'est, les requêtes suivantes supprimeront les tags de réflexion et marqueront les réflexions de manière appropriée pour le contexte. Cela permet de conserver le contexte adéquat pour les requêtes suivantes. |
extra_part
fonctionnalités
extra_part
vous permet de spécifier des paramètres supplémentaires au niveau de chaque Part
.
Incluez un champ google
pour contenir les fonctionnalités extra_part
spécifiques à Gemini.
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
Champ permettant d'ajouter du contenu spécifique à Gemini qui ne doit pas être ignoré. |
thought |
Cela indique explicitement si un champ est une réflexion (et a la priorité sur thought_tag_marker ). Cela doit être utilisé pour spécifier si un appel d'outil fait partie d'une réflexion ou non. |
Étapes suivantes
- Apprenez-en plus sur l'authentification et la gestion d'identifiants avec la syntaxe compatible avec OpenAI.
- Consultez des exemples d'appel de l'API Chat Completions avec la syntaxe compatible avec OpenAI.
- Consultez des exemples d'appel de l'API Inference avec la syntaxe compatible avec OpenAI.
- Consultez des exemples d'appel de l'API Function Calling avec la syntaxe compatible avec OpenAI.
- Apprenez-en plus sur l'API Gemini.
- Apprenez-en plus sur la migration d'Azure OpenAI vers l'API Gemini.