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

스트리밍 방식으로 사용자의 쿼리를 지원합니다.

HTTP 요청


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

URL은 gRPC 트랜스코딩 구문을 사용합니다.

경로 매개변수

매개변수
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,
  "invocationTools": [
    string
  ],
  "invokedSkills": [
    {
      object (InvokedSkill)
    }
  ],
  "connectorAuthErrors": [
    {
      object (ConnectorAuthError)
    }
  ]
}
필드
answer

object (AssistAnswer)

사용자의 질문에 대한 어시스턴트의 최종 답변 일부를 포함하는 assistants.assist answer 리소스 객체

현재 응답이 이전에 전송된 AssistAnswer.replies에 아무것도 추가하지 않으면 표시되지 않습니다.

AssistAnswer.state를 관찰하여 더 많은 부분이 예상되는지 확인합니다. 상태가 IN_PROGRESS인 동안 각 응답의 AssistAnswer.replies 필드에는 이전 응답에서 수신된 응답에 추가할 답장 (답장 프래그먼트)이 포함됩니다. AssistAnswer.name이 채워지지 않습니다.

상태가 SUCCEEDED, FAILED 또는 SKIPPED인 경우 응답은 마지막 응답이며 AssistAnswer.name에 값이 있습니다.

sessionInfo

object (SessionInfo)

세션 정보 대답 스트림의 최종 StreamAssistResponse에만 포함됩니다.

assistToken

string

현재 요청과 응답 스트림을 식별하는 전역 고유 ID입니다. 의견 및 지원에 사용됩니다.

invocationTools[]

string

호출된 도구의 도구 이름입니다.

invokedSkills[]

object (InvokedSkill)

턴 중에 실행된 스킬입니다.

connectorAuthErrors[]

object (ConnectorAuthError)

요청 중에 발생한 커넥터별 인증 오류입니다. 하나 이상의 커넥터가 인증에 실패했지만 요청이 나머지 커넥터로 진행된 경우에 표시됩니다.

승인 범위

다음 OAuth 범위 중 하나가 필요합니다.

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

자세한 내용은 Authentication Overview에서 확인하세요.

IAM 권한

name 리소스에 대해서는 다음 IAM 권한이 필요합니다.

  • discoveryengine.assistants.assist

자세한 내용은 IAM 문서를 참조하세요.

AgentsSpec

요청을 처리하는 데 사용되는 에이전트의 사양입니다.

JSON 표현
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ],
  "mentionMode": enum (MentionMode)
}
필드
agentSpecs[]

object (AgentSpec)

(선택사항) 요청을 처리하는 데 사용되는 에이전트의 사양입니다.

mentionMode

enum (MentionMode)

(선택사항) agentSpecs에서 언급된 에이전트를 호출하는 방법 MentionMode 참고.

AgentSpec

에이전트 사양입니다.

JSON 표현
{
  "agentId": string,
  "inputVariables": {
    object
  }
}
필드
agentId

string

필수 항목입니다. 요청을 처리하는 상담사 리소스를 식별하는 ID입니다.

이 필드는 RFC-1034를 준수해야 하며 길이 제한은 63자(영문 기준)입니다.

inputVariables

object (Struct format)

(선택사항) WorkflowAgent의 호출 시간에 제공된 입력 변수입니다. 키는 선언된 입력 변수 이름이고 값은 사용자 또는 호출자가 제공한 값입니다. 다운스트림 노드에 전역 입력으로 노출됩니다.

MentionMode

agentSpecs에서 언급된 에이전트를 호출하는 방법

열거형
MENTION_MODE_UNSPECIFIED 기본값은 DIRECT입니다.
DIRECT 멘션된 에이전트가 턴을 실행하는 최상위 에이전트가 됩니다. agentSpecs에는 하나의 항목만 허용됩니다.
TOOL 각 AgentSpec는 합성된 오케스트레이터 아래에 도구로 연결됩니다. 다중 멘션 MVP: 워크플로 에이전트만 해당, 최신 게시 버전; version / revisionId을 설정하지 마세요.
TOOL_WORKFLOW_DIRECT 단일 워크플로 상담사가 자체 채팅 서페이스로 표시됩니다. AgentSpec가 하나여야 합니다. version = "draft" (상담사 표) 또는 revisionId (특정 AgentRevision)를 설정합니다. 워크플로에 ManualTrigger가 있어야 합니다.

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

(선택사항) 필터 구문은 필터링되는 문서의 필드 하나 이상에서 조건자를 구성하기 위한 표현식 언어로 구성됩니다. 필터 표현식은 대소문자를 구분합니다.

이 필드를 인식할 수 없으면 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}입니다.

InvokedSkill

지원 통화 중에 사용된 스킬을 나타냅니다.

JSON 표현
{
  "name": string,
  "displayName": string
}
필드
name

string

스킬의 리소스 이름입니다.

displayName

string

스킬의 표시 이름입니다.

ConnectorAuthError

특정 데이터 커넥터의 인증 오류를 설명합니다.

JSON 표현
{
  "dataConnector": string,
  "errorMessage": string
}
필드
dataConnector

string

인증에 실패한 데이터 커넥터의 리소스 이름입니다.

errorMessage

string

인증 실패를 설명하는 사람이 읽을 수 있는 오류 메시지입니다.