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

Unterstützt den Nutzer bei einer Anfrage via Streaming.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
name

string

Erforderlich. Der Ressourcenname des Assistant. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "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)
  }
}
Felder
query

object (Query)

Optional. Aktuelle Nutzeranfrage.

Leere Abfragen werden nur unterstützt, wenn fileIds angegeben werden. In diesem Fall wird die Antwort auf Grundlage dieser Kontextdateien generiert.

answerGenerationMode

enum (AnswerGenerationMode)

Optional. Der Modus für die Antwortgenerierung. Wenn nichts angegeben ist, wird standardmäßig NORMAL verwendet.

session

string

Optional. Die für die Anfrage zu verwendende Sitzung. Falls angegeben, hat der Assistent Zugriff auf den Sitzungsverlauf und die Anfrage und die Antwort werden dort gespeichert.

Wenn - als Session-ID angegeben oder das Feld leer gelassen wird, wird eine neue Session mit einer automatisch generierten ID erstellt.

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

assistSkippingMode

enum (AssistSkippingMode)

Optional. Legt fest, in welchen Fällen der Assistent die Anfrage nicht beantwortet. Wenn die Antwort übersprungen wird, werden die Gründe in AssistAnswer.assist_skipped_reasons innerhalb von AssistResponse.answer aufgeführt.

fileIds[]

string

Optional. Die IDs der Dateien, die zum Beantworten der Anfrage verwendet werden sollen. Beim Hochladen einer Datei wird ihre ID in AddContextFileResponse.file_id zurückgegeben.

userMetadata

object (AssistUserMetadata)

Optional. Informationen zum Nutzer, der die Anfrage initiiert.

languageCode
(deprecated)

string

Optional. Verworfen. Verwenden Sie stattdessen [preferredLanguageCode][UserMetadata.preferred_language_code]. Sprache, die für die Beantwortung verwendet werden soll, wenn die Spracherkennung fehlschlägt. Wird auch als Sprache für Fehlermeldungen verwendet, die von Aktionen erstellt werden, unabhängig von den Ergebnissen der Spracherkennung.

googleSearchGroundingEnabled
(deprecated)

boolean

Optional. Verworfen. Bitte verwenden Sie dieses Feld nicht.

webGroundingEnabled
(deprecated)

boolean

Optional. Verworfen. Bitte verwenden Sie dieses Feld nicht.

dataStoreSpecs[]
(deprecated)

object (DataStoreSpec)

Optional. Verworfen: Verwenden Sie stattdessen [dataStoreSpecs][ToolSpec.VertexAiSearchSpec.data_store_specs]. Spezifikationen, die DataStores zum Filtern in einem Suchaufruf und Konfigurationen für diese Datenspeicher definieren. Dies wird nur für Engines mit mehreren Datenspeichern berücksichtigt.

Wenn dieses Feld nicht festgelegt wird, werden alle Datenspeicher in der Engine verwendet, es sei denn, ignoreDataStores ist auf „true“ gesetzt.

agentsConfig

object (AgentsConfig)

Optional. Konfiguration der Agenten, die zur Verarbeitung der Anfrage verwendet werden.

agentsSpec

object (AgentsSpec)

Optional. Spezifikation der Agenten, die zur Verarbeitung der Anfrage verwendet werden.

assistGenerationConfig
(deprecated)

object (AssistGenerationConfig)

Optional. Verworfen. Verwenden Sie stattdessen generationSpec. Konfiguration der Generierung auf Anfrageebene. Damit wird die Standardkonfiguration für die Generierung auf Engine-Ebene überschrieben.

cannedQuery

string

Optional. Der Ressourcenname der CannedQuery für diese Anfrage. Dieser Parameter kann nur festgelegt werden, wenn die Sitzung neu ist. Andernfalls wird ein INVALID_ARGUMENT-Fehler zurückgegeben.

Eine Sitzung gilt als neu, wenn eine StreamAssistRequest.session angegeben ist und die entsprechende Session keine Turns enthält oder wenn keine StreamAssistRequest.session angegeben ist (und eine neue Session erstellt wird).

Wenn der Parameter cannedQuery angegeben ist, wird die entsprechende CannedQuery bei der Verarbeitung berücksichtigt. Das genaue Verhalten wird in der CannedQuery beschrieben und dokumentiert.

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

toolsSpec

object (ToolsSpec)

Optional. Spezifikation der Tools, die zur Verarbeitung der Anfrage verwendet werden.

generationSpec

object (GenerationSpec)

Optional. Spezifikation der Generierungskonfiguration für die Anfrage.

Antworttext

Antwort für die Methode AssistantService.StreamAssist.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "statusUpdates": [
    {
      object (StatusUpdate)
    }
  ],
  "assistToken": string,
  "toolResult": [
    {
      object (ToolResult)
    }
  ],
  "finalResultToolInvocationId": string
}
Felder
answer

object (AssistAnswer)

Das Antwortressourcen-Objekt „assistants.assist answer resource“ enthält Teile der endgültigen Antwort des Assistenten auf die Anfrage des Nutzers.

