Semantic Retrieval API는 Google의 인프라를 사용하여 검색 증강 생성 (RAG) 시스템을 빌드하기 위한 호스팅된 질의 응답 서비스를 제공합니다. 자세한 둘러보기는 시맨틱 검색 가이드를 확인하세요.
메서드: models.generateAnswer
- 엔드포인트
- 경로 매개변수
- 요청 본문
- 응답 본문
- 승인 범위
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
입력 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.contents
및 GenerateAnswerResponse.candidate
에 적용됩니다. 각 SafetyCategory
유형에 대해 두 개 이상의 설정이 있어서는 안 됩니다. API는 이러한 설정에 의해 설정된 기준을 충족하지 않는 모든 콘텐츠와 응답을 차단합니다. 이 목록은 safetySettings에 지정된 각 SafetyCategory
의 기본 설정을 재정의합니다. 목록에 제공된 특정 SafetyCategory
에 SafetySetting
가 없는 경우 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 ( |
GroundingPassages
구절의 반복 목록입니다.
passages[]
object (GroundingPassage
)
문구 목록입니다.
JSON 표현 |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Semantic Retriever API를 사용하여 만든 Corpus
또는 Document
에서 근거 콘텐츠를 검색하기 위한 구성입니다.
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 ( |
AnswerStyle
근거가 있는 답변을 위한 스타일 지정
열거형 | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
지정되지 않은 답변 스타일입니다. |
ABSTRACTIVE |
간결하지만 추상적인 스타일 |
EXTRACTIVE |
매우 간결하고 추출적인 스타일입니다. |
VERBOSE |
추가 세부정보를 포함하는 상세 스타일 응답은 문장, 단락, 여러 단락, 글머리기호 등으로 형식이 지정될 수 있습니다. |
InputFeedback
질문에 대한 모델이 생성한 응답이 아닌, 질문에 답하는 데 사용된 입력 데이터와 관련된 피드백입니다.
safetyRatings[]
object (SafetyRating
)
입력의 안전에 대한 평점입니다. 카테고리당 최대 1개의 평점이 있습니다.
blockReason
enum (BlockReason
)
선택사항입니다. 이 속성이 설정되면 입력이 차단되고 후보가 반환되지 않습니다. 입력 내용을 바꿉니다.
JSON 표현 |
---|
{ "safetyRatings": [ { object ( |
BlockReason
입력이 차단된 이유를 지정합니다.
열거형 | |
---|---|
BLOCK_REASON_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
SAFETY |
안전상의 이유로 입력이 차단되었습니다. safetyRatings 를 검사하여 어떤 안전 카테고리에서 차단했는지 확인합니다. |
OTHER |
다른 이유로 인해 입력이 차단되었습니다. |