Gemini API는 이미지, 오디오, 코드, 도구 등을 사용한 콘텐츠 생성을 지원합니다. 이러한 각 기능에 대한 자세한 내용은 계속 읽고 작업 중심 샘플 코드를 확인하거나 포괄적인 가이드를 참고하세요.
메서드: models.generateContent
입력 GenerateContentRequest
가 주어지면 모델 응답을 생성합니다. 자세한 사용 정보는 텍스트 생성 가이드를 참고하세요. 입력 기능은 조정된 모델을 비롯한 모델마다 다릅니다. 자세한 내용은 모델 가이드 및 튜닝 가이드를 참고하세요.
엔드포인트
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateContent
경로 매개변수
model
string
필수 항목입니다. 완료를 생성하는 데 사용할 Model
의 이름입니다.
형식: models/{model}
models/{model}
형식이 사용됩니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
toolConfig
object (ToolConfig
)
선택사항입니다. 요청에 지정된 Tool
의 도구 구성입니다. 사용 예시는 함수 호출 가이드를 참고하세요.
safetySettings[]
object (SafetySetting
)
선택사항입니다. 안전하지 않은 콘텐츠를 차단하기 위한 고유한 SafetySetting
인스턴스 목록입니다.
이 규칙은 GenerateContentRequest.contents
및 GenerateContentResponse.candidates
에 적용됩니다. 각 SafetyCategory
유형에 설정이 두 개 이상 있으면 안 됩니다. API는 이러한 설정에 의해 설정된 기준을 충족하지 않는 콘텐츠와 응답을 차단합니다. 이 목록은 safetySettings에 지정된 각 SafetyCategory
의 기본 설정을 재정의합니다. 목록에 제공된 특정 SafetyCategory
에 대한 SafetySetting
가 없는 경우 API는 해당 카테고리의 기본 안전 설정을 사용합니다. HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY 유해 카테고리가 지원됩니다. 사용 가능한 안전 설정에 관한 자세한 내용은 가이드를 참고하세요. 안전 가이드를 참고하여 AI 애플리케이션에 안전 고려사항을 통합하는 방법도 알아보세요.
generationConfig
object (GenerationConfig
)
선택사항입니다. 모델 생성 및 출력의 구성 옵션입니다.
cachedContent
string
선택사항입니다. 예측을 제공하기 위한 컨텍스트로 사용하기 위해 캐시된 콘텐츠의 이름입니다. 형식: cachedContents/{cachedContent}
요청 예시
텍스트
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
이미지
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
오디오
Python
Node.js
Go
Shell
동영상
Python
Node.js
Go
Shell
Python
Go
Shell
채팅
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
캐시
Python
Node.js
Go
튜닝된 모델
Python
JSON 모드
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
코드 실행
Python
Go
Kotlin
Java
함수 호출
Python
Go
Node.js
Shell
Kotlin
Swift
Dart
Java
생성 구성
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
안전 설정
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
시스템 안내
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
응답 본문
성공한 경우 응답 본문에 GenerateContentResponse
의 인스턴스가 포함됩니다.
메서드: models.streamGenerateContent
입력 GenerateContentRequest
가 주어지면 모델에서 스트리밍된 대답을 생성합니다.
엔드포인트
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:streamGenerateContent
경로 매개변수
model
string
필수 항목입니다. 완료를 생성하는 데 사용할 Model
의 이름입니다.
형식: models/{model}
models/{model}
형식이 사용됩니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
toolConfig
object (ToolConfig
)
선택사항입니다. 요청에 지정된 Tool
의 도구 구성입니다. 사용 예시는 함수 호출 가이드를 참고하세요.
safetySettings[]
object (SafetySetting
)
선택사항입니다. 안전하지 않은 콘텐츠를 차단하기 위한 고유한 SafetySetting
인스턴스 목록입니다.
이 규칙은 GenerateContentRequest.contents
및 GenerateContentResponse.candidates
에 적용됩니다. 각 SafetyCategory
유형에 설정이 두 개 이상 있으면 안 됩니다. API는 이러한 설정에 의해 설정된 기준을 충족하지 않는 콘텐츠와 응답을 차단합니다. 이 목록은 safetySettings에 지정된 각 SafetyCategory
의 기본 설정을 재정의합니다. 목록에 제공된 특정 SafetyCategory
에 대한 SafetySetting
가 없는 경우 API는 해당 카테고리의 기본 안전 설정을 사용합니다. HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY 유해 카테고리가 지원됩니다. 사용 가능한 안전 설정에 관한 자세한 내용은 가이드를 참고하세요. 안전 가이드를 참고하여 AI 애플리케이션에 안전 고려사항을 통합하는 방법도 알아보세요.
generationConfig
object (GenerationConfig
)
선택사항입니다. 모델 생성 및 출력의 구성 옵션입니다.
cachedContent
string
선택사항입니다. 예측을 제공하기 위한 컨텍스트로 사용하기 위해 캐시된 콘텐츠의 이름입니다. 형식: cachedContents/{cachedContent}
요청 예시
텍스트
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
이미지
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
오디오
Python
Go
Shell
동영상
Python
Node.js
Go
Shell
Python
Go
Shell
채팅
Python
Node.js
Go
Shell
Kotlin
Swift
Dart
Java
응답 본문
성공하면 응답 본문에 GenerateContentResponse
인스턴스 스트림이 포함됩니다.
GenerateContentResponse
여러 후보 응답을 지원하는 모델의 응답입니다.
안전 등급과 콘텐츠 필터링은 GenerateContentResponse.prompt_feedback
의 프롬프트와 finishReason
및 safetyRatings
의 각 후보에 대해 보고됩니다. API는 다음을 수행합니다. - 요청된 후보자를 모두 반환하거나 하나도 반환하지 않습니다. - 프롬프트에 문제가 있는 경우에만 후보자를 전혀 반환하지 않습니다 (promptFeedback
확인). - finishReason
및 safetyRatings
에서 각 후보자에 대한 의견을 보고합니다.
candidates[]
object (Candidate
)
모델의 후보 응답입니다.
promptFeedback
object (PromptFeedback
)
콘텐츠 필터와 관련된 프롬프트의 의견을 반환합니다.
usageMetadata
object (UsageMetadata
)
출력 전용입니다. 생성 요청의 토큰 사용량에 관한 메타데이터입니다.
modelVersion
string
출력 전용입니다. 대답을 생성하는 데 사용된 모델 버전입니다.
responseId
string
출력 전용입니다. responseId는 각 응답을 식별하는 데 사용됩니다.
JSON 표현 |
---|
{ "candidates": [ { object ( |
PromptFeedback
GenerateContentRequest.content
에 지정된 프롬프트의 피드백 메타데이터 세트입니다.
blockReason
enum (BlockReason
)
선택사항입니다. 설정된 경우 프롬프트가 차단되고 후보가 반환되지 않습니다. 프롬프트를 변경합니다.
safetyRatings[]
object (SafetyRating
)
프롬프트의 안전 등급입니다. 카테고리당 등급은 최대 1개입니다.
JSON 표현 |
---|
{ "blockReason": enum ( |
BlockReason
프롬프트가 차단된 이유를 지정합니다.
열거형 | |
---|---|
BLOCK_REASON_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
SAFETY |
안전상의 이유로 프롬프트가 차단되었습니다. safetyRatings 를 검사하여 차단한 안전 카테고리를 파악합니다. |
OTHER |
알 수 없는 이유로 프롬프트가 차단되었습니다. |
BLOCKLIST |
용어 차단 목록에 포함된 용어로 인해 프롬프트가 차단되었습니다. |
PROHIBITED_CONTENT |
금지된 콘텐츠로 인해 프롬프트가 차단되었습니다. |
IMAGE_SAFETY |
안전하지 않은 이미지 생성 콘텐츠로 인해 후보자가 차단되었습니다. |
UsageMetadata
생성 요청의 토큰 사용량에 관한 메타데이터입니다.
promptTokenCount
integer
프롬프트의 토큰 수입니다. cachedContent
가 설정된 경우에도 이는 여전히 총 유효 프롬프트 크기이며 캐시된 콘텐츠의 토큰 수를 포함합니다.
cachedContentTokenCount
integer
프롬프트의 캐시된 부분 (캐시된 콘텐츠)에 있는 토큰 수
candidatesTokenCount
integer
생성된 모든 대답 후보의 총 토큰 수입니다.
toolUsePromptTokenCount
integer
출력 전용입니다. 도구 사용 프롬프트에 있는 토큰 수입니다.
thoughtsTokenCount
integer
출력 전용입니다. 사고 모델의 사고 토큰 수입니다.
totalTokenCount
integer
생성 요청 (프롬프트 + 응답 후보)의 총 토큰 수입니다.
promptTokensDetails[]
object (ModalityTokenCount
)
출력 전용입니다. 요청 입력에서 처리된 모달리티 목록입니다.
cacheTokensDetails[]
object (ModalityTokenCount
)
출력 전용입니다. 요청 입력에 있는 캐시된 콘텐츠의 모달리티 목록입니다.
candidatesTokensDetails[]
object (ModalityTokenCount
)
출력 전용입니다. 대답에 반환된 모달리티 목록입니다.
toolUsePromptTokensDetails[]
object (ModalityTokenCount
)
출력 전용입니다. 도구 사용 요청 입력에 대해 처리된 모달리티 목록입니다.
JSON 표현 |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "toolUsePromptTokenCount": integer, "thoughtsTokenCount": integer, "totalTokenCount": integer, "promptTokensDetails": [ { object ( |
후보자
- JSON 표현
- FinishReason
- GroundingAttribution
- AttributionSourceId
- GroundingPassageId
- SemanticRetrieverChunk
- GroundingMetadata
- SearchEntryPoint
- GroundingChunk
- 웹
- GroundingSupport
- 세그먼트
- RetrievalMetadata
- LogprobsResult
- TopCandidates
- 후보자
- UrlContextMetadata
- UrlMetadata
- UrlRetrievalStatus
모델에서 생성된 대답 후보입니다.
content
object (Content
)
출력 전용입니다. 모델에서 반환된 생성된 콘텐츠입니다.
finishReason
enum (FinishReason
)
선택사항입니다. 출력 전용입니다. 모델 토큰 생성이 중지된 이유입니다.
비어 있으면 모델이 토큰 생성을 중단하지 않은 것입니다.
safetyRatings[]
object (SafetyRating
)
대답 후보의 안전에 대한 평가 목록입니다.
카테고리당 등급은 최대 1개입니다.
citationMetadata
object (CitationMetadata
)
출력 전용입니다. 모델 생성 후보의 인용 정보입니다.
이 필드는 content
에 포함된 텍스트의 낭독 정보로 채워질 수 있습니다. 기본 LLM의 학습 데이터에 있는 저작권이 있는 자료에서 '인용'된 구절입니다.
tokenCount
integer
출력 전용입니다. 이 후보의 토큰 수입니다.
groundingAttributions[]
object (GroundingAttribution
)
출력 전용입니다. 그라운딩된 답변에 기여한 소스의 저작자 표시 정보입니다.
이 필드는 GenerateAnswer
호출에 채워집니다.
groundingMetadata
object (GroundingMetadata
)
출력 전용입니다. 후보의 그라운딩 메타데이터입니다.
이 필드는 GenerateContent
호출에 채워집니다.
avgLogprobs
number
출력 전용입니다. 후보의 평균 로그 확률 점수입니다.
logprobsResult
object (LogprobsResult
)
출력 전용입니다. 대답 토큰 및 상위 토큰의 로그 가능도 점수
urlContextMetadata
object (UrlContextMetadata
)
출력 전용입니다. URL 컨텍스트 가져오기 도구와 관련된 메타데이터입니다.
index
integer
출력 전용입니다. 대답 후보 목록에서 후보의 색인입니다.
JSON 표현 |
---|
{ "content": { object ( |
FinishReason
모델 토큰 생성이 중지된 이유를 정의합니다.
열거형 | |
---|---|
FINISH_REASON_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
STOP |
모델의 자연 중단 지점 또는 중지 시퀀스가 제공됩니다. |
MAX_TOKENS |
요청에 지정된 최대 토큰 수에 도달했습니다. |
SAFETY |
안전상의 이유로 응답 후보 콘텐츠가 신고되었습니다. |
RECITATION |
응답 후보 콘텐츠가 암송 이유로 신고되었습니다. |
LANGUAGE |
지원되지 않는 언어를 사용한 것으로 응답 후보 콘텐츠가 신고되었습니다. |
OTHER |
알 수 없는 이유입니다. |
BLOCKLIST |
콘텐츠에 금지된 용어가 포함되어 있어 토큰 생성이 중지되었습니다. |
PROHIBITED_CONTENT |
금지된 콘텐츠가 포함되어 있을 수 있어 토큰 생성이 중지되었습니다. |
SPII |
콘텐츠에 민감한 개인 식별 정보 (SPII)가 포함되어 있을 수 있으므로 토큰 생성이 중지되었습니다. |
MALFORMED_FUNCTION_CALL |
모델에서 생성된 함수 호출이 잘못되었습니다. |
IMAGE_SAFETY |
생성된 이미지에 안전 위반이 포함되어 있어 토큰 생성이 중지되었습니다. |
UNEXPECTED_TOOL_CALL |
모델이 도구 호출을 생성했지만 요청에서 사용 설정된 도구가 없습니다. |
GroundingAttribution
답변에 기여한 소스의 출처 표시입니다.
sourceId
object (AttributionSourceId
)
출력 전용입니다. 이 기여에 기여한 소스의 식별자입니다.
content
object (Content
)
이 출처를 구성하는 그라운딩 소스 콘텐츠입니다.
JSON 표현 |
---|
{ "sourceId": { object ( |
AttributionSourceId
이 기여에 기여한 소스의 식별자입니다.
source
Union type
source
는 다음 중 하나여야 합니다.groundingPassage
object (GroundingPassageId
)
인라인 구절의 식별자입니다.
semanticRetrieverChunk
object (SemanticRetrieverChunk
)
시맨틱 리트리버를 통해 가져온 Chunk
의 식별자입니다.
JSON 표현 |
---|
{ // source "groundingPassage": { object ( |
GroundingPassageId
GroundingPassage
내의 파트 식별자입니다.
passageId
string
출력 전용입니다. GenerateAnswerRequest
의 GroundingPassage.id
와 일치하는 섹션의 ID입니다.
partIndex
integer
출력 전용입니다. GenerateAnswerRequest
의 GroundingPassage.content
내에서 파트의 색인입니다.
JSON 표현 |
---|
{ "passageId": string, "partIndex": integer } |
SemanticRetrieverChunk
SemanticRetrieverConfig
를 사용하여 GenerateAnswerRequest
에 지정된 시맨틱 검색기를 통해 가져온 Chunk
의 식별자입니다.
source
string
출력 전용입니다. 요청의 SemanticRetrieverConfig.source
와 일치하는 소스의 이름입니다. 예: corpora/123
또는 corpora/123/documents/abc
chunk
string
출력 전용입니다. 저작자 표시 텍스트가 포함된 Chunk
의 이름입니다. 예를 들면 corpora/123/documents/abc/chunks/xyz
입니다.
JSON 표현 |
---|
{ "source": string, "chunk": string } |
GroundingMetadata
그라운딩이 사용 설정된 경우 클라이언트에 반환되는 메타데이터입니다.
groundingChunks[]
object (GroundingChunk
)
지정된 그라운딩 소스에서 가져온 지원 참조 목록입니다.
groundingSupports[]
object (GroundingSupport
)
그라운딩 지원 목록입니다.
webSearchQueries[]
string
후속 웹 검색을 위한 웹 검색어입니다.
searchEntryPoint
object (SearchEntryPoint
)
선택사항입니다. 후속 웹 검색을 위한 Google 검색 항목입니다.
retrievalMetadata
object (RetrievalMetadata
)
그라운딩 흐름의 검색과 관련된 메타데이터입니다.
JSON 표현 |
---|
{ "groundingChunks": [ { object ( |
SearchEntryPoint
Google 검색 진입점입니다.
renderedContent
string
선택사항입니다. 웹페이지 또는 앱 웹뷰에 삽입할 수 있는 웹 콘텐츠 스니펫입니다.
sdkBlob
string (bytes format)
선택사항입니다. <검색어, 검색 URL> 튜플 배열을 나타내는 Base64 인코딩 JSON입니다.
base64 인코딩 문자열입니다.
JSON 표현 |
---|
{ "renderedContent": string, "sdkBlob": string } |
GroundingChunk
그라운딩 청크입니다.
JSON 표현 |
---|
{
// chunk_type
"web": {
object ( |
웹
웹에서 가져온 청크
uri
string
청크의 URI 참조입니다.
title
string
청크의 제목입니다.
JSON 표현 |
---|
{ "uri": string, "title": string } |
GroundingSupport
그라운딩 지원
groundingChunkIndices[]
integer
주장과 관련된 인용을 지정하는 색인('grounding_chunk' 내) 목록입니다. 예를 들어 [1,3,4] 는 grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] 가 주장에 기여한 검색된 콘텐츠임을 의미합니다.
confidenceScores[]
number
지원 참조의 신뢰도 점수입니다. 범위는 0~1입니다. 1이 가장 자신감 있는 상태입니다. 이 목록의 크기는 groundingChunkIndices와 같아야 합니다.
segment
object (Segment
)
이 지원이 속한 콘텐츠의 세그먼트입니다.
JSON 표현 |
---|
{
"groundingChunkIndices": [
integer
],
"confidenceScores": [
number
],
"segment": {
object ( |
세그먼트
콘텐츠의 세그먼트입니다.
partIndex
integer
출력 전용입니다. 상위 콘텐츠 객체 내의 파트 객체의 색인입니다.
startIndex
integer
출력 전용입니다. 지정된 파트의 시작 색인(바이트 단위)입니다. 파트 시작 부분에서 오프셋입니다(0부터 시작, 포함).
endIndex
integer
출력 전용입니다. 지정된 부분의 끝 색인입니다(단위: 바이트). 파트 시작 부분에서 오프셋(0부터 시작, 제외)입니다.
text
string
출력 전용입니다. 대답의 세그먼트에 해당하는 텍스트입니다.
JSON 표현 |
---|
{ "partIndex": integer, "startIndex": integer, "endIndex": integer, "text": string } |
RetrievalMetadata
그라운딩 흐름의 검색과 관련된 메타데이터입니다.
googleSearchDynamicRetrievalScore
number
선택사항입니다. Google 검색의 정보가 프롬프트에 답변하는 데 얼마나 도움이 될 수 있는지를 나타내는 점수입니다. 점수는 [0, 1] 범위에 속하며, 0은 가능성이 가장 낮고 1은 가능성이 가장 높습니다. 이 점수는 Google 검색 그라운딩 및 동적 검색이 사용 설정된 경우에만 채워집니다. Google 검색을 트리거할지 여부를 결정하기 위해 기준점과 비교됩니다.
JSON 표현 |
---|
{ "googleSearchDynamicRetrievalScore": number } |
LogprobsResult
Logprobs 결과
topCandidates[]
object (TopCandidates
)
길이 = 총 디코딩 단계 수
chosenCandidates[]
object (Candidate
)
길이 = 총 디코딩 단계 수 선택한 후보는 topCandidates에 있을 수도 있고 없을 수도 있습니다.
JSON 표현 |
---|
{ "topCandidates": [ { object ( |
TopCandidates
각 디코딩 단계에서 로그 확률이 가장 높은 후보입니다.
candidates[]
object (Candidate
)
로그 확률을 기준으로 내림차순으로 정렬됩니다.
JSON 표현 |
---|
{
"candidates": [
{
object ( |
후보자
logprobs 토큰 및 점수의 후보입니다.
token
string
후보자의 토큰 문자열 값입니다.
tokenId
integer
후보자의 토큰 ID 값입니다.
logProbability
number
후보의 로그 확률입니다.
JSON 표현 |
---|
{ "token": string, "tokenId": integer, "logProbability": number } |
UrlContextMetadata
URL 컨텍스트 가져오기 도구와 관련된 메타데이터입니다.
urlMetadata[]
object (UrlMetadata
)
URL 컨텍스트 목록입니다.
JSON 표현 |
---|
{
"urlMetadata": [
{
object ( |
UrlMetadata
단일 URL 검색의 컨텍스트입니다.
retrievedUrl
string
도구에서 가져온 URL입니다.
urlRetrievalStatus
enum (UrlRetrievalStatus
)
URL 가져오기의 상태입니다.
JSON 표현 |
---|
{
"retrievedUrl": string,
"urlRetrievalStatus": enum ( |
UrlRetrievalStatus
URL 가져오기의 상태입니다.
열거형 | |
---|---|
URL_RETRIEVAL_STATUS_UNSPECIFIED |
기본값 이 값은 사용되지 않습니다. |
URL_RETRIEVAL_STATUS_SUCCESS |
URL 가져오기에 성공했습니다. |
URL_RETRIEVAL_STATUS_ERROR |
오류로 인해 URL을 가져올 수 없습니다. |
CitationMetadata
콘텐츠의 소스 저작자 표시 모음입니다.
citationSources[]
object (CitationSource
)
특정 대답의 소스 인용입니다.
JSON 표현 |
---|
{
"citationSources": [
{
object ( |
CitationSource
특정 대답의 일부에 대한 소스 인용입니다.
startIndex
integer
선택사항입니다. 이 출처에 기여한 응답 세그먼트의 시작입니다.
색인은 바이트 단위로 측정된 세그먼트의 시작을 나타냅니다.
endIndex
integer
선택사항입니다. 기여도가 부여된 세그먼트의 끝(해당 값 제외)입니다.
uri
string
선택사항입니다. 텍스트의 일부에 대한 소스로 표시되는 URI입니다.
license
string
선택사항입니다. 세그먼트의 소스로 표시된 GitHub 프로젝트의 라이선스입니다.
코드 인용에는 라이선스 정보가 필요합니다.
JSON 표현 |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
GenerationConfig
- JSON 표현
- 형식
- SpeechConfig
- VoiceConfig
- PrebuiltVoiceConfig
- MultiSpeakerVoiceConfig
- SpeakerVoiceConfig
- ThinkingConfig
- MediaResolution
모델 생성 및 출력의 구성 옵션입니다. 모델에 따라 구성할 수 없는 매개변수가 있습니다.
stopSequences[]
string
선택사항입니다. 출력 생성을 중지하는 문자 시퀀스 집합입니다 (최대 5개). 지정된 경우 API는 stop_sequence
이 처음 표시되는 위치에서 중지됩니다. 중지 시퀀스는 응답에 포함되지 않습니다.
responseMimeType
string
선택사항입니다. 생성된 후보 텍스트의 MIME 유형입니다. 지원되는 MIME 유형은 다음과 같습니다. text/plain
: (기본값) 텍스트 출력입니다. application/json
: 대답 후보의 JSON 응답입니다. text/x.enum
: 응답 후보의 문자열 응답으로 된 ENUM입니다. 지원되는 모든 텍스트 MIME 유형 목록은 문서를 참고하세요.
responseSchema
object (Schema
)
선택사항입니다. 생성된 후보 텍스트의 출력 스키마입니다. 스키마는 OpenAPI 스키마의 하위 집합이어야 하며 객체, 기본 유형 또는 배열일 수 있습니다.
설정된 경우 호환되는 responseMimeType
도 설정해야 합니다. 호환되는 MIME 유형: application/json
: JSON 응답의 스키마입니다. 자세한 내용은 JSON 텍스트 생성 가이드를 참고하세요.
responseJsonSchema
value (Value
format)
선택사항입니다. 생성된 대답의 출력 스키마입니다. JSON 스키마를 허용하는 responseSchema
의 대안입니다.
설정된 경우 responseSchema
는 생략해야 하지만 responseMimeType
는 필수입니다.
전체 JSON 스키마가 전송될 수 있지만 일부 기능은 지원되지 않습니다. 구체적으로 다음 속성만 지원됩니다.
$id
$defs
$ref
$anchor
type
format
title
description
enum
(문자열 및 숫자)items
prefixItems
minItems
maxItems
minimum
maximum
anyOf
oneOf
(anyOf
과 동일하게 해석됨)properties
additionalProperties
required
비표준 propertyOrdering
속성도 설정할 수 있습니다.
순환 참조는 제한된 정도로 펼쳐지므로 필수 속성 내에서만 사용할 수 있습니다. (Null 허용 속성으로는 충분하지 않습니다.) $ref
이 하위 스키마에 설정된 경우 $
로 시작하는 속성을 제외한 다른 속성은 설정할 수 없습니다.
responseModalities[]
enum (Modality
)
선택사항입니다. 요청된 응답의 모달리티입니다. 모델이 반환할 수 있고 응답에서 예상되는 모달리티 집합을 나타냅니다. 이는 대답의 모달리티와 정확히 일치합니다.
모델은 지원되는 여러 모달리티 조합을 가질 수 있습니다. 요청된 모달리티가 지원되는 조합과 일치하지 않으면 오류가 반환됩니다.
빈 목록은 텍스트만 요청하는 것과 같습니다.
candidateCount
integer
선택사항입니다. 반환할 생성된 응답 수입니다. 설정되지 않은 경우 기본값은 1입니다. 이 기능은 이전 세대 모델 (Gemini 1.0 제품군)에서는 작동하지 않습니다.
maxOutputTokens
integer
선택사항입니다. 대답 후보에 포함할 최대 토큰 수입니다.
참고: 기본값은 모델에 따라 다릅니다. getModel
함수에서 반환된 Model
의 Model.output_token_limit
속성을 참고하세요.
temperature
number
선택사항입니다. 출력의 무작위성을 제어합니다.
참고: 기본값은 모델에 따라 다릅니다. getModel
함수에서 반환된 Model
의 Model.temperature
속성을 참고하세요.
값의 범위는 [0.0, 2.0]입니다.
topP
number
선택사항입니다. 샘플링 시 고려할 토큰의 최대 누적 확률입니다.
모델은 결합된 Top-k 및 Top-p (nucleus) 샘플링을 사용합니다.
토큰은 할당된 확률에 따라 정렬되므로 가능성이 가장 높은 토큰만 고려됩니다. Top-k 샘플링은 고려할 최대 토큰 수를 직접 제한하는 반면, Nucleus 샘플링은 누적 확률을 기반으로 토큰 수를 제한합니다.
참고: 기본값은 Model
에 따라 다르며 getModel
함수에서 반환된 Model.top_p
속성으로 지정됩니다. topK
속성이 비어 있으면 모델이 상위 k 샘플링을 적용하지 않고 요청에서 topK
설정을 허용하지 않음을 나타냅니다.
topK
integer
선택사항입니다. 샘플링 시 고려할 최대 토큰 수입니다.
Gemini 모델은 Top-p (nucleus) 샘플링 또는 Top-k와 nucleus 샘플링의 조합을 사용합니다. Top-k 샘플링은 확률이 가장 높은 topK
개의 토큰 집합을 고려합니다. nucleus 샘플링으로 실행되는 모델은 topK 설정을 허용하지 않습니다.
참고: 기본값은 Model
에 따라 다르며 getModel
함수에서 반환된 Model.top_p
속성으로 지정됩니다. topK
속성이 비어 있으면 모델이 상위 k 샘플링을 적용하지 않고 요청에서 topK
설정을 허용하지 않음을 나타냅니다.
seed
integer
선택사항입니다. 디코딩에 사용된 시드입니다. 설정하지 않으면 요청에서 무작위로 생성된 시드를 사용합니다.
presencePenalty
number
선택사항입니다. 토큰이 이미 대답에 표시된 경우 다음 토큰의 logprobs에 적용되는 존재 페널티입니다.
이 페널티는 이진(on/off)이며 토큰이 사용된 횟수(첫 번째 이후)와는 관련이 없습니다. 사용할 때마다 증가하는 페널티에는 frequencyPenalty
를 사용합니다.
긍정적 페널티는 응답에서 이미 사용된 토큰의 사용을 방지하여 어휘를 늘립니다.
부정적 페널티는 대답에서 이미 사용된 토큰의 사용을 장려하여 어휘를 줄입니다.
frequencyPenalty
number
선택사항입니다. 다음 토큰의 logprobs에 적용되는 빈도 페널티로, 지금까지 대답에 각 토큰이 표시된 횟수를 곱합니다.
긍정적 페널티는 이미 사용된 토큰의 사용을 억제하며, 토큰이 사용된 횟수에 비례합니다. 토큰이 많이 사용될수록 모델이 해당 토큰을 다시 사용하기가 더 어려워져 응답의 어휘가 늘어납니다.
주의: 음수 페널티는 토큰이 사용된 횟수에 비례하여 토큰을 재사용하도록 모델을 유도합니다. 작은 음수 값은 대답의 어휘를 줄입니다. 음수 값이 클수록 모델이 maxOutputTokens
한도에 도달할 때까지 일반적인 토큰을 반복하게 됩니다.
responseLogprobs
boolean
선택사항입니다. true인 경우 응답에 logprobs 결과를 내보냅니다.
logprobs
integer
선택사항입니다. responseLogprobs=True
인 경우에만 유효합니다. 이렇게 하면 Candidate.logprobs_result
의 각 디코딩 단계에서 반환할 상위 로그 확률 수가 설정됩니다.
enableEnhancedCivicAnswers
boolean
선택사항입니다. 향상된 시민 답변을 사용 설정합니다. 일부 모델에서는 이 기능을 사용하지 못할 수도 있습니다.
speechConfig
object (SpeechConfig
)
선택사항입니다. 음성 생성 구성입니다.
thinkingConfig
object (ThinkingConfig
)
선택사항입니다. 사고 기능 구성입니다. 사고를 지원하지 않는 모델에 이 필드를 설정하면 오류가 반환됩니다.
mediaResolution
enum (MediaResolution
)
선택사항입니다. 지정된 경우 지정된 미디어 해상도가 사용됩니다.
JSON 표현 |
---|
{ "stopSequences": [ string ], "responseMimeType": string, "responseSchema": { object ( |
형식
대답의 지원되는 모달리티입니다.
열거형 | |
---|---|
MODALITY_UNSPECIFIED |
기본값 |
TEXT |
모델이 텍스트를 반환해야 함을 나타냅니다. |
IMAGE |
모델이 이미지를 반환해야 함을 나타냅니다. |
AUDIO |
모델이 오디오를 반환해야 함을 나타냅니다. |
SpeechConfig
음성 생성 구성입니다.
voiceConfig
object (VoiceConfig
)
단일 음성 출력의 경우의 구성입니다.
multiSpeakerVoiceConfig
object (MultiSpeakerVoiceConfig
)
선택사항입니다. 다중 스피커 설정의 구성입니다. voiceConfig 필드와 상호 배타적입니다.
languageCode
string
선택사항입니다. 음성 합성을 위한 언어 코드입니다 (BCP 47 형식, 예: 'en-US').
유효한 값은 de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU, th-TH입니다.
JSON 표현 |
---|
{ "voiceConfig": { object ( |
VoiceConfig
사용할 음성의 구성입니다.
voice_config
Union type
voice_config
는 다음 중 하나여야 합니다.prebuiltVoiceConfig
object (PrebuiltVoiceConfig
)
사용할 사전 빌드 음성의 구성입니다.
JSON 표현 |
---|
{
// voice_config
"prebuiltVoiceConfig": {
object ( |
PrebuiltVoiceConfig
사용할 사전 빌드된 스피커의 구성입니다.
voiceName
string
사용할 사전 설정 음성의 이름입니다.
JSON 표현 |
---|
{ "voiceName": string } |
MultiSpeakerVoiceConfig
다중 스피커 설정의 구성입니다.
speakerVoiceConfigs[]
object (SpeakerVoiceConfig
)
필수 항목입니다. 사용 설정된 모든 스피커 음성입니다.
JSON 표현 |
---|
{
"speakerVoiceConfigs": [
{
object ( |
SpeakerVoiceConfig
다중 스피커 설정의 단일 스피커 구성입니다.
speaker
string
필수 항목입니다. 사용할 스피커의 이름입니다. 프롬프트와 동일해야 합니다.
voiceConfig
object (VoiceConfig
)
필수 항목입니다. 사용할 음성의 구성입니다.
JSON 표현 |
---|
{
"speaker": string,
"voiceConfig": {
object ( |
ThinkingConfig
사고 기능 구성입니다.
includeThoughts
boolean
대답에 생각을 포함할지 여부를 나타냅니다. true인 경우 생각이 있는 경우에만 반환됩니다.
thinkingBudget
integer
모델이 생성해야 하는 사고 토큰 수입니다.
JSON 표현 |
---|
{ "includeThoughts": boolean, "thinkingBudget": integer } |
MediaResolution
입력 미디어의 미디어 해상도입니다.
열거형 | |
---|---|
MEDIA_RESOLUTION_UNSPECIFIED |
미디어 해상도가 설정되지 않았습니다. |
MEDIA_RESOLUTION_LOW |
미디어 해상도가 낮음 (64개 토큰)으로 설정되어 있습니다. |
MEDIA_RESOLUTION_MEDIUM |
미디어 해상도가 중간 (256개 토큰)으로 설정되어 있습니다. |
MEDIA_RESOLUTION_HIGH |
미디어 해상도가 높음으로 설정됨 (256개의 토큰으로 확대된 프레임 재구성). |
HarmCategory
평점의 카테고리입니다.
이러한 카테고리는 개발자가 조정할 수 있는 다양한 종류의 유해성을 다룹니다.
열거형 | |
---|---|
HARM_CATEGORY_UNSPECIFIED |
카테고리가 지정되지 않았습니다. |
HARM_CATEGORY_DEROGATORY |
PaLM - ID 또는 보호 속성을 대상으로 하는 부정적이거나 유해한 댓글 |
HARM_CATEGORY_TOXICITY |
PaLM - 무례하거나 모욕적이거나 욕설이 있는 콘텐츠 |
HARM_CATEGORY_VIOLENCE |
PaLM - 개인 또는 그룹에 대한 폭력을 묘사하는 시나리오 또는 유혈 콘텐츠에 대한 일반적인 설명을 묘사합니다. |
HARM_CATEGORY_SEXUAL |
PaLM - 성행위 또는 기타 외설적인 콘텐츠에 대한 참조가 포함되어 있습니다. |
HARM_CATEGORY_MEDICAL |
PaLM - 확인되지 않은 의학적 조언을 제공합니다. |
HARM_CATEGORY_DANGEROUS |
PaLM - 유해한 행위를 조장, 촉진 또는 장려하는 위험한 콘텐츠입니다. |
HARM_CATEGORY_HARASSMENT |
Gemini - 괴롭힘 콘텐츠 |
HARM_CATEGORY_HATE_SPEECH |
Gemini - 증오심 표현 및 콘텐츠 |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
Gemini - 음란물 |
HARM_CATEGORY_DANGEROUS_CONTENT |
Gemini - 위험한 콘텐츠 |
HARM_CATEGORY_CIVIC_INTEGRITY |
Gemini - 시민적 무결성을 해치는 데 사용될 수 있는 콘텐츠 |
ModalityTokenCount
단일 모달리티의 토큰 수 계산 정보를 나타냅니다.
modality
enum (Modality
)
이 토큰 수와 연결된 모달리티입니다.
tokenCount
integer
토큰 수입니다.
JSON 표현 |
---|
{
"modality": enum ( |
형식
콘텐츠 파트 모달리티
열거형 | |
---|---|
MODALITY_UNSPECIFIED |
지정되지 않은 모달리티입니다. |
TEXT |
일반 텍스트 |
IMAGE |
이미지입니다. |
VIDEO |
동영상입니다. |
AUDIO |
오디오입니다. |
DOCUMENT |
문서(예: PDF) |
SafetyRating
콘텐츠의 안전 등급입니다.
안전 평점에는 콘텐츠의 피해 카테고리와 해당 카테고리의 피해 확률 수준이 포함됩니다. 콘텐츠는 여러 피해 카테고리에 걸쳐 안전을 위해 분류되며 피해 분류의 확률이 여기에 포함됩니다.
category
enum (HarmCategory
)
필수 항목입니다. 이 등급의 카테고리입니다.
probability
enum (HarmProbability
)
필수 항목입니다. 이 콘텐츠의 유해 콘텐츠일 확률입니다.
blocked
boolean
이 등급으로 인해 콘텐츠가 차단되었나요?
JSON 표현 |
---|
{ "category": enum ( |
HarmProbability
콘텐츠가 유해할 확률입니다.
분류 시스템은 콘텐츠가 안전하지 않을 가능성을 제공합니다. 콘텐츠의 피해 심각도를 나타내지는 않습니다.
열거형 | |
---|---|
HARM_PROBABILITY_UNSPECIFIED |
확률이 지정되지 않았습니다. |
NEGLIGIBLE |
콘텐츠가 안전하지 않을 가능성은 무시할 만합니다. |
LOW |
콘텐츠가 안전하지 않을 가능성이 낮습니다. |
MEDIUM |
콘텐츠가 안전하지 않을 가능성이 중간 정도입니다. |
HIGH |
콘텐츠가 안전하지 않을 가능성이 높습니다. |
SafetySetting
안전 차단 동작에 영향을 미치는 안전 설정입니다.
카테고리의 안전 설정을 전달하면 콘텐츠가 차단될 수 있는 허용된 확률이 변경됩니다.
category
enum (HarmCategory
)
필수 항목입니다. 이 설정의 카테고리입니다.
threshold
enum (HarmBlockThreshold
)
필수 항목입니다. 유해성이 차단되는 확률 기준을 제어합니다.
JSON 표현 |
---|
{ "category": enum ( |
HarmBlockThreshold
지정된 유해 가능성 이상에서 차단합니다.
열거형 | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
기준점이 지정되지 않았습니다. |
BLOCK_LOW_AND_ABOVE |
무시할 수 있는 콘텐츠는 허용됩니다. |
BLOCK_MEDIUM_AND_ABOVE |
무시할 수 있는 수준 및 낮은 수준의 콘텐츠는 허용됩니다. |
BLOCK_ONLY_HIGH |
'무시할 수 있음', '낮음', '중간' 콘텐츠는 허용됩니다. |
BLOCK_NONE |
모든 콘텐츠가 허용됩니다. |
OFF |
안전 필터를 사용 중지합니다. |