Nicht vorhanden, wenn die aktuelle Antwort nichts zu den zuvor gesendeten AssistAnswer.replies hinzufügt.

Beobachten Sie den AssistAnswer.state, um zu sehen, ob weitere Teile zu erwarten sind. Solange der Status IN_PROGRESS ist, enthält das Feld AssistAnswer.replies in jeder Antwort Antworten (Antwortfragmente), die an die in vorherigen Antworten empfangenen angehängt werden sollen. AssistAnswer.name wird nicht ausgefüllt.

Wenn der Status SUCCEEDED, FAILED oder SKIPPED ist, ist die Antwort die letzte Antwort und AssistAnswer.name hat einen Wert.

sessionInfo

object (SessionInfo)

Informationen zur Sitzung. Nur in der endgültigen StreamAssistResponse des Antwortstreams enthalten.

statusUpdates[]

object (StatusUpdate)

Optionale Fortschrittsaktualisierungen

assistToken

string

Eine global eindeutige ID, die das aktuelle Paar aus Anfrage und Antwortstream identifiziert. Wird für Feedback und Support verwendet.

toolResult[]
(deprecated)

object (ToolResult)

Ergebnisse von Tool-Aufrufen.

finalResultToolInvocationId

string

Wenn dieses Feld vorhanden ist, enthält es die ID des Tool-Aufrufs, dessen Ergebnis als endgültige Antwort verwendet wird.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

IAM-Berechtigungen

Erfordert die folgende IAM-Berechtigung für die Ressource name:

  • discoveryengine.assistants.assist

Weitere Informationen finden Sie in der IAM-Dokumentation.

AnswerGenerationMode

Verfügbare Modi zur Antwortgenerierung.

Enums
ANSWER_GENERATION_MODE_UNSPECIFIED Nicht angegebener Modus für die Antwortgenerierung.
NORMAL Normaler Modus für die Antwortgenerierung. Es kann sein, dass einige Suchanfragen und Aufrufaktionen ausgelöst werden.
RESEARCH Recherchemodus für die Antwortgenerierung. Detaillierte Informationen zur Anfrage, die viele Suchanfragen zu einer Vielzahl von Themen im Zusammenhang mit der Suchanfrage auslösen.
AGENT Agent-Modus für die Antwortgenerierung. Verwendet einen in agentsConfig definierten Agent, um die Antwort zu generieren.

AssistSkippingMode

Verfügbare Überspringverhalten für Assist-Anfragen.

Enums
ASSIST_SKIPPING_MODE_UNSPECIFIED Standardwert. Die Antwort kann übersprungen werden, wenn in der Anfrage keine Unterstützung gesucht wird.
REQUEST_ASSIST Assistent-Antwort anfragen. Die Antwort kann weiterhin übersprungen werden, wenn die Anfrage gegen Richtlinien verstößt.

AgentsConfig

Konfiguration der Agenten, die zur Verarbeitung der Anfrage verwendet werden.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld config. Konfiguration der verschiedenen Arten von Agenten. Für config ist nur einer der folgenden Werte zulässig:
noCodeAgentsConfig
(deprecated)

object (NoCodeAgentsConfig)

Optional. Verworfen: Konfiguration für No‑Code-Agentspace-Agents. Wenn diese Option festgelegt ist, wird die Anfrage „assistants.assist“ entsprechend der Konfiguration verarbeitet. Verwenden Sie stattdessen agent.

assistantAgentConfigId

string

Optional. ID des Agenten aus Assistant.agent_configs

agent

string

Der Name des zu verwendenden Agenten. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}/agents/{agent}

inlineAgent

object (Agent)

Die Inline-Definition des zu verwendenden Agent. Falls angegeben, wird ein Agent auf Grundlage dieser Definition verwendet. Dies ist eine temporäre Darstellung eines Agenten. Das Feld Agent.name wird ignoriert.

vertexAiAgentId

string

Optional. Die ID des Agenten aus Assistant.vertex_ai_agent_configs. Die ID kann entweder der vollständige Name sein, der in der Konfiguration registriert ist, oder der letzte Teil nach dem letzten Schrägstrich.

NoCodeAgentsConfig

Verworfen: Konfiguration für No‑Code-Agentspace-Agents. Verwenden Sie stattdessen agent.

JSON-Darstellung
{
  "agent": string
}
Felder
agent

string

Optional. Der Name des zu verwendenden Agenten.

AgentsSpec

Spezifikation der Agenten, die zur Verarbeitung der Anfrage verwendet werden.

JSON-Darstellung
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
Felder
agentSpecs[]

object (AgentSpec)

Optional. Spezifikation der Agenten, die zur Verarbeitung der Anfrage verwendet werden.

AgentSpec

Spezifikation eines KI-Agenten

JSON-Darstellung
{
  "agentId": string
}
Felder
agentId

string

Erforderlich. ID zur Identifizierung der Agent-Ressource, die die Anfrage verarbeitet.

