Gemini 모델은 REST API와 함께 OpenAI 라이브러리 (Python 및 TypeScript / JavaScript)를 사용하여 액세스할 수 있습니다. 코드 3줄을 업데이트하고 Gemini API 키를 사용하면 됩니다. 이 기능에 관한 자세한 내용은 호환성 가이드를 참고하세요.
메서드: chatCompletions
채팅 기록 입력을 고려하여 모델에서 일련의 응답을 생성합니다.
엔드포인트
게시https: / /generativelanguage.googleapis.com /v1beta:chatCompletions
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
model
string
필수 항목입니다. 완성 생성에 사용할 Model
의 이름입니다. 모델 이름에 슬래시가 없으면 모델 이름 앞에 'models/'가 접두사로 추가됩니다.
messages[]
object (Struct
format)
필수 항목입니다. 완료 생성에 사용할 채팅 기록입니다. 단일 및 다중 턴 쿼리를 지원합니다. 참고: 이 필드는 다형 필드이며 InternalChatMessage로 역직렬화됩니다.
stream
boolean
선택사항입니다. 응답을 스트리밍할지 아니면 단일 응답을 반환할지 여부입니다.
true인 경우 응답의 'object' 필드는 'chat.completion.chunk'입니다. 그렇지 않으면 'chat.completion'입니다.
streamOptions
object (StreamOptions
)
선택사항입니다. 스트리밍 요청 옵션
tools[]
object (ChatTool
)
선택사항입니다. 모델이 호출을 생성할 수 있는 도구 집합입니다. 각 도구는 자체 서명을 선언합니다.
toolChoice
value (Value
format)
선택사항입니다. 모델에서 도구를 사용해야 하는지 여부와 사용할 도구를 제어합니다. 다음 중 하나일 수 있습니다. - 도구를 사용 중지하는 문자열 'none' - 모델이 결정하도록 하는 문자열 'auto' - 모델이 도구를 사용하도록 강제하는 '필수' 문자열 - 사용할 도구를 지정하는 함수 이름 설명자 객체입니다. 마지막 옵션은 다음 스키마를 따릅니다. { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
선택사항입니다. 생성할 후보 완료 수입니다. 양의 정수를 입력해야 합니다. 설정하지 않으면 기본값은 1입니다.
stop
value (Value
format)
선택사항입니다. 출력 생성을 중지하는 문자 시퀀스 집합입니다. 참고: 이 필드는 다형 필드입니다. 문자열 또는 반복된 문자열을 포함하는 것을 의미합니다.
maxCompletionTokens
integer
선택사항입니다. 응답 후보에 포함할 토큰의 최대 개수입니다. 양의 정수를 입력해야 합니다.
maxTokens
integer
선택사항입니다. 응답 후보에 포함할 토큰의 최대 개수입니다. 양의 정수를 입력해야 합니다. 이 필드는 SDK에서 지원 중단되었습니다.
temperature
number
선택사항입니다. 출력의 무작위성을 제어합니다.
topP
number
선택사항입니다. 샘플링할 때 고려할 토큰의 최대 누적 확률입니다.
responseFormat
object (ResponseFormat
)
선택사항입니다. 응답 형식을 정의합니다. 설정하지 않으면 응답 형식이 텍스트로 지정됩니다.
응답 본문
성공한 경우 응답은 형식이 메서드에 의해 정의되는 일반 HTTP 응답입니다.
메서드: embeddings
입력이 주어지면 모델에서 임베딩을 생성합니다.
엔드포인트
게시https: / /generativelanguage.googleapis.com /v1beta /embeddings
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
input
value (Value
format)
필수 항목입니다. 임베딩을 생성할 입력입니다. 문자열 또는 문자열 목록일 수 있습니다. SDK는 숫자 목록과 숫자 목록 목록을 지원하지만 아직 구현되지 않았습니다.
model
string
필수 항목입니다. 임베딩을 생성할 모델입니다.
encodingFormat
string
선택사항입니다. 인코딩 형식입니다. 'float' 또는 'base64'여야 합니다.
dimensions
integer
선택사항입니다. 생성된 임베딩의 크기입니다.
응답 본문
성공한 경우 응답 본문에 GenerateEmbeddingsResponse
의 인스턴스가 포함됩니다.
메서드: listModels
현재 사용 가능한 모델을 나열합니다.
엔드포인트
가져오기https: / /generativelanguage.googleapis.com /v1beta /listModels
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 SdkListModelsResponse
의 인스턴스가 포함됩니다.
메서드: chat.completions
채팅 기록 입력을 고려하여 모델에서 일련의 응답을 생성합니다.
엔드포인트
게시https: / /generativelanguage.googleapis.com /v1beta /chat /completions
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
model
string
필수 항목입니다. 완성 생성에 사용할 Model
의 이름입니다. 모델 이름에 슬래시가 없으면 모델 이름 앞에 'models/'가 접두사로 추가됩니다.
messages[]
object (Struct
format)
필수 항목입니다. 완료 생성에 사용할 채팅 기록입니다. 단일 및 다중 턴 쿼리를 지원합니다. 참고: 이 필드는 다형 필드이며 InternalChatMessage로 역직렬화됩니다.
stream
boolean
선택사항입니다. 응답을 스트리밍할지 아니면 단일 응답을 반환할지 여부입니다.
true인 경우 응답의 'object' 필드는 'chat.completion.chunk'입니다. 그렇지 않으면 'chat.completion'입니다.
streamOptions
object (StreamOptions
)
선택사항입니다. 스트리밍 요청 옵션
tools[]
object (ChatTool
)
선택사항입니다. 모델이 호출을 생성할 수 있는 도구 집합입니다. 각 도구는 자체 서명을 선언합니다.
toolChoice
value (Value
format)
선택사항입니다. 모델에서 도구를 사용해야 하는지 여부와 사용할 도구를 제어합니다. 다음 중 하나일 수 있습니다. - 도구를 사용 중지하는 문자열 'none' - 모델이 결정하도록 하는 문자열 'auto' - 모델이 도구를 사용하도록 강제하는 '필수' 문자열 - 사용할 도구를 지정하는 함수 이름 설명자 객체입니다. 마지막 옵션은 다음 스키마를 따릅니다. { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
선택사항입니다. 생성할 후보 완료 수입니다. 양의 정수를 입력해야 합니다. 설정하지 않으면 기본값은 1입니다.
stop
value (Value
format)
선택사항입니다. 출력 생성을 중지하는 문자 시퀀스 집합입니다. 참고: 이 필드는 다형 필드입니다. 문자열 또는 반복된 문자열을 포함하는 것을 의미합니다.
maxCompletionTokens
integer
선택사항입니다. 응답 후보에 포함할 토큰의 최대 개수입니다. 양의 정수를 입력해야 합니다.
maxTokens
integer
선택사항입니다. 응답 후보에 포함할 토큰의 최대 개수입니다. 양의 정수를 입력해야 합니다. 이 필드는 SDK에서 지원 중단되었습니다.
temperature
number
선택사항입니다. 출력의 무작위성을 제어합니다.
topP
number
선택사항입니다. 샘플링할 때 고려할 토큰의 최대 누적 확률입니다.
responseFormat
object (ResponseFormat
)
선택사항입니다. 응답 형식을 정의합니다. 설정하지 않으면 응답 형식이 텍스트로 지정됩니다.
응답 본문
성공한 경우 응답은 형식이 메서드에 의해 정의되는 일반 HTTP 응답입니다.
메서드: embeddings.generate
입력이 주어지면 모델에서 임베딩을 생성합니다.
엔드포인트
게시https: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
input
value (Value
format)
필수 항목입니다. 임베딩을 생성할 입력입니다. 문자열 또는 문자열 목록일 수 있습니다. SDK는 숫자 목록과 숫자 목록 목록을 지원하지만 아직 구현되지 않았습니다.
model
string
필수 항목입니다. 임베딩을 생성할 모델입니다.
encodingFormat
string
선택사항입니다. 인코딩 형식입니다. 'float' 또는 'base64'여야 합니다.
dimensions
integer
선택사항입니다. 생성된 임베딩의 크기입니다.
응답 본문
성공한 경우 응답 본문에 GenerateEmbeddingsResponse
의 인스턴스가 포함됩니다.
메서드: openai.chat.completions
채팅 기록 입력을 고려하여 모델에서 일련의 응답을 생성합니다.
엔드포인트
게시https: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
model
string
필수 항목입니다. 완성 생성에 사용할 Model
의 이름입니다. 모델 이름에 슬래시가 없으면 모델 이름 앞에 'models/'가 접두사로 추가됩니다.
messages[]
object (Struct
format)
필수 항목입니다. 완료 생성에 사용할 채팅 기록입니다. 단일 및 다중 턴 쿼리를 지원합니다. 참고: 이 필드는 다형 필드이며 InternalChatMessage로 역직렬화됩니다.
stream
boolean
선택사항입니다. 응답을 스트리밍할지 아니면 단일 응답을 반환할지 여부입니다.
true인 경우 응답의 'object' 필드는 'chat.completion.chunk'입니다. 그렇지 않으면 'chat.completion'입니다.
streamOptions
object (StreamOptions
)
선택사항입니다. 스트리밍 요청 옵션
tools[]
object (ChatTool
)
선택사항입니다. 모델이 호출을 생성할 수 있는 도구 집합입니다. 각 도구는 자체 서명을 선언합니다.
toolChoice
value (Value
format)
선택사항입니다. 모델에서 도구를 사용해야 하는지 여부와 사용할 도구를 제어합니다. 다음 중 하나일 수 있습니다. - 도구를 사용 중지하는 문자열 'none' - 모델이 결정하도록 하는 문자열 'auto' - 모델이 도구를 사용하도록 강제하는 '필수' 문자열 - 사용할 도구를 지정하는 함수 이름 설명자 객체입니다. 마지막 옵션은 다음 스키마를 따릅니다. { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
선택사항입니다. 생성할 후보 완료 수입니다. 양의 정수를 입력해야 합니다. 설정하지 않으면 기본값은 1입니다.
stop
value (Value
format)
선택사항입니다. 출력 생성을 중지하는 문자 시퀀스 집합입니다. 참고: 이 필드는 다형 필드입니다. 문자열 또는 반복된 문자열을 포함하는 것을 의미합니다.
maxCompletionTokens
integer
선택사항입니다. 응답 후보에 포함할 토큰의 최대 개수입니다. 양의 정수를 입력해야 합니다.
maxTokens
integer
선택사항입니다. 응답 후보에 포함할 토큰의 최대 개수입니다. 양의 정수를 입력해야 합니다. 이 필드는 SDK에서 지원 중단되었습니다.
temperature
number
선택사항입니다. 출력의 무작위성을 제어합니다.
topP
number
선택사항입니다. 샘플링할 때 고려할 토큰의 최대 누적 확률입니다.
responseFormat
object (ResponseFormat
)
선택사항입니다. 응답 형식을 정의합니다. 설정하지 않으면 응답 형식이 텍스트로 지정됩니다.
응답 본문
성공한 경우 응답은 형식이 메서드에 의해 정의되는 일반 HTTP 응답입니다.
메서드: openai.embeddings
입력이 주어지면 모델에서 임베딩을 생성합니다.
엔드포인트
게시https: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
input
value (Value
format)
필수 항목입니다. 임베딩을 생성할 입력입니다. 문자열 또는 문자열 목록일 수 있습니다. SDK는 숫자 목록과 숫자 목록 목록을 지원하지만 아직 구현되지 않았습니다.
model
string
필수 항목입니다. 임베딩을 생성할 모델입니다.
encodingFormat
string
선택사항입니다. 인코딩 형식입니다. 'float' 또는 'base64'여야 합니다.
dimensions
integer
선택사항입니다. 생성된 임베딩의 크기입니다.
응답 본문
성공한 경우 응답 본문에 GenerateEmbeddingsResponse
의 인스턴스가 포함됩니다.
메서드: openai.models
현재 사용 가능한 모델을 나열합니다.
엔드포인트
가져오기https: / /generativelanguage.googleapis.com /v1beta /openai /models
URL은 gRPC 트랜스코딩 문법을 사용합니다.
요청 본문
요청 본문은 비어 있어야 합니다.
응답 본문
성공한 경우 응답 본문에 SdkListModelsResponse
의 인스턴스가 포함됩니다.
ChatTool
모델이 호출을 생성할 수 있는 도구입니다.
function
object (ChatFunction
)
필수 항목입니다. 도구의 이름입니다.
type
string
필수 항목입니다. 필수 항목이며 'function'이어야 합니다.
JSON 표현 |
---|
{
"function": {
object ( |
ChatFunction
모델이 호출을 생성할 수 있는 함수입니다.
name
string
필수 항목입니다. 함수 이름입니다.
description
string
선택사항입니다. 함수에 대한 설명입니다.
parameters
object (Struct
format)
선택사항입니다. 함수의 매개변수입니다.
strict
boolean
선택사항입니다. 스키마 유효성 검사가 엄격한지 여부입니다. 이 값이 true이면 스키마가 유효하지 않으면 모델이 실패합니다. 참고: 이 매개변수는 현재 무시됩니다.
JSON 표현 |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
임베딩 생성의 응답입니다.
object
string
출력 전용입니다. 항상 '삽입'되어야 하며 SDK에서 필요합니다.
data[]
object (GenerateEmbeddingsEmbedding
)
출력 전용입니다. 요청된 임베딩 목록입니다.
model
string
출력 전용입니다. 임베딩을 생성하는 데 사용되는 모델입니다.
JSON 표현 |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
모델에서 생성된 임베딩 벡터입니다.
object
string
출력 전용입니다. 항상 '삽입'되어야 하며 SDK에서 필요합니다.
index
integer
출력 전용입니다. 임베딩 목록에서 임베딩의 색인입니다.
embedding
value (Value
format)
출력 전용입니다. 입력에 대해 생성된 임베딩 벡터입니다. 부동 소수점 목록 또는 C 스타일 레이아웃 (Numpy 호환)으로 부동 소수점 목록을 인코딩하는 base64 문자열일 수 있습니다.
JSON 표현 |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
임의의 HTTP 본문을 나타내는 메시지입니다. 원시 바이너리나 HTML 페이지와 같이 JSON으로 표현할 수 없는 페이로드 형식에만 사용해야 합니다.
이 메시지는 요청과 응답에서 스트리밍 및 스트리밍이 아닌 API 메소드에 모두 사용될 수 있습니다.
또한 최상위 요청 필드로 사용할 수 있으며, URL 또는 HTTP 템플릿에서 요청 필드로 매개변수를 추출하려는 경우와 원시 HTTP 본문에 액세스하려는 경우 편리하게 사용할 수 있습니다.
예:
message GetResourceRequest {
// A unique request id.
string requestId = 1;
// The raw HTTP body is bound to this field.
google.api.HttpBody http_body = 2;
}
service ResourceService {
rpc GetResource(GetResourceRequest)
returns (google.api.HttpBody);
rpc UpdateResource(google.api.HttpBody)
returns (google.protobuf.Empty);
}
스트리밍 메소드의 예:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
이 유형을 사용하면 요청 및 응답 본문을 처리하는 방법만 변경되며, 다른 모든 기능은 변경되지 않고 계속 작동합니다.
contentType
string
본문의 콘텐츠 유형을 지정하는 HTTP Content-Type 헤더 값입니다.
data
string (bytes format)
원시 바이너리인 HTTP 요청/응답 본문입니다.
base64 인코딩 문자열입니다.
extensions[]
object
애플리케이션별 응답 메타데이터입니다. 스트리밍 API의 첫 번째 응답에서 설정되어야 합니다.
임의 유형의 필드를 포함하는 객체입니다. 추가 필드 "@type"
은 유형을 식별하는 URI를 포함합니다. 예: { "id": 1234, "@type": "types.example.com/standard/id" }
JSON 표현 |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
응답 형식을 정의합니다.
type
string
필수 항목입니다. 응답 유형입니다. 다음 중 하나일 수 있습니다. - 'text': 대답 형식을 텍스트로 지정합니다. - 'json_object': 응답 형식을 JSON 객체로 지정합니다. - 'jsonSchema': 지정된 스키마에 따라 응답을 JSON 객체로 형식 지정합니다.
jsonSchema
object (ResponseFormatSchema
)
선택사항입니다. 따라야 할 JSON 스키마입니다. 유형이 'jsonSchema'인 경우에만 사용됩니다.
JSON 표현 |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
응답의 스키마입니다.
description
string
선택사항입니다. 스키마로 표현된 객체에 관한 설명입니다.
name
string
필수 항목입니다. 스키마로 표현되는 객체 유형의 이름입니다.
strict
boolean
선택사항입니다. 스키마 유효성 검사가 엄격한지 여부입니다. 이 값이 true이면 스키마가 유효하지 않으면 모델이 실패합니다. 참고: 이 매개변수는 현재 무시됩니다.
schema
object (Struct
format)
선택사항입니다. 따라야 할 JSON 스키마입니다.
JSON 표현 |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
모델 목록에 대한 응답입니다.
object
string
출력 전용입니다. 항상 '목록'이며 SDK에 필요합니다.
data[]
object (SdkModel
)
출력 전용입니다. 요청된 임베딩 목록입니다.
JSON 표현 |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
모델 객체입니다.
id
string
출력 전용입니다. 모델의 ID입니다.
object
string
출력 전용입니다. 항상 'model'이며 SDK에서 필요합니다.
created
string (int64 format)
출력 전용입니다. 모델이 생성된 시점의 Unix 타임스탬프 (초)입니다.
owned_by
string
출력 전용입니다. 모델을 소유한 조직입니다.
JSON 표현 |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |