Obtenir des résultats de recherche depuis StreamAssist

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 :

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-Unis
    • eu- pour la multirégion de l'UE
    • global- pour l'emplacement "Global"
    Pour en savoir plus, consultez Spécifier une région multiple pour votre datastore.
  • 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, us ou eu
  • 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-Unis
    • eu- pour la multirégion de l'UE
    • global- pour l'emplacement "Global"
    Pour en savoir plus, consultez Spécifier une région multiple pour votre datastore.
  • 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, us ou eu
  • 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 :

  1. 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-Unis
      • eu- pour la multirégion de l'UE
      • global- pour l'emplacement "Global"
      Pour en savoir plus, consultez Spécifier une région multiple pour votre datastore.
    • PROJECT_ID : ID de votre projet Google Cloud .
    • LOCATION : région multirégionale de votre data store : global, us ou eu
    • 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/plain ou application/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.

  2. 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-Unis
      • eu- pour la multirégion de l'UE
      • global- pour l'emplacement "Global"
      Pour en savoir plus, consultez Spécifier une région multiple pour votre datastore.
    • 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, us ou eu
    • 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.