Question answering

메서드: models.generateAnswer

입력 GenerateAnswerRequest가 주어지면 모델에서 근거 답변을 생성합니다.

엔드포인트

<ph type="x-smartling-placeholder"></ph> 게시물 https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

경로 매개변수

model string

필수 항목입니다. 근거 응답을 생성하는 데 사용할 Model의 이름입니다.

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

요청 본문

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

<ph type="x-smartling-placeholder">
</ph> 입력란
contents[] object (Content)

필수 항목입니다. 모델과의 현재 대화 콘텐츠입니다. 싱글턴 쿼리의 경우 단일 질문만 답하면 됩니다. 멀티턴 쿼리의 경우 대화 기록과 질문이 포함된 목록의 마지막 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가 지원됩니다.

통합 필드 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

반복되는 문구 목록입니다.

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

문구 목록입니다.

GroundingPassage

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

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

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

content object (Content)

문구의 내용입니다.

SemanticRetrieverConfig

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

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

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

query object (Content)

필수 항목입니다. 지정된 리소스에서 유사성 일치 Chunk에 사용할 쿼리입니다.

metadataFilters[] object (MetadataFilter)

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

maxChunksCount integer

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

minimumRelevanceScore number

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

AnswerStyle

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

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

InputFeedback

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

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

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

blockReason enum (BlockReason)

선택사항. 설정된 경우 입력이 차단되고 후보가 반환되지 않습니다. 의견을 다르게 표현합니다.

BlockReason

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

열거형
BLOCK_REASON_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
SAFETY 안전상의 이유로 입력이 차단되었습니다. safetyRatings를 검사하여 차단된 안전 카테고리를 파악할 수 있습니다.
OTHER 다른 이유로 입력이 차단되었습니다.