Dans votre application Web, vous pouvez obtenir des réponses à vos questions sous forme de réponses en streaming. Ce document vous explique comment utiliser l'API REST pour obtenir des réponses. Si vous souhaitez utiliser l'application Web Gemini Enterprise, consultez Discuter avec l'assistant.
Présentation de StreamAssist
StreamAssist offre un moyen puissant et interactif de traiter les requêtes des utilisateurs. Il fonctionne en mode flux, ce qui permet des interactions bidirectionnelles en temps réel.
Voici les principales fonctionnalités de l'API :
Maintien du contexte conversationnel : il utilise des sessions pour maintenir le contexte conversationnel, ce qui lui permet de comprendre les requêtes complémentaires dans le champ d'application des interactions précédentes.
Intégration des fichiers fournis : les fichiers joints sont inclus en tant que contexte pour des réponses plus pertinentes et mieux informées.
Intégration parfaite : il s'intègre à divers agents et outils pour répondre à un large éventail de demandes des utilisateurs.
Avant de commencer
Assurez-vous de disposer des éléments suivants :
L'API Discovery Engine est activée pour votre Google Cloud. Vous pouvez l'activer sur la page API Discovery Engine de la consoleGoogle Cloud .
Un rôle Discovery Engine auquel est attribuée l'autorisation
discoveryengine.assistants.assist.Une application Gemini Enterprise existante. Pour créer une application, consultez Créer une application.
Obtenir des résultats de recherche
Vous pouvez utiliser la méthode streamAssist pour interroger Gemini Enterprise et obtenir des réponses. La commande curl suivante liste les champs obligatoires.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"query": {
"text": "QUERY_TEXT_1"
}
}'
Remplacez les éléments suivants :
- ENDPOINT_LOCATION- : région multirégionale pour votre requête API. Attribuez l'une des valeurs suivantes :
us-pour la multirégion des États-Uniseu-pour la multirégion de l'UEglobal-pour l'emplacement "Global"
- PROJECT_ID : ID de votre projet Google Cloud .
- APP_ID : identifiant unique de l'application Gemini Enterprise.
- LOCATION : région multirégionale de votre data store :
global,usoueu - QUERY_TEXT_1 : texte de la requête de recherche.
Pour en savoir plus sur les champs et les informations renvoyées, consultez Corps de la réponse.
Obtenir des résultats de recherche dans la même session
Pour poursuivre une conversation et obtenir des réponses de Gemini Enterprise dans une session existante, utilisez la méthode streamAssist. L'exemple de code suivant montre les champs obligatoires :
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \
-d '
{
"session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID",
"query": {
"text": "QUERY_TEXT_2"
}
}'
Remplacez les éléments suivants :
- ENDPOINT_LOCATION- : région multirégionale pour votre requête API. Attribuez l'une des valeurs suivantes :
us-pour la multirégion des États-Uniseu-pour la multirégion de l'UEglobal-pour l'emplacement "Global"
- PROJECT_ID : ID de votre projet Google Cloud .
- APP_ID : identifiant unique de l'application Gemini Enterprise.
- LOCATION : région multirégionale de votre data store :
global,usoueu - QUERY_TEXT_2 : texte de la requête de recherche.
- SESSION_ID : ID d'une session issue d'une conversation ou d'une requête précédente.
Pour en savoir plus sur les champs et les informations renvoyées, consultez Corps de la réponse.
Importer un fichier et obtenir des résultats de recherche (aperçu)
Pour fournir plus de contexte à l'assistant, importez un fichier dans une session, puis interrogez son contenu. Procédez comme suit :
Importez un fichier dans une session à l'aide de la méthode
addContextFile.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/sessions/SESSION_ID:addContextFile" \ -d ' { "fileName": "FILE_NAME", "mimeType": "MIME_TYPE", "fileContents": "BASE64_ENCODED_FILE" }'Remplacez les éléments suivants :
- ENDPOINT_LOCATION- : région multirégionale pour votre requête API. Attribuez l'une des valeurs suivantes :
us-pour la multirégion des États-Uniseu-pour la multirégion de l'UEglobal-pour l'emplacement "Global"
- PROJECT_ID : ID de votre projet Google Cloud .
- LOCATION : région multirégionale de votre data store :
global,usoueu - APP_ID : identifiant unique de l'application Gemini Enterprise.
- SESSION_ID : ID d'une session issue d'une conversation ou d'une requête précédente.
- FILE_NAME : nom du fichier.
- MIME_TYPE : type MIME du fichier, par exemple
text/plainouapplication/pdf. Pour en savoir plus sur les différents types de supports, consultez Types de supports. - BASE64_ENCODED_FILE : représentation du fichier encodée en base64.
Pour en savoir plus sur les champs et les informations renvoyées, consultez Corps de la réponse.
- ENDPOINT_LOCATION- : région multirégionale pour votre requête API. Attribuez l'une des valeurs suivantes :
Utilisez la même session pour poser une question sur le fichier que vous avez importé à l'aide de la méthode
streamAssist.REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant:streamAssist" \ -d ' { "session": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID", "fileIds": ["FILE_ID"], "query": { "text": "QUERY_TEXT_3" } }'Remplacez les éléments suivants :
- ENDPOINT_LOCATION- : région multirégionale pour votre requête API. Attribuez l'une des valeurs suivantes :
us-pour la multirégion des États-Uniseu-pour la multirégion de l'UEglobal-pour l'emplacement "Global"
- PROJECT_ID : ID de votre projet Google Cloud .
- APP_ID : identifiant unique de l'application Gemini Enterprise.
- LOCATION : région multirégionale de votre data store :
global,usoueu - QUERY_TEXT_3 : texte de la requête de recherche.
- SESSION_ID : ID d'une session issue d'une conversation ou d'une requête précédente.
- FILE_ID : ID du fichier que vous avez importé dans l'assistant.
Pour en savoir plus sur les champs et les informations renvoyées, consultez Corps de la réponse.
- ENDPOINT_LOCATION- : région multirégionale pour votre requête API. Attribuez l'une des valeurs suivantes :