Method: answerQuery

그라운딩된 생성을 사용하여 쿼리에 답변합니다.

HTTP 요청

POST https://developerknowledge.googleapis.com/v1alpha:answerQuery

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

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

JSON 표현
{
  "query": string,
  "filter": string
}
필드
query

string

필수 항목입니다. 답변할 쿼리입니다.

filter

string

선택사항입니다. 답변을 그라운딩하는 데 사용되는 검색 결과에 엄격한 필터를 적용합니다. 표현식은 https://google.aip.dev/160에 설명된 구문의 하위 집합을 지원합니다.

필터링 지원 필드:

  • contentLengthBytes(정수): Document.content 필드의 길이(바이트)입니다.
  • dataSource(문자열): 문서의 소스입니다(예: docs.cloud.google.com). 코퍼스의 전체 데이터 소스 목록은 https://developers.google.com/knowledge/reference/corpus-reference를 참고하세요.
  • updateTime (타임스탬프): 문서가 마지막으로 의미 있게 업데이트된 타임스탬프입니다. 의미 있는 업데이트는 문서의 Markdown 콘텐츠 또는 메타데이터를 변경하는 업데이트입니다.
  • uri(문자열): 문서 URI입니다(예: https://docs.cloud.google.com/bigquery/docs/tables).

정수 필드는 =, <, <=, >, >= 연산자를 지원합니다.

문자열 필드는 전체 문자열에 대한 정확한 일치 를 위해 = (같음) 및 != (같지 않음) 연산자를 지원합니다. 부분 일치, 프리픽스 일치, 정규식 일치는 지원되지 않습니다.

TIMESTAMP 필드는 =, <, <=, >, >= 연산자를 지원합니다. 타임스탬프는 RFC-3339 형식이어야 합니다(예: "2025-01-01T00:00:00Z").

AND, OR, NOT (또는 -) 논리 연산자를 사용하여 표현식을 결합할 수 있습니다. ORAND보다 우선순위가 높습니다. 괄호를 사용하여 명시적 우선순위 그룹화를 지정합니다.

예:

  • Document.content_length_bytes로 필터링: contentLengthBytes < 50000
  • dataSource = "docs.cloud.google.com" OR dataSource = "firebase.google.com"
  • dataSource != "firebase.google.com"
  • updateTime < "2024-01-01T00:00:00Z"
  • updateTime >= "2025-01-22T00:00:00Z" AND (dataSource = "developer.chrome.com" OR dataSource = "web.dev")
  • uri = "https://docs.cloud.google.com/release-notes"

filter 문자열은 500자를 초과할 수 없습니다. 500자를 초과하는 값은 INVALID_ARGUMENT 오류를 발생시킵니다.

응답 본문

DeveloperKnowledge.AnswerQuery의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "answer": {
    object (Answer)
  }
}
필드
answer

object (Answer)

쿼리에 대한 답변입니다.

승인 범위

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

  • https://www.googleapis.com/auth/devprofiles.full_control
  • https://www.googleapis.com/auth/developerprofiles.readonly
  • https://www.googleapis.com/auth/cloud-platform

자세한 내용은 OAuth 2.0 Overview를 참조하세요.

답변

쿼리에 대한 답변입니다.

JSON 표현
{
  "answerText": string,
  "citations": [
    {
      object (AnswerCitation)
    }
  ],
  "references": [
    {
      object (AnswerReference)
    }
  ]
}
필드
answerText

string

답변의 텍스트를 포함합니다.

citations[]

object (AnswerCitation)

출력 전용입니다. 답변의 인용을 포함합니다.

references[]

object (AnswerReference)

출력 전용입니다. 답변의 참조를 포함합니다.

AnswerCitation

세그먼트의 인용 정보입니다.

JSON 표현
{
  "startIndex": integer,
  "endIndex": integer,
  "sources": [
    {
      object (CitationSource)
    }
  ]
}
필드
startIndex

integer

출력 전용입니다. 바이트(UTF-8 유니코드)로 측정된 세그먼트의 시작을 나타냅니다(포함). ASCII가 아닌 문자와 같은 멀티바이트 문자가 있으면 색인 측정값이 문자열 길이보다 깁니다.

endIndex

integer

출력 전용입니다. 바이트(UTF-8 유니코드)로 측정된 세그먼트의 끝을 나타냅니다(제외). ASCII가 아닌 문자와 같은 멀티바이트 문자가 있으면 색인 측정값이 문자열 길이보다 깁니다.

sources[]

object (CitationSource)

출력 전용입니다. 기여도가 부여된 세그먼트의 인용 출처를 포함합니다.

CitationSource

인용 출처입니다.

JSON 표현
{
  "referenceIndex": integer
}
필드
referenceIndex

integer

출력 전용입니다. references 반복 필드에 있는 Answer.AnswerReference의 색인을 포함합니다.

AnswerReference

소스에 대한 참조를 나타냅니다.

JSON 표현
{

  // Union field content can be only one of the following:
  "documentReference": {
    object (DocumentReference)
  }
  // End of list of possible types for union field content.
}
필드
통합 필드 content. 참조의 콘텐츠를 포함합니다. content는 다음 중 하나여야 합니다.
documentReference

object (DocumentReference)

출력 전용입니다. 참조 문서입니다.

DocumentReference

문서에 대한 참조를 나타냅니다.

JSON 표현
{
  "documentChunk": {
    object (DocumentChunk)
  }
}
필드
documentChunk

object (DocumentChunk)

출력 전용입니다. 문서 청크를 포함합니다. documentChunk.id 필드는 설정되지 않으며 비어 있습니다.