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

스트리밍 방식으로 사용자의 질문을 지원합니다.

HTTP 요청

POST https://discoveryengine.googleapis.com/v1alpha/{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)
  },
  "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 answer 리소스 객체입니다.

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

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

상태가 SUCCEEDED, FAILED 또는 SKIPPED이면 응답은 마지막 응답이고 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.
}
필드
통합 필드 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

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

이 필드를 인식할 수 없으면 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입니다. 하나의 세션에 여러 턴이 있을 수 있으며 각 턴에는 고유한 쿼리 ID가 있습니다.

assistants.assist API 호출에서 세션 이름과 이 쿼리 ID를 지정하면 이 검색 호출의 검색 결과 컨텍스트에서 지원 요청이 발생합니다.

StatusUpdate

지원 통화 진행 상황에 관한 업데이트입니다.

JSON 표현
{
  "updateText": string,
  "invocationId": string
}
필드
updateText

string

자유 텍스트 상태 업데이트입니다(예: '혜택에 관한 HR 문서에서 내부 검색을 시작합니다' 또는 '웹에서 '달 착륙'을 검색한 결과 12개가 나왔습니다'

invocationId

string

업데이트를 생성하는 호출의 고유 식별자입니다.

ToolResult

도구 호출의 (부분) 결과입니다.

JSON 표현
{
  "toolInvocationId": string,
  "result": {
    object (Reply)
  }
}
필드
toolInvocationId

string

결과를 생성하는 도구 호출의 고유 식별자입니다.

result

object (Reply)

결과의 일부 콘텐츠입니다.