Method: models.generateAnswer

입력 GenerateAnswerRequest가 지정된 경우 모델에서 그라운드 답변을 생성합니다.

HTTP 요청

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

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

경로 매개변수

매개변수
model

string

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

형식은 model=models/{model}입니다.

요청 본문

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

JSON 표현
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
입력란
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)가 권장됩니다.

응답 본문

정답에 대한 모델의 응답입니다.

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

JSON 표현
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
입력란
answer

object (Candidate)

모델에서 후보 답변입니다.

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

answerableProbability

number

출력 전용. 답이 정확하며 입력 문구에 근거할 확률에 대한 모델의 추정치입니다.

answerableProbability가 낮으면 답변이 소스를 기반으로 하지 않을 수 있음을 나타냅니다.

answerableProbability가 낮으면 일부 클라이언트는 다음을 원할 수 있습니다.

  • 사용자에게 '질문에 답변할 수 없습니다'와 같은 메시지를 표시합니다.
  • 전 세계의 지식에 기반한 질문에 답하는 범용 LLM으로 대체합니다. 이러한 대체의 기준과 특성은 개별 클라이언트의 사용 사례에 따라 다릅니다. 0.5는 적절한 시작 임계값입니다.
inputFeedback

object (InputFeedback)

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

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

  • GenerateAnswerRequest.content의 마지막 항목으로 지정된 질문
  • GenerateAnswerRequest.content의 다른 항목에서 지정한 대화 기록
  • 그라운딩 소스 (GenerateAnswerRequest.semantic_retriever 또는 GenerateAnswerRequest.inline_passages)

승인 범위

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

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

자세한 내용은 인증 개요를 참조하세요.

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 기타 이유로 입력이 차단되었습니다.