Dieses Feld muss RFC-1034 entsprechen und darf maximal 63 Zeichen lang sein.

ToolsSpec

Spezifikation der Tools, die zur Verarbeitung der Anfrage verwendet werden.

JSON-Darstellung
{
  "toolRegistry": string,
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Felder
toolRegistry

string

Optional. Der Name der zu verwendenden Tool-Registry. Format: projects/{project}/locations/{location}/toolRegistries/{toolRegistry}

vertexAiSearchSpec

object (VertexAiSearchSpec)

Optional. Spezifikation des Vertex AI Search-Tools.

webGroundingSpec

object (WebGroundingSpec)

Optional. Spezifikation des Tools zur Webfundierung. Wenn das Feld vorhanden ist, wird die Fundierung mit der Websuche aktiviert. Funktioniert nur, wenn Assistant.web_grounding_type [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] oder [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][] ist.

imageGenerationSpec

object (ImageGenerationSpec)

Optional. Spezifikation des Tools zur Bildgenerierung.

videoGenerationSpec

object (VideoGenerationSpec)

Optional. Spezifikation des Tools zur Videogenerierung.

VertexAiSearchSpec

Spezifikation des Vertex AI Search-Tools.

JSON-Darstellung
{
  "disabled": boolean,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Felder
disabled
(deprecated)

boolean

Optional. Verworfen. Bitte verwenden Sie dieses Feld nicht. Gibt an, ob das Vertex AI Search-Tool deaktiviert ist. Der Standardwert ist „false“. Das Tool ist standardmäßig aktiviert.

dataStoreSpecs[]

object (DataStoreSpec)

Optional. Spezifikationen, die DataStores zum Filtern in einem Suchaufruf und Konfigurationen für diese Datenspeicher definieren. Dies wird nur für Engines mit mehreren Datenspeichern berücksichtigt.

filter

string

Optional. Die Filtersyntax besteht aus einer Ausdruckssprache, mit der ein Prädikat aus einem oder mehreren Feldern der gefilterten Dokumente erstellt wird. Bei Filterausdrücken wird zwischen Groß- und Kleinschreibung unterschieden.

Wenn dieses Feld nicht erkannt wird, wird INVALID_ARGUMENT zurückgegeben.

In Vertex AI Search wird über das Zuordnen des LHS-Filterschlüssels zu einem Schlüsselattribut, das im Vertex AI Search-Backend definiert ist, gefiltert. Diese Zuordnung wird vom Kunden in seinem Schema definiert. Ein Medienkunde hat in seinem Schema möglicherweise das Feld „name“. In diesem Fall würde der Filter so aussehen: filter --> name:'ANY("king kong")'

Weitere Informationen zum Filtern, einschließlich Syntax und Filteroperatoren, finden Sie unter Filter.

WebGroundingSpec

Dieser Typ hat keine Felder.

Spezifikation des Tools zur Webfundierung.

ImageGenerationSpec

Dieser Typ hat keine Felder.

Spezifikation des Tools zur Bildgenerierung.

VideoGenerationSpec

Dieser Typ hat keine Felder.

Spezifikation des Tools zur Videogenerierung.

GenerationSpec

Spezifikation für die Assistent-Generierung für die Anfrage. Damit kann die Standardkonfiguration für die Generierung auf Engine-Ebene überschrieben werden.

JSON-Darstellung
{
  "modelId": string
}
Felder
modelId

string

Optional. Die „modelId“ von Vertex AI, die für das generative Modell verwendet wird. Wenn nicht festgelegt, wird das Assistent-Standardmodell verwendet.

SessionInfo

Informationen zur Sitzung

JSON-Darstellung
{
  "session": string,
  "queryId": string
}
Felder
session

string

Name der neu generierten oder fortgesetzten Sitzung

Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}.

queryId

string

Die Abfrage-ID, die diesem Assist API-Aufruf entspricht. Eine Sitzung kann mehrere Turns mit jeweils einer eindeutigen Abfrage-ID haben.

Wenn Sie den Sitzungsnamen und diese Abfrage-ID im API-Aufruf „assistants.assist“ angeben, erfolgt die Assist-Anfrage im Kontext der Suchergebnisse dieses Suchaufrufs.

StatusUpdate

Update zum Fortschritt des Assist-Aufrufs

JSON-Darstellung
{
  "updateText": string,
  "invocationId": string
}
Felder
updateText

string

Statusaktualisierung als freier Text, z. B. „Starte interne Suche in HR-Dokumenten nach Mitarbeiter-Vorteilen“ oder „Die Websuche nach ‚Mondlandung‘ hat 12 Ergebnisse geliefert“.

invocationId

string

Eindeutige Kennung des Aufrufs, der das Update generiert

ToolResult

(Teil-)Ergebnis eines Tool-Aufrufs

JSON-Darstellung
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
Felder
toolInvocationId

string

Eindeutige Kennung des Tool-Aufrufs, der das Ergebnis generiert

result

object (Reply)

Teilinhalt des Ergebnisses