Suchergebnisse von StreamAssist erhalten

In Ihrer Web-App können Sie Antworten auf Ihre Fragen in Form von Streaming-Antworten erhalten. In diesem Dokument erfahren Sie, wie Sie mit der REST API Antworten erhalten. Wenn Sie die Gemini Enterprise Web-App verwenden möchten, lesen Sie den Hilfeartikel Mit dem Assistenten chatten.

StreamAssist-Übersicht

StreamAssist bietet eine leistungsstarke, interaktive Möglichkeit, Nutzeranfragen zu bearbeiten. Es funktioniert im Streaming-Modus und ermöglicht so Echtzeit-Interaktionen.

Zu den wichtigsten Funktionen der API gehören:

  • Kontext der Unterhaltung beibehalten: Es verwendet Sitzungen, um den Kontext der Unterhaltung beizubehalten, damit Folgefragen im Rahmen früherer Interaktionen verstanden werden.

  • Bereitgestellte Dateien einbeziehen: Die angehängten Dateien werden als Kontext für fundiertere und relevantere Antworten verwendet.

  • Nahtlose Integration: Er lässt sich in verschiedene KI-Agenten und Tools einbinden, um eine Vielzahl von Nutzeranfragen zu erfüllen.

Hinweis

Die müssen Folgendes haben:

  • Die Discovery Engine API ist für Ihr Google Cloudaktiviert. Sie können sie in derGoogle Cloud Console auf der Seite Discovery Engine API aktivieren.

    Zur Discovery Engine API

  • Eine Discovery Engine-Rolle, der die Berechtigung discoveryengine.assistants.assist zugewiesen ist.

  • Eine vorhandene Gemini Enterprise-App. Informationen zum Erstellen einer App finden Sie unter App erstellen.

Suchergebnisse abrufen

Mit der Methode streamAssist können Sie Gemini Enterprise abfragen und Antworten erhalten. Der folgende curl-Befehl listet die Pflichtfelder auf.

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"
  }
}'

Ersetzen Sie Folgendes:

  • ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Geben Sie einen der folgenden Werte an:
  • us für die Multiregion „USA“
  • eu für die Multiregion „EU“
  • global für den Standort „Global“
Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • APP_ID: die eindeutige Kennung für die Gemini Enterprise-App.
  • LOCATION: die Multiregion Ihres Datenspeichers: global, us oder eu
  • QUERY_TEXT_1: der Text der Suchanfrage.
  • Weitere Informationen zu den Feldern und den zurückgegebenen Daten finden Sie unter Antworttext.

    Python

    Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise Python API.

    Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.

    from google.api_core.client_options import ClientOptions
    from google.cloud import discoveryengine_v1 as discoveryengine
    
    # TODO(developer): Update these variables before running the sample.
    project_id = "YOUR_PROJECT_ID"
    location = "YOUR_LOCATION"
    engine_id = "YOUR_APP_ID"
    query = "What is Gemini Enterprise?"
    
    
    def stream_assist_sample(
        project_id: str,
        location: str,
        engine_id: str,
        query: str,
    ):
        # For more information, refer to:
        # https://docs.cloud.google.com/gemini/enterprise/docs/locations#specify_a_multi-region_for_your_data_store
        client_options = (
            ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
            if location != "global"
            else None
        )
    
        client = discoveryengine.AssistantServiceClient(client_options=client_options)
    
        request = discoveryengine.StreamAssistRequest(
            name=client.assistant_path(
                project=project_id,
                location=location,
                collection="default_collection",
                engine=engine_id,
                assistant="default_assistant",
            ),
            query=discoveryengine.Query(text=query),
        )
    
        # Make the request
        stream = client.stream_assist(request=request)
    
        # Handle the response
        for response in stream:
            print(response)
    

    Suchergebnisse mit derselben Sitzung abrufen

    Wenn Sie eine Unterhaltung fortsetzen und Antworten von Gemini Enterprise in einer vorhandenen Sitzung erhalten möchten, verwenden Sie die Methode streamAssist. Das folgende Codebeispiel zeigt die Pflichtfelder:

    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"
      }
    }'
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Geben Sie einen der folgenden Werte an:
    • us für die Multiregion „USA“
    • eu für die Multiregion „EU“
    • global für den Standort „Global“
    Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • APP_ID: die eindeutige Kennung für die Gemini Enterprise-App.
  • LOCATION: die Multiregion Ihres Datenspeichers: global, us oder eu
  • QUERY_TEXT_2: der Text der Suchanfrage.
  • SESSION_ID: die ID einer Sitzung aus einer vorherigen Unterhaltung oder Anfrage.
  • Weitere Informationen zu den Feldern und den zurückgegebenen Daten finden Sie unter Antworttext.

    Python

    Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise Python API.

    Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.

    from google.api_core.client_options import ClientOptions
    from google.cloud import discoveryengine_v1 as discoveryengine
    
    # TODO(developer): Update these variables before running the sample.
    project_id = "YOUR_PROJECT_ID"
    location = "YOUR_LOCATION"
    engine_id = "YOUR_APP_ID"
    session = "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/sessions/SESSION_ID" # From previous session
    query = "What is Gemini Enterprise?"
    
    
    def stream_assist_session_sample(
        project_id: str,
        location: str,
        engine_id: str,
        session: str,
        query: str,
    ):
        # For more information, refer to:
        # https://docs.cloud.google.com/gemini/enterprise/docs/locations#specify_a_multi-region_for_your_data_store
        client_options = (
            ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
            if location != "global"
            else None
        )
    
        client = discoveryengine.AssistantServiceClient(client_options=client_options)
    
        request = discoveryengine.StreamAssistRequest(
            name=client.assistant_path(
                project=project_id,
                location=location,
                collection="default_collection",
                engine=engine_id,
                assistant="default_assistant",
            ),
            session=session,
            query=discoveryengine.Query(text=query),
        )
    
        # Make the request
        stream = client.stream_assist(request=request)
    
        # Handle the response
        for response in stream:
            print(response.answer)
            # Get Session ID
            print(response.session_info.session)
    

    Datei hochladen und Suchergebnisse abrufen (Vorabversion)

    Wenn Sie dem Assistenten mehr Kontext geben möchten, laden Sie eine Datei in eine Sitzung hoch und fragen Sie dann den Inhalt ab. Gehen Sie so vor:

    1. Laden Sie eine Datei mit der Methode addContextFile in eine Sitzung hoch.

      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"
      }'
      

      Ersetzen Sie Folgendes:

      • ENDPOINT_LOCATION: die Multiregion für Ihre API-Anfrage. Geben Sie einen der folgenden Werte an:
      • us für die Multiregion „USA“
      • eu für die Multiregion „EU“
      • global für den Standort „Global“
      Weitere Informationen zum Festlegen multiregionaler Standorte für Ihren Datenspeicher.
    2. PROJECT_ID: die ID Ihres Projekts in Google Cloud .
    3. LOCATION: Der multiregionale Standort Ihres Datenspeichers: global, us oder eu.
    4. APP_ID: die eindeutige Kennung für die Gemini Enterprise-App.
    5. SESSION_ID: die ID einer Sitzung aus einer vorherigen Unterhaltung oder Anfrage.
    6. FILE_NAME: Der Name der Datei.
    7. MIME_TYPE: Der MIME-Typ der Datei, z. B. text/plain oder application/pdf. Weitere Informationen zu den verschiedenen Medientypen finden Sie unter Medientypen.
    8. BASE64_ENCODED_FILE: die base64-codierte Darstellung der Datei.
    9. Weitere Informationen zu den Feldern und den zurückgegebenen Daten finden Sie unter Antworttext.