Gemini API는 단일 호출로 여러 요청을 처리할 수 있는 일괄 모드를 지원합니다. 자세한 내용은 일괄 모드 가이드를 참고하세요.
메서드: models.batchGenerateContent
일괄 처리를 위해 models.generateContent
요청을 대기열에 추가합니다.
엔드포인트
게시물https: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:batchGenerateContent
경로 매개변수
batch.model
string
필수입니다. 완료를 생성하는 데 사용할 Model
의 이름입니다.
형식: models/{model}
models/{model}
형식이 사용됩니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
batch.name
string
출력 전용입니다. 식별자. 일괄 처리의 리소스 이름입니다.
형식: batches/{batchId}
batch.displayName
string
필수입니다. 이 배치에 사용자가 정의한 이름입니다.
batch.inputConfig
object (InputConfig
)
필수입니다. 일괄 처리가 실행되는 인스턴스의 입력 구성입니다.
batch.output
object (GenerateContentBatchOutput
)
출력 전용입니다. 일괄 요청의 출력입니다.
batch.createTime
string (Timestamp
format)
출력 전용입니다. 배치가 생성된 시간입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
또는 "2014-10-02T15:01:23+05:30"
입니다.
batch.endTime
string (Timestamp
format)
출력 전용입니다. 일괄 처리가 완료된 시간입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
또는 "2014-10-02T15:01:23+05:30"
입니다.
batch.updateTime
string (Timestamp
format)
출력 전용입니다. 배치가 마지막으로 업데이트된 시간입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
또는 "2014-10-02T15:01:23+05:30"
입니다.
batch.batchStats
object (BatchStats
)
출력 전용입니다. 배치에 관한 통계입니다.
batch.state
enum (BatchState
)
출력 전용입니다. 배치의 상태입니다.
batch.priority
string (int64 format)
선택사항입니다. 배치의 우선순위입니다. 우선순위 값이 높은 일괄 처리는 우선순위 값이 낮은 일괄 처리보다 먼저 처리됩니다. 음수 값을 사용할 수 있습니다. 기본값은 0입니다.
응답 본문
성공한 경우 응답 본문에 Operation
의 인스턴스가 포함됩니다.
GenerateContentRequest
모델에서 완성 텍스트를 생성하도록 요청합니다.
model
string
필수입니다. 완료를 생성하는 데 사용할 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}
JSON 표현 |
---|
{ "model": string, "contents": [ { object ( |
GenerateContentBatch
- JSON 표현
- InputConfig
- InlinedRequests
- InlinedRequest
- GenerateContentBatchOutput
- InlinedResponses
- InlinedResponse
- BatchStats
GenerateContent
요청의 일괄 처리를 나타내는 리소스입니다.
model
string
필수입니다. 완료를 생성하는 데 사용할 Model
의 이름입니다.
형식: models/{model}
name
string
출력 전용입니다. 식별자. 일괄 처리의 리소스 이름입니다.
형식: batches/{batchId}
displayName
string
필수입니다. 이 배치에 사용자가 정의한 이름입니다.
inputConfig
object (InputConfig
)
필수입니다. 일괄 처리가 실행되는 인스턴스의 입력 구성입니다.
output
object (GenerateContentBatchOutput
)
출력 전용입니다. 일괄 요청의 출력입니다.
createTime
string (Timestamp
format)
출력 전용입니다. 배치가 생성된 시간입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
또는 "2014-10-02T15:01:23+05:30"
입니다.
endTime
string (Timestamp
format)
출력 전용입니다. 일괄 처리가 완료된 시간입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
또는 "2014-10-02T15:01:23+05:30"
입니다.
updateTime
string (Timestamp
format)
출력 전용입니다. 배치가 마지막으로 업데이트된 시간입니다.
생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
또는 "2014-10-02T15:01:23+05:30"
입니다.
batchStats
object (BatchStats
)
출력 전용입니다. 배치에 관한 통계입니다.
state
enum (BatchState
)
출력 전용입니다. 배치의 상태입니다.
priority
string (int64 format)
선택사항입니다. 배치의 우선순위입니다. 우선순위 값이 높은 일괄 처리는 우선순위 값이 낮은 일괄 처리보다 먼저 처리됩니다. 음수 값을 사용할 수 있습니다. 기본값은 0입니다.
JSON 표현 |
---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputConfig
일괄 요청의 입력을 구성합니다.
source
Union type
source
는 다음 중 하나여야 합니다.fileName
string
입력 요청이 포함된 File
의 이름입니다.
requests
object (InlinedRequests
)
일괄 처리할 요청입니다.
JSON 표현 |
---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedRequests
일괄 생성 요청의 일부로 제공된 경우 일괄로 처리할 요청입니다.
requests[]
object (InlinedRequest
)
필수입니다. 일괄 처리할 요청입니다.
JSON 표현 |
---|
{
"requests": [
{
object ( |
InlinedRequest
일괄 처리할 요청입니다.
request
object (GenerateContentRequest
)
필수입니다. 일괄 처리할 요청입니다.
metadata
object (Struct
format)
선택사항입니다. 요청과 연결할 메타데이터입니다.
JSON 표현 |
---|
{
"request": {
object ( |
GenerateContentBatchOutput
일괄 요청의 출력입니다. 이는 BatchGenerateContentResponse
또는 GenerateContentBatch.output
필드에 반환됩니다.
output
Union type
output
는 다음 중 하나여야 합니다.responsesFile
string
출력 전용입니다. 응답이 포함된 파일의 파일 ID입니다. 파일은 한 줄에 하나의 대답이 있는 JSONL 파일입니다. 대답은 JSON 형식으로 지정된 GenerateContentResponse
메시지입니다. 대답은 입력 요청과 동일한 순서로 작성됩니다.
inlinedResponses
object (InlinedResponses
)
출력 전용입니다. 배치에 있는 요청에 대한 응답입니다. 인라인 요청을 사용하여 일괄이 빌드된 경우 반환됩니다. 대답은 입력 요청과 동일한 순서로 제공됩니다.
JSON 표현 |
---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedResponses
배치에 있는 요청에 대한 응답입니다.
inlinedResponses[]
object (InlinedResponse
)
출력 전용입니다. 배치에 있는 요청에 대한 응답입니다.
JSON 표현 |
---|
{
"inlinedResponses": [
{
object ( |
InlinedResponse
배치의 단일 요청에 대한 응답입니다.
metadata
object (Struct
format)
출력 전용입니다. 요청과 연결된 메타데이터입니다.
output
Union type
output
는 다음 중 하나여야 합니다.error
object (Status
)
출력 전용입니다. 요청을 처리하는 중에 발생한 오류입니다.
response
object (GenerateContentResponse
)
출력 전용입니다. 요청에 대한 응답입니다.
JSON 표현 |
---|
{ "metadata": { object }, // output "error": { object ( |
BatchStats
배치에 관한 통계입니다.
requestCount
string (int64 format)
출력 전용입니다. 배치의 요청 수입니다.
successfulRequestCount
string (int64 format)
출력 전용입니다. 성공적으로 처리된 요청의 수입니다.
failedRequestCount
string (int64 format)
출력 전용입니다. 처리되지 않은 요청 수입니다.
pendingRequestCount
string (int64 format)
출력 전용입니다. 아직 처리 대기 중인 요청 수입니다.
JSON 표현 |
---|
{ "requestCount": string, "successfulRequestCount": string, "failedRequestCount": string, "pendingRequestCount": string } |
BatchState
배치의 상태입니다.
열거형 | |
---|---|
BATCH_STATE_UNSPECIFIED |
일괄 상태가 지정되지 않았습니다. |
BATCH_STATE_PENDING |
서비스가 배치를 실행할 준비를 하고 있습니다. |
BATCH_STATE_RUNNING |
배치가 진행 중입니다. |
BATCH_STATE_SUCCEEDED |
일괄 처리가 완료되었습니다. |
BATCH_STATE_FAILED |
배치가 실패했습니다. |
BATCH_STATE_CANCELLED |
일괄 처리가 취소되었습니다. |
BATCH_STATE_EXPIRED |
배치가 만료되었습니다. |
REST 리소스: batches
리소스: 작업
이 리소스는 네트워크 API 호출의 결과인 장기 실행 작업을 나타냅니다.
name
string
서버에 할당된 이름으로, 해당 이름을 최초로 반환한 서비스 내에서만 고유합니다. 기본 HTTP 매핑을 사용하는 경우 name
은 operations/{unique_id}
로 끝나는 리소스 이름이어야 합니다.
metadata
object
작업과 관련된 서비스별 메타데이터입니다. 일반적으로 진행률 정보 및 생성 시간과 같은 일반 메타데이터가 포함됩니다. 일부 서비스는 이러한 메타데이터를 제공하지 않을 수 있습니다. 장기 실행 작업을 반환하는 메소드는 메타데이터 유형이 있는 경우 이를 문서화해야 합니다.
임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"
은 유형을 식별하는 URI를 포함합니다. 예: { "id": 1234, "@type": "types.example.com/standard/id" }
done
boolean
값이 false
이면 작업이 아직 진행 중이라는 의미입니다. true
이면 작업이 완료된 것이며, error
또는 response
를 사용할 수 있습니다.
result
Union type
error
또는 유효한 response
일 수 있습니다. done
== false
이면 error
와 response
가 모두 설정되지 않습니다. done
== true
이면 error
또는 response
중 정확히 하나를 설정할 수 있습니다. 일부 서비스는 결과를 제공하지 않을 수 있습니다. result
은 다음 중 하나여야 합니다.error
object (Status
)
실패하거나 취소된 작업의 오류 결과입니다.
response
object
정상적인 성공한 작업 응답입니다. Delete
와 같이 원래 메서드가 성공 시 데이터를 반환하지 않는 경우 응답은 google.protobuf.Empty
입니다. 원래 메서드가 표준 Get
/Create
/Update
이면 응답은 리소스여야 합니다. 다른 메서드의 경우 응답은 XxxResponse
유형이어야 하며, 여기에서 Xxx
는 원래 메서드의 이름입니다. 예를 들어 원래 메서드 이름이 TakeSnapshot()
이면 추론된 응답 유형은 TakeSnapshotResponse
입니다.
임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"
은 유형을 식별하는 URI를 포함합니다. 예: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 표현 |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
메서드: batches.get
장기 실행 작업의 최신 상태를 가져옵니다. 클라이언트는 이 메서드를 사용하여 API 서비스가 권장하는 간격으로 작업 결과를 폴링할 수 있습니다.
엔드포인트
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}
경로 매개변수
name
string
작업 리소스의 이름입니다. batches/{batches}
형식이 사용됩니다.
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 Operation
의 인스턴스가 포함됩니다.
메서드: batches.list
요청 시 지정된 필터와 일치하는 작업을 나열합니다. 서버에서 이 메서드를 지원하지 않으면 UNIMPLEMENTED
가 반환됩니다.
엔드포인트
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=batches}
경로 매개변수
name
string
작업의 상위 리소스 이름입니다. batches
형식이 사용됩니다.
쿼리 매개변수
filter
string
표준 목록 필터입니다.
pageSize
integer
표준 목록 페이지 크기입니다.
pageToken
string
표준 목록 페이지 토큰입니다.
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 ListOperationsResponse
의 인스턴스가 포함됩니다.
메서드: batches.cancel
장기 실행 작업에 대한 비동기 취소를 시작합니다. 서버는 작업이 취소되도록 최선을 다하지만 성공한다고 보장되지 않습니다. 서버에서 이 메서드를 지원하지 않으면 google.rpc.Code.UNIMPLEMENTED
가 반환됩니다. 클라이언트는 Operations.GetOperation
또는 다른 메서드를 사용하여 취소가 성공했는지 또는 취소에도 불구하고 작업이 완료되었는지 여부를 확인할 수 있습니다. 취소가 성공하면 작업은 삭제되지 않고 대신 Operation.error
값을 갖는 작업이 되며 google.rpc.Status.code
가 1
로 설정됩니다. 이 값은 Code.CANCELLED
에 해당합니다.
엔드포인트
게시물https: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}:cancel
경로 매개변수
name
string
취소할 작업 리소스의 이름입니다. batches/{batches}
형식이 사용됩니다.
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공하면 응답 본문은 빈 JSON 객체입니다.
메서드: batches.delete
장기 실행 작업을 삭제합니다. 이 메소드는 클라이언트가 작업 결과에 더 이상 관심이 없음을 나타냅니다. 작업을 취소하지는 않습니다. 서버에서 이 메서드를 지원하지 않으면 google.rpc.Code.UNIMPLEMENTED
가 반환됩니다.
엔드포인트
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}
경로 매개변수
name
string
삭제할 작업 리소스의 이름입니다. batches/{batches}
형식이 사용됩니다.
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공하면 응답 본문은 빈 JSON 객체입니다.