Question answering

Semantic Retrieval API는 Google의 인프라를 사용하여 검색 증강 생성 (RAG) 시스템을 빌드하기 위한 호스팅된 질의 응답 서비스를 제공합니다. 자세한 둘러보기는 시맨틱 검색 가이드를 확인하세요.

메서드: models.generateAnswer

입력 GenerateAnswerRequest를 사용하여 모델에서 근거 있는 답변을 생성합니다.

엔드포인트

게시 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

경로 매개변수

model string

필수 항목입니다. 그라운딩된 응답을 생성하는 데 사용할 Model의 이름입니다.

형식: model=models/{model} models/{model} 형식을 사용합니다.

요청 본문

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

필드
contents[] object (Content)

필수 항목입니다. Model와 현재 대화의 콘텐츠입니다. 싱글턴 쿼리의 경우 이는 답변해야 할 단일 질문입니다. 멀티턴 쿼리의 경우 대화 기록과 질문이 포함된 목록의 마지막 Content를 포함하는 반복 필드입니다.

참고: models.generateAnswer는 영어로 된 쿼리만 지원합니다.

answerStyle enum (AnswerStyle)

필수 항목입니다. 답변을 반환할 스타일입니다.

safetySettings[] object (SafetySetting)

선택사항입니다. 안전하지 않은 콘텐츠를 차단하기 위한 고유한 SafetySetting 인스턴스 목록입니다.

이는 GenerateAnswerRequest.contentsGenerateAnswerResponse.candidate에 적용됩니다. 각 SafetyCategory 유형에 대해 두 개 이상의 설정이 있어서는 안 됩니다. API는 이러한 설정에 의해 설정된 기준을 충족하지 않는 모든 콘텐츠와 응답을 차단합니다. 이 목록은 safetySettings에 지정된 각 SafetyCategory의 기본 설정을 재정의합니다. 목록에 제공된 특정 SafetyCategorySafetySetting가 없는 경우 API는 해당 카테고리의 기본 안전 설정을 사용합니다. 피해 카테고리 HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT가 지원됩니다. 사용 가능한 안전 설정에 대한 자세한 내용은 가이드를 참고하세요. 또한 AI 애플리케이션에 안전 고려사항을 통합하는 방법을 알아보려면 안전 안내를 참고하세요.

통합 필드 grounding_source. 답변의 근거가 되는 출처입니다. grounding_source은 다음 중 하나여야 합니다.
inlinePassages object (GroundingPassages)

요청과 함께 인라인으로 제공된 문구

semanticRetriever object (SemanticRetrieverConfig)

Semantic Retriever API를 통해 생성된 리소스에서 검색된 콘텐츠입니다.

temperature number

선택사항입니다. 출력의 무작위성을 제어합니다.

값의 범위는 [0.0,1.0] 이하입니다. 값이 1.0에 가까울수록 더 다양하고 창의적인 응답을 생성하며, 0.0에 가까우면 일반적으로 모델의 응답이 더 명확해집니다. 기여 분석 질문-답변 사용 사례에서는 일반적으로 낮은 온도 (~0.2)가 권장됩니다.

응답 본문

근거 있는 답변에 대한 모델의 응답입니다.

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

필드
answer object (Candidate)

모델의 후보 답변입니다.

참고: 모델은 주어진 문구에서 답변할 가능성이 낮더라도 항상 근거 답변을 제공하려고 시도합니다. 이 경우 낮은 answerableProbability와 함께 품질이 낮거나 근거가 없는 대답이 제공될 수 있습니다.

answerableProbability number

출력 전용입니다. 모델이 입력 구절에 근거하여 정답일 확률을 추정합니다.

answerableProbability가 낮으면 답이 소스를 기반으로 하지 않기 때문일 수 있습니다.

answerableProbability가 낮은 경우 다음을 수행하는 것이 좋습니다.

  • '질문에 답변할 수 없음' 효과의 메시지를 표시합니다. 표시됩니다.
  • 세계 지식에서 질문에 답하는 범용 LLM으로 돌아가세요. 이러한 대체의 기준과 특성은 개별 사용 사례에 따라 다릅니다. 0.5는 적절한 시작 기준점입니다.
inputFeedback object (InputFeedback)

출력 전용입니다. 질문에 대한 모델이 생성한 응답이 아닌 질문에 답하는 데 사용된 입력 데이터와 관련된 피드백입니다.

입력 데이터는 다음 중 하나 이상일 수 있습니다.

  • GenerateAnswerRequest.content의 마지막 항목으로 지정된 질문
  • GenerateAnswerRequest.content의 다른 항목에서 지정한 대화 기록
  • 그라운딩 소스(GenerateAnswerRequest.semantic_retriever 또는 GenerateAnswerRequest.inline_passages)
JSON 표현
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

구절의 반복 목록입니다.

필드
passages[] object (GroundingPassage)

문구 목록입니다.

JSON 표현
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}

GroundingPassage

그라운딩 구성과 함께 인라인으로 포함된 패시지

필드
id string

근거가 있는 답변에서 이 문구의 출처를 밝히는 문구의 식별자입니다.

content object (Content)

문구의 내용입니다.

JSON 표현
{
  "id": string,
  "content": {
    object (Content)
  }
}

SemanticRetrieverConfig

Semantic Retriever API를 사용하여 만든 Corpus 또는 Document에서 근거 콘텐츠를 검색하기 위한 구성입니다.

를 통해 개인정보처리방침을 정의할 수 있습니다. <ph type="x-smartling-placeholder">
</ph> 입력란
source string

필수 항목입니다. 검색할 리소스의 이름입니다. 예: corpora/123 또는 corpora/123/documents/abc

query object (Content)

필수 항목입니다. 유사성을 기준으로 지정된 리소스의 Chunk를 일치시키는 데 사용할 쿼리입니다.

metadataFilters[] object (MetadataFilter)

선택사항입니다. 리소스에서 Document 또는 Chunk를 선택하기 위한 필터

maxChunksCount integer

선택사항입니다. 가져올 관련 Chunk의 최대 개수입니다.

minimumRelevanceScore number

선택사항입니다. 가져온 관련 Chunk의 최소 관련성 점수입니다.

JSON 표현
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}

AnswerStyle

근거가 있는 답변을 위한 스타일 지정

열거형
ANSWER_STYLE_UNSPECIFIED 지정되지 않은 답변 스타일입니다.
ABSTRACTIVE 간결하지만 추상적인 스타일
EXTRACTIVE 매우 간결하고 추출적인 스타일입니다.
VERBOSE 추가 세부정보를 포함하는 상세 스타일 응답은 문장, 단락, 여러 단락, 글머리기호 등으로 형식이 지정될 수 있습니다.

InputFeedback

질문에 대한 모델이 생성한 응답이 아닌, 질문에 답하는 데 사용된 입력 데이터와 관련된 피드백입니다.

필드
safetyRatings[] object (SafetyRating)

입력의 안전에 대한 평점입니다. 카테고리당 최대 1개의 평점이 있습니다.

blockReason enum (BlockReason)

선택사항입니다. 이 속성이 설정되면 입력이 차단되고 후보가 반환되지 않습니다. 입력 내용을 바꿉니다.

JSON 표현
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}

BlockReason

입력이 차단된 이유를 지정합니다.

열거형
BLOCK_REASON_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
SAFETY 안전상의 이유로 입력이 차단되었습니다. safetyRatings를 검사하여 어떤 안전 카테고리에서 차단했는지 확인합니다.
OTHER 다른 이유로 인해 입력이 차단되었습니다.