Method: projects.locations.collections.engines.assistants.streamAssist

ユーザーのクエリをストリーミング形式で支援します。

HTTP リクエスト

POST https://discoveryengine.googleapis.com/v1/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist

この URL では gRPC Transcoding 構文を使用します。

パスパラメータ

パラメータ
name

string

必須。Assistant のリソース名。形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

リクエストの本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "query": {
    object (Query)
  },
  "session": string,
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "toolsSpec": {
    object (ToolsSpec)
  },
  "generationSpec": {
    object (GenerationSpec)
  }
}
フィールド
query

object (Query)

省略可。現在のユーザークエリ。

空のクエリは、fileIds が指定されている場合にのみサポートされます。この場合、回答はこれらのコンテキスト ファイルに基づいて生成されます。

session

string

省略可。リクエストに使用するセッション。指定した場合、アシスタントはセッション履歴にアクセスでき、クエリと回答がそこに保存されます。

セッション ID として - が指定されている場合、または空のままになっている場合は、自動生成された ID を持つ新しいセッションが作成されます。

形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}

userMetadata

object (AssistUserMetadata)

省略可。クエリを開始したユーザーに関する情報。

agentsSpec

object (AgentsSpec)

省略可。リクエストの処理に使用されるエージェントの仕様。

toolsSpec

object (ToolsSpec)

省略可。リクエストの処理に使用されるツールの仕様。

generationSpec

object (GenerationSpec)

省略可。リクエストの生成構成の仕様。

レスポンスの本文

AssistantService.StreamAssist メソッドに対するレスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "assistToken": string
}
フィールド
answer

object (AssistAnswer)

ユーザーのクエリに対するアシスタントの最終的な回答の一部を含む assistants.assist 回答リソース オブジェクト。

現在のレスポンスで以前に送信された AssistAnswer.replies に何も追加されていない場合は存在しません。

AssistAnswer.state を監視して、さらにパーツが予想されるかどうかを確認します。状態が IN_PROGRESS の間、各レスポンスの AssistAnswer.replies フィールドには、前のレスポンスで受信したレスポンスに追加されるレスポンス(レスポンス フラグメント)が含まれます。AssistAnswer.name は入力されません。

状態が SUCCEEDEDFAILEDSKIPPED の場合、レスポンスは最後のレスポンスであり、AssistAnswer.name に値が設定されます。

sessionInfo

object (SessionInfo)

セッション情報。レスポンス ストリームの最終的な StreamAssistResponse にのみ含まれます。

assistToken

string

現在の一連のリクエストとレスポンスを識別するグローバル一意 ID。フィードバックとサポートに使用されます。

認可スコープ

次の OAuth スコープのいずれかが必要です。

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.assist.readwrite

詳細については、Authentication Overview をご覧ください。

IAM 権限

name リソースに対する次の IAM 権限が必要です。

  • discoveryengine.assistants.assist

詳細については、IAM のドキュメントをご覧ください。

AgentsSpec

リクエストの処理に使用されるエージェントの仕様。

JSON 表現
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
フィールド
agentSpecs[]

object (AgentSpec)

省略可。リクエストの処理に使用されるエージェントの仕様。

AgentSpec

エージェントの仕様。

JSON 表現
{
  "agentId": string
}
フィールド
agentId

string

必須。リクエストを処理するエージェント リソースを識別する ID。

このフィールドは RFC-1034 に準拠し、長さは 63 文字以内にする必要があります。

ToolsSpec

リクエストの処理に使用されるツールの仕様。

JSON 表現
{
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
フィールド
vertexAiSearchSpec

object (VertexAiSearchSpec)

省略可。Vertex AI Search ツールの仕様。

webGroundingSpec

object (WebGroundingSpec)

省略可。ウェブ グラウンディング ツールの仕様。このフィールドが存在する場合、ウェブ検索によるグラウンディングが有効になります。Assistant.web_grounding_type が [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] または [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][] の場合にのみ機能します。

imageGenerationSpec

object (ImageGenerationSpec)

省略可。画像生成ツールの仕様。

videoGenerationSpec

object (VideoGenerationSpec)

省略可。動画生成ツールの仕様。

VertexAiSearchSpec

Vertex AI Search ツールの仕様。

JSON 表現
{
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
フィールド
dataStoreSpecs[]

object (DataStoreSpec)

省略可。検索呼び出しでフィルタする DataStore と、それらのデータストアの構成を定義する仕様。これは、複数のデータストアを持つ Engine でのみ考慮されます。

filter

string

省略可。フィルタ構文は、フィルタ対象となるドキュメントの 1 つ以上のフィールドから述語を生成するための式言語で構成されます。フィルタ式では大文字と小文字が区別されます。

このフィールドが認識できない場合、INVALID_ARGUMENT が返されます。

Vertex AI Search でのフィルタリングは、LHS フィルタキーを Vertex AI Search バックエンドで定義されたキー プロパティにマッピングすることによって行われます。このマッピングは、スキーマでユーザーが定義します。たとえば、メディアのお客様のスキーマに「name」というフィールドがあるとします。この場合、フィルタは filter --> name:'ANY("king kong")' のようになります。

構文やフィルタ オペレータなどのフィルタリングの詳細については、フィルタをご覧ください。

WebGroundingSpec

この型にはフィールドがありません。

ウェブ グラウンディング ツールの仕様。

ImageGenerationSpec

この型にはフィールドがありません。

画像生成ツールの仕様。

VideoGenerationSpec

この型にはフィールドがありません。

動画生成ツールの仕様。

GenerationSpec

リクエストのアシスタント生成仕様。これにより、エンジンレベルでデフォルトの生成構成をオーバーライドできます。

JSON 表現
{
  "modelId": string
}
フィールド
modelId

string

省略可。生成モデルに使用される Vertex AI modelId。設定されていない場合は、デフォルトのアシスタント モデルが使用されます。

SessionInfo

セッションに関する情報。

JSON 表現
{
  "session": string
}
フィールド
session

string

新たに生成されたセッションまたは継続されたセッションの名前。

形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}