StreamAssist から検索結果を取得する

ウェブアプリでは、質問に対する回答をストリーミング レスポンスの形式で取得できます。このドキュメントでは、REST API を使用して回答を取得する方法について説明します。Gemini Enterprise ウェブアプリを使用する場合は、アシスタントとチャットするをご覧ください。

StreamAssist の概要

StreamAssist は、ユーザーのクエリを処理するための強力でインタラクティブな方法を提供します。ストリーミング形式で動作し、リアルタイムの双方向のやり取りを可能にします。

API の主な機能は次のとおりです。

  • 会話のコンテキストの維持: セッションを使用して会話のコンテキストを維持し、以前のやり取りの範囲内でフォローアップのクエリを理解できるようにします。

  • 提供されたファイルを組み込む: 添付ファイルをコンテキストとして含め、より多くの情報に基づいた関連性の高い回答を生成します。

  • シームレスな統合: さまざまなエージェントやツールと統合して、幅広いユーザー リクエストに対応します。

始める前に

以下があることを確認してください。

検索結果を取得する

streamAssist メソッドを使用して、Gemini Enterprise にクエリを送信し、回答を取得できます。次の curl コマンドは、必須フィールドの一覧を取得します。

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

次のように置き換えます。

  • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
    • 米国のマルチリージョンの場合は us-
    • EU のマルチリージョンの場合は eu-
    • グローバル ロケーションの場合は global-
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • APP_ID: Gemini Enterprise アプリの固有識別子。
  • LOCATION: データストアのマルチリージョン(globaluseu
  • QUERY_TEXT_1: 検索クエリのテキスト。

フィールドと返される内容の詳細については、レスポンス本文をご覧ください。

同じセッションを使用して検索結果を取得する

既存のセッション内で会話を継続して Gemini Enterprise から回答を取得するには、streamAssist メソッドを使用します。次のコードサンプルは、必須フィールドを示しています。

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

次のように置き換えます。

  • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
    • 米国のマルチリージョンの場合は us-
    • EU のマルチリージョンの場合は eu-
    • グローバル ロケーションの場合は global-
    詳細については、データストアのマルチリージョンを指定するをご覧ください。
  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • APP_ID: Gemini Enterprise アプリの固有識別子。
  • LOCATION: データストアのマルチリージョン(globaluseu
  • QUERY_TEXT_2: 検索クエリのテキスト。
  • SESSION_ID: 前の会話またはクエリのセッション ID。

フィールドと返される内容の詳細については、レスポンス本文をご覧ください。

ファイルをアップロードして検索結果を取得する(プレビュー)

アシスタントにコンテキストを追加するには、セッションにファイルをアップロードしてから、そのコンテンツをクエリします。手順は次のとおりです。

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

    次のように置き換えます。

    • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
      • 米国のマルチリージョンの場合は us-
      • EU のマルチリージョンの場合は eu-
      • グローバル ロケーションの場合は global-
      詳細については、データストアのマルチリージョンを指定するをご覧ください。
    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • LOCATION: データストアのマルチリージョン(globaluseu
    • APP_ID: Gemini Enterprise アプリの固有識別子。
    • SESSION_ID: 前の会話またはクエリのセッション ID。
    • FILE_NAME: ファイルの名前。
    • MIME_TYPE: ファイルの MIME タイプ(text/plainapplication/pdf など)。さまざまなメディア タイプの詳細については、メディア タイプをご覧ください。
    • BASE64_ENCODED_FILE: ファイルの base64 エンコード表現。

    フィールドと返される内容の詳細については、レスポンス本文をご覧ください。

  2. 同じセッションを使用して、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"
      }
    }'
    
    

    次のように置き換えます。

    • ENDPOINT_LOCATION-: API リクエストのマルチリージョン。次のいずれかの値を割り当てます。
      • 米国のマルチリージョンの場合は us-
      • EU のマルチリージョンの場合は eu-
      • グローバル ロケーションの場合は global-
      詳細については、データストアのマルチリージョンを指定するをご覧ください。
    • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • APP_ID: Gemini Enterprise アプリの固有識別子。
    • LOCATION: データストアのマルチリージョン(globaluseu
    • QUERY_TEXT_3: 検索クエリのテキスト。
    • SESSION_ID: 前の会話またはクエリのセッション ID。
    • FILE_ID: アシスタントにアップロードしたファイルの ID。

    フィールドと返される内容の詳細については、レスポンス本文をご覧ください。