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

Unterstützt den Nutzer bei einer Anfrage via Streaming.

HTTP-Anfrage

POST https://discoveryengine.googleapis.com/v1/{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)
  },
  "session": string,
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "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.

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}

userMetadata

object (AssistUserMetadata)

Optional. Informationen zum Nutzer, der die Anfrage initiiert.

agentsSpec

object (AgentsSpec)

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

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)
  },
  "assistToken": string,
  "invocationTools": [
    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.

assistToken

string

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

invocationTools[]

string

Die Tool-Namen der aufgerufenen Tools.

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.

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
{
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
Felder
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
{
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
Felder
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 muss die Groß- und Kleinschreibung beachtet werden.

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

In Vertex AI Search erfolgt die Filterung durch das Zuordnen des LHS-Filterschlüssels zu einem Schlüsselattribut, das im Vertex AI Search-Backend definiert ist. 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
}
Felder
session

string

Name der neu generierten oder fortgesetzten Sitzung

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