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

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

HTTP リクエスト

POST https://discoveryengine.googleapis.com/v1alpha/{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)
  },
  "answerGenerationMode": enum (AnswerGenerationMode),
  "session": string,
  "assistSkippingMode": enum (AssistSkippingMode),
  "fileIds": [
    string
  ],
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "languageCode": string,
  "googleSearchGroundingEnabled": boolean,
  "webGroundingEnabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "agentsConfig": {
    object (AgentsConfig)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "assistGenerationConfig": {
    object (AssistGenerationConfig)
  },
  "cannedQuery": string,
  "toolsSpec": {
    object (ToolsSpec)
  },
  "generationSpec": {
    object (GenerationSpec)
  }
}
フィールド
query

object (Query)

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

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

answerGenerationMode

enum (AnswerGenerationMode)

省略可。回答生成モード。指定しない場合、デフォルトで NORMAL になります。

session

string

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

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

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

assistSkippingMode

enum (AssistSkippingMode)

省略可。アシスタントがクエリに回答しないケースを決定します。回答がスキップされた場合、理由は AssistResponse.answer 内の AssistAnswer.assist_skipped_reasons にリストされます。

fileIds[]

string

省略可。リクエストへの回答に使用するファイルの ID。ファイルをアップロードすると、その ID が AddContextFileResponse.file_id で返されます。

userMetadata

object (AssistUserMetadata)

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

languageCode
(deprecated)

string

省略可。非推奨。代わりに [preferredLanguageCode][UserMetadata.preferred_language_code] を使用してください。言語検出に失敗した場合に回答に使用する言語。言語検出の結果にかかわらず、アクションによって作成されたエラー メッセージの言語としても使用されます。

googleSearchGroundingEnabled
(deprecated)

boolean

省略可。非推奨。このフィールドは使用しないでください。

webGroundingEnabled
(deprecated)

boolean

省略可。非推奨。このフィールドは使用しないでください。

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

省略可。非推奨: 代わりに [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs] を使用してください。検索呼び出しでフィルタする DataStore と、それらのデータストアの構成を定義する仕様。これは、複数のデータストアを持つ Engine でのみ考慮されます。

このフィールドを設定しないと、ignoreDataStores が true に設定されている場合を除き、エンジン内のすべてのデータストアが使用されます。

agentsConfig

object (AgentsConfig)

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

agentsSpec

object (AgentsSpec)

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

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

省略可。非推奨。代わりに generationSpec を使用してください。 リクエスト レベルの生成構成。これは、エンジンレベルでデフォルトの生成構成をオーバーライドするために使用されます。

cannedQuery

string

省略可。このリクエストの CannedQuery のリソース名。このパラメータは、セッションが新しい場合にのみ設定できます。それ以外の場合は、INVALID_ARGUMENT エラーが返されます。

StreamAssistRequest.session が提供され、対応する Session にターンがない場合、または StreamAssistRequest.session が提供されていない場合(新しい Session が作成される場合)、セッションは新しいとみなされます。

cannedQuery パラメータが指定されている場合、処理時に対応する CannedQuery が考慮されます。正確な動作は CannedQuery で説明され、文書化されています。

形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/cannedQueries/{cannedQuery}

toolsSpec

object (ToolsSpec)

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

generationSpec

object (GenerationSpec)

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

レスポンスの本文

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

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

JSON 表現
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
フィールド
answer

object (AssistAnswer)

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

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

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

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

sessionInfo

object (SessionInfo)

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

statusUpdates[]

object (StatusUpdate)

オプションの進行状況の更新。

assistToken

string

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

toolResult[]
(deprecated)

object (ToolResult)

ツール呼び出しの結果。

finalResultToolInvocationId

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 のドキュメントをご覧ください。

AnswerGenerationMode

利用可能な回答生成モード。

列挙型
ANSWER_GENERATION_MODE_UNSPECIFIED 回答生成モードが指定されていません。
NORMAL 通常の回答生成モード。検索や行動を促すフレーズがいくつかトリガーされることがあります。
RESEARCH 回答生成モードを調査します。クエリを詳しく分析し、クエリに関連する幅広いトピックの検索を多数トリガーします。
AGENT エージェント回答生成モード。agentsConfig で定義されたエージェントを使用して回答を生成します。

AssistSkippingMode

アシスト リクエストで使用可能なスキップ動作。

列挙型
ASSIST_SKIPPING_MODE_UNSPECIFIED デフォルト値。クエリがサポートを求めていない場合は、回答をスキップできます。
REQUEST_ASSIST アシスタントの回答をリクエストします。クエリがポリシー チェックに失敗した場合、回答はスキップされることがあります。

AgentsConfig

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

JSON 表現
{

  // Union field config can be only one of the following:
  "noCodeAgentsConfig": {
    object (NoCodeAgentsConfig)
  },
  "assistantAgentConfigId": string,
  "agent": string,
  "inlineAgent": {
    object (Agent)
  },
  "vertexAiAgentId": string
  // End of list of possible types for union field config.
}
Fields
共用体フィールド config。さまざまなタイプのエージェントの構成。config は次のいずれかになります。
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

省略可。非推奨: ノーコード Agentspace エージェントの構成。設定すると、assistants.assist リクエストは構成に従って処理されます。agent を代わりに使用してください。

assistantAgentConfigId

string

省略可。Assistant.agent_configs のエージェントの ID

agent

string

使用するエージェントの名前。形式: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

使用する Agent のインライン定義。指定された場合は、この定義に基づくエージェントが使用されます。これはエージェントの一時的な表現であり、Agent.name フィールドは無視されます。

vertexAiAgentId

string

省略可。Assistant.vertex_ai_agent_configs のエージェントの ID。ID には、構成に登録されている完全な名前か、最後のスラッシュの後の最後の部分を指定できます。

NoCodeAgentsConfig

非推奨: ノーコード Agentspace エージェントの構成。agent を代わりに使用してください。

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

string

省略可。使用するエージェントの名前。

AgentsSpec

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

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

object (AgentSpec)

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

AgentSpec

エージェントの仕様。

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

string

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

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

ToolsSpec

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

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

string

省略可。使用するツール レジストリの名前。形式: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

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 表現
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
フィールド
disabled
(deprecated)

boolean

省略可。非推奨。このフィールドは使用しないでください。Vertex AI Search ツールが無効になっているかどうか。デフォルト値は false で、ツールはデフォルトで有効になっています。

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,
  "queryId": string
}
フィールド
session

string

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

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

queryId

string

このアシスト API 呼び出しに対応するクエリ ID。1 つのセッションに複数のターンを含めることができ、各ターンには一意のクエリ ID があります。

assistants.assist API 呼び出しでセッション名とこのクエリ ID を指定すると、この検索呼び出しの検索結果のコンテキストでアシスト リクエストが発生します。

StatusUpdate

アシスト通話の進行状況に関する最新情報。

JSON 表現
{
  "updateText": string,
  "invocationId": string
}
フィールド
updateText

string

自由形式のテキスト ステータスの更新(例: 「福利厚生に関する人事文書の内部検索を開始します」、「「月面着陸」のウェブ検索で 12 件の結果が得られました」など。

invocationId

string

更新を生成する呼び出しの一意の識別子。

ToolResult

ツール呼び出しの(部分的な)結果。

JSON 表現
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
フィールド
toolInvocationId

string

結果を生成するツール呼び出しの一意の識別子。

result

object (Reply)

結果の一部。