- HTTP 요청
- 경로 매개변수
- 요청 본문
- 응답 본문
- 승인 범위
- IAM 권한
- AgentsSpec
- AgentSpec
- MentionMode
- ToolsSpec
- VertexAiSearchSpec
- WebGroundingSpec
- ImageGenerationSpec
- VideoGenerationSpec
- GenerationSpec
- SessionInfo
- InvokedSkill
- ConnectorAuthError
스트리밍 방식으로 사용자의 쿼리를 지원합니다.
HTTP 요청
POST https://discoveryengine.googleapis.com/v1beta/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist URL은 gRPC 트랜스코딩 구문을 사용합니다.
경로 매개변수
| 매개변수 | |
|---|---|
name |
(필수 항목) |
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 |
|---|
{ "query": { object ( |
| 필드 | |
|---|---|
query |
(선택사항) 현재 사용자 쿼리입니다. 빈 쿼리는 |
session |
(선택사항) 요청에 사용할 세션입니다. 지정된 경우 어시스턴트는 세션 기록에 액세스할 수 있으며 질문과 답변이 여기에 저장됩니다.
형식: |
userMetadata |
(선택사항) 쿼리를 시작하는 사용자에 관한 정보입니다. |
agentsSpec |
(선택사항) 요청을 처리하는 데 사용되는 에이전트의 사양입니다. |
toolsSpec |
(선택사항) 요청을 처리하는 데 사용되는 도구의 사양입니다. |
generationSpec |
(선택사항) 요청의 생성 구성 사양입니다. |
응답 본문
AssistantService.StreamAssist 메서드에 대한 응답입니다.
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
| JSON 표현 |
|---|
{ "answer": { object ( |
| 필드 | |
|---|---|
answer |
사용자의 질문에 대한 어시스턴트의 최종 답변 일부를 포함하는 assistants.assist answer 리소스 객체 현재 응답이 이전에 전송된
상태가 |
sessionInfo |
세션 정보 대답 스트림의 최종 StreamAssistResponse에만 포함됩니다. |
assistToken |
현재 요청과 응답 스트림을 식별하는 전역 고유 ID입니다. 의견 및 지원에 사용됩니다. |
invocationTools[] |
호출된 도구의 도구 이름입니다. |
invokedSkills[] |
턴 중에 실행된 스킬입니다. |
connectorAuthErrors[] |
요청 중에 발생한 커넥터별 인증 오류입니다. 하나 이상의 커넥터가 인증에 실패했지만 요청이 나머지 커넥터로 진행된 경우에 표시됩니다. |
승인 범위
다음 OAuth 범위 중 하나가 필요합니다.
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/discoveryengine.assist.readwritehttps://www.googleapis.com/auth/discoveryengine.readwritehttps://www.googleapis.com/auth/discoveryengine.serving.readwrite
자세한 내용은 Authentication Overview에서 확인하세요.
IAM 권한
name 리소스에 대해서는 다음 IAM 권한이 필요합니다.
discoveryengine.assistants.assist
자세한 내용은 IAM 문서를 참조하세요.
AgentsSpec
요청을 처리하는 데 사용되는 에이전트의 사양입니다.
| JSON 표현 |
|---|
{ "agentSpecs": [ { object ( |
| 필드 | |
|---|---|
agentSpecs[] |
(선택사항) 요청을 처리하는 데 사용되는 에이전트의 사양입니다. |
mentionMode |
(선택사항) |
AgentSpec
에이전트 사양입니다.
| JSON 표현 |
|---|
{ "agentId": string, "inputVariables": { object } } |
| 필드 | |
|---|---|
agentId |
필수 항목입니다. 요청을 처리하는 상담사 리소스를 식별하는 ID입니다. 이 필드는 RFC-1034를 준수해야 하며 길이 제한은 63자(영문 기준)입니다. |
inputVariables |
(선택사항) 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 |
(선택사항) Vertex AI Search 도구의 사양입니다. |
webGroundingSpec |
(선택사항) 웹 그라운딩 도구의 사양입니다. 필드가 있으면 웹 검색을 사용한 그라운딩을 사용 설정합니다. |
imageGenerationSpec |
(선택사항) 이미지 생성 도구의 사양입니다. |
videoGenerationSpec |
(선택사항) 동영상 생성 도구의 사양입니다. |
VertexAiSearchSpec
Vertex AI Search 도구의 사양입니다.
| JSON 표현 |
|---|
{
"dataStoreSpecs": [
{
object ( |
| 필드 | |
|---|---|
dataStoreSpecs[] |
(선택사항) 검색 호출에서 필터링할 |
filter |
(선택사항) 필터 구문은 필터링되는 문서의 필드 하나 이상에서 조건자를 구성하기 위한 표현식 언어로 구성됩니다. 필터 표현식은 대소문자를 구분합니다. 이 필드를 인식할 수 없으면 Vertex AI Search의 필터링은 LHS 필터 키를 Vertex AI Search 백엔드에 정의된 키 속성에 매핑하여 실행됩니다. 이 매핑은 고객이 스키마에 정의합니다. 예를 들어 미디어 고객의 스키마에는 'name' 필드가 있을 수 있습니다. 이 경우 필터는 filter --> name:'ANY("king kong")'입니다. 구문 및 필터 연산자를 비롯한 필터링에 대한 자세한 내용은 필터를 참고하세요. |
WebGroundingSpec
이 유형에는 필드가 없습니다.
웹 그라운딩 도구의 사양입니다.
ImageGenerationSpec
이 유형에는 필드가 없습니다.
이미지 생성 도구의 사양입니다.
VideoGenerationSpec
이 유형에는 필드가 없습니다.
동영상 생성 도구의 사양입니다.
GenerationSpec
요청에 대한 어시스턴트 생성 사양입니다. 이렇게 하면 엔진 수준에서 기본 생성 구성을 재정의할 수 있습니다.
| JSON 표현 |
|---|
{ "modelId": string } |
| 필드 | |
|---|---|
modelId |
(선택사항) 생성형 모델에 사용되는 Vertex AI modelId입니다. 설정하지 않으면 기본 어시스턴트 모델이 사용됩니다. |
SessionInfo
세션에 관한 정보입니다.
| JSON 표현 |
|---|
{ "session": string } |
| 필드 | |
|---|---|
session |
새로 생성되거나 계속된 세션의 이름입니다. 형식은 |
InvokedSkill
지원 통화 중에 사용된 스킬을 나타냅니다.
| JSON 표현 |
|---|
{ "name": string, "displayName": string } |
| 필드 | |
|---|---|
name |
스킬의 리소스 이름입니다. |
displayName |
스킬의 표시 이름입니다. |
ConnectorAuthError
특정 데이터 커넥터의 인증 오류를 설명합니다.
| JSON 표현 |
|---|
{ "dataConnector": string, "errorMessage": string } |
| 필드 | |
|---|---|
dataConnector |
인증에 실패한 데이터 커넥터의 리소스 이름입니다. |
errorMessage |
인증 실패를 설명하는 사람이 읽을 수 있는 오류 메시지입니다. |