回答をストリーミングする

このページでは、ストリーミング回答メソッドについて説明します。

ストリーミング回答メソッドには、回答メソッドと同じ機能の多くに加えて、ストリーミングという機能が 1 つあります。回答をストリーミングすると、生成された回答は複数の部分に分割され、順番に送信されます。

回答のストリーミングは、生成された回答が長く、回答全体を一度に送信すると遅延が発生する場合に特に便利です。回答をストリーミングすると、レイテンシが軽減されます。

制限事項

ストリーミング回答メソッドには、回答メソッドと同じ機能がありますが、次の例外があります。

  • ストリーミング回答は英語でのみサポートされています。

  • 言い換えステップの数は 1 です。言い換えを無効にしたり、ステップの最大数を変更したりすることはできません。

  • ストリーミング回答のグラウンディング スコアは取得できません。また、十分に根拠のある回答のみを返すこともできません。

  • ストリーミング回答メソッドで使用できるのは Gemini モデルのみです。モデルのリストについては、使用可能なモデルをご覧ください。

回答をストリーミングする

次のコマンドは、ストリーミング回答メソッドを呼び出して、生成された回答を一連の JSON レスポンスの形式で返す方法を示しています。通常、各レスポンスには回答の 1 つの文が含まれます。

この基本コマンドには、必要な入力のみが表示されます。オプションはデフォルトのままにします。

他のオプションの例については、回答とフォローアップを取得するをご覧ください。一部の回答オプションは回答ストリーミングでは使用できません。このページの制限事項をご覧ください。

REST

生成された回答をストリーミングして検索結果を取得する手順は次のとおりです。

  1. 次の curl コマンドを実行します。

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:streamAnswer" \
      -d '{
            "query": { "text": "QUERY"}
          }'
    

    以下を置き換えます。

    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • APP_ID: クエリする Vertex AI Search アプリの ID。
    • QUERY: 質問または検索クエリを含む自由形式の文字列。たとえば、「bigquery と spanner のどちらが速いですか?」などです。

その他の例

回答をストリーミングするで説明した基本コマンドは、オプションを指定しない場合の最もシンプルなコマンドです。ただし、このページに記載されている制限事項を除き、answer メソッドで使用できるオプションと同じオプションを適用できます。

回答のストリーミングは、フォローアップ セッションでも使用できます。