Model Gemini dapat diakses menggunakan library OpenAI (Python dan TypeScript / JavaScript) bersama dengan REST API, dengan memperbarui tiga baris kode dan menggunakan kunci Gemini API Anda. Baca selengkapnya tentang fitur ini di panduan kompatibilitas.
Metode: chatCompletions
Menghasilkan kumpulan respons dari model berdasarkan input histori chat.
Endpoint
postinghttps: / /generativelanguage.googleapis.com /v1beta:chatCompletions
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
model
string
Wajib. Nama Model
yang akan digunakan untuk membuat penyelesaian. Nama model akan diawali dengan "models/" jika tidak ada garis miring di dalamnya.
messages[]
object (Struct
format)
Wajib. Histori chat yang akan digunakan untuk membuat penyelesaian. Mendukung kueri satu dan multi-giliran. Catatan: Ini adalah kolom polimorfik, yang dideserialisasi ke InternalChatMessage.
stream
boolean
Opsional. Apakah akan melakukan streaming respons atau menampilkan satu respons.
Jika benar, kolom "object" dalam respons akan menjadi "chat.completion.chunk". Jika tidak, nilainya akan menjadi "chat.completion".
streamOptions
object (StreamOptions
)
Opsional. Opsi untuk permintaan streaming.
tools[]
object (ChatTool
)
Opsional. Kumpulan alat yang dapat digunakan model untuk membuat panggilan. Setiap alat mendeklarasikan tanda tangannya.
toolChoice
value (Value
format)
Opsional. Mengontrol apakah model harus menggunakan alat atau tidak, dan alat mana yang akan digunakan. Dapat berupa: - String "none", untuk menonaktifkan alat. - String "auto", untuk membiarkan model memutuskan. - String "required", untuk memaksa model menggunakan alat. - Objek deskripsi nama fungsi, yang menentukan alat yang akan digunakan. Opsi terakhir mengikuti skema berikut: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opsional. Jumlah penyelesaian kandidat yang akan dibuat. Harus berupa bilangan bulat positif. Jika tidak ditetapkan, setelan defaultnya adalah 1.
stop
value (Value
format)
Opsional. Kumpulan urutan karakter yang akan menghentikan pembuatan output. Catatan: Ini adalah kolom polimorfik. Ini dimaksudkan untuk berisi string atau string berulang.
maxCompletionTokens
integer
Opsional. Jumlah maksimum token yang akan disertakan dalam kandidat respons. Harus berupa bilangan bulat positif.
maxTokens
integer
Opsional. Jumlah maksimum token yang akan disertakan dalam kandidat respons. Harus berupa bilangan bulat positif. Kolom ini tidak digunakan lagi oleh SDK.
temperature
number
Opsional. Mengontrol keacakan output.
topP
number
Opsional. Probabilitas kumulatif maksimum token yang akan dipertimbangkan saat mengambil sampel.
responseFormat
object (ResponseFormat
)
Opsional. Menentukan format respons. Jika tidak ditetapkan, respons akan diformat sebagai teks.
Isi respons
Jika berhasil, responsnya adalah respons HTTP generik yang formatnya ditentukan oleh metode.
Metode: embeddings
Membuat embedding dari model yang diberi input.
Endpoint
postinghttps: / /generativelanguage.googleapis.com /v1beta /embeddings
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
input
value (Value
format)
Wajib. Input yang akan dibuatkan embedding-nya. Dapat berupa string, atau daftar string. SDK mendukung daftar angka dan daftar daftar angka, tetapi belum diterapkan.
model
string
Wajib. Model untuk membuat embedding.
encodingFormat
string
Opsional. Format encoding. Harus berupa "float" atau "base64".
dimensions
integer
Opsional. Ukuran dimensi penyematan yang dihasilkan.
Isi respons
Jika berhasil, isi respons memuat instance GenerateEmbeddingsResponse
.
Metode: listModels
Mencantumkan model yang saat ini tersedia.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /listModels
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan harus kosong.
Isi respons
Jika berhasil, isi respons memuat instance SdkListModelsResponse
.
Metode: chat.completions
Menghasilkan kumpulan respons dari model berdasarkan input histori chat.
Endpoint
postinghttps: / /generativelanguage.googleapis.com /v1beta /chat /completions
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
model
string
Wajib. Nama Model
yang akan digunakan untuk membuat penyelesaian. Nama model akan diawali dengan "models/" jika tidak ada garis miring di dalamnya.
messages[]
object (Struct
format)
Wajib. Histori chat yang akan digunakan untuk membuat penyelesaian. Mendukung kueri satu dan multi-giliran. Catatan: Ini adalah kolom polimorfik, yang dideserialisasi ke InternalChatMessage.
stream
boolean
Opsional. Apakah akan melakukan streaming respons atau menampilkan satu respons.
Jika benar, kolom "object" dalam respons akan menjadi "chat.completion.chunk". Jika tidak, nilainya akan menjadi "chat.completion".
streamOptions
object (StreamOptions
)
Opsional. Opsi untuk permintaan streaming.
tools[]
object (ChatTool
)
Opsional. Kumpulan alat yang dapat digunakan model untuk membuat panggilan. Setiap alat mendeklarasikan tanda tangannya.
toolChoice
value (Value
format)
Opsional. Mengontrol apakah model harus menggunakan alat atau tidak, dan alat mana yang akan digunakan. Dapat berupa: - String "none", untuk menonaktifkan alat. - String "auto", untuk membiarkan model memutuskan. - String "required", untuk memaksa model menggunakan alat. - Objek deskripsi nama fungsi, yang menentukan alat yang akan digunakan. Opsi terakhir mengikuti skema berikut: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opsional. Jumlah penyelesaian kandidat yang akan dibuat. Harus berupa bilangan bulat positif. Jika tidak ditetapkan, setelan defaultnya adalah 1.
stop
value (Value
format)
Opsional. Kumpulan urutan karakter yang akan menghentikan pembuatan output. Catatan: Ini adalah kolom polimorfik. Ini dimaksudkan untuk berisi string atau string berulang.
maxCompletionTokens
integer
Opsional. Jumlah maksimum token yang akan disertakan dalam kandidat respons. Harus berupa bilangan bulat positif.
maxTokens
integer
Opsional. Jumlah maksimum token yang akan disertakan dalam kandidat respons. Harus berupa bilangan bulat positif. Kolom ini tidak digunakan lagi oleh SDK.
temperature
number
Opsional. Mengontrol keacakan output.
topP
number
Opsional. Probabilitas kumulatif maksimum token yang akan dipertimbangkan saat mengambil sampel.
responseFormat
object (ResponseFormat
)
Opsional. Menentukan format respons. Jika tidak ditetapkan, respons akan diformat sebagai teks.
Isi respons
Jika berhasil, responsnya adalah respons HTTP generik yang formatnya ditentukan oleh metode.
Metode: embeddings.generate
Membuat embedding dari model yang diberi input.
Endpoint
postinghttps: / /generativelanguage.googleapis.com /v1beta /embeddings:generate
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
input
value (Value
format)
Wajib. Input yang akan dibuatkan embedding-nya. Dapat berupa string, atau daftar string. SDK mendukung daftar angka dan daftar daftar angka, tetapi belum diterapkan.
model
string
Wajib. Model untuk membuat embedding.
encodingFormat
string
Opsional. Format encoding. Harus berupa "float" atau "base64".
dimensions
integer
Opsional. Ukuran dimensi penyematan yang dihasilkan.
Isi respons
Jika berhasil, isi respons memuat instance GenerateEmbeddingsResponse
.
Metode: openai.chat.completions
Menghasilkan kumpulan respons dari model berdasarkan input histori chat.
Endpoint
postinghttps: / /generativelanguage.googleapis.com /v1beta /openai /chat /completions
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
model
string
Wajib. Nama Model
yang akan digunakan untuk membuat penyelesaian. Nama model akan diawali dengan "models/" jika tidak ada garis miring di dalamnya.
messages[]
object (Struct
format)
Wajib. Histori chat yang akan digunakan untuk membuat penyelesaian. Mendukung kueri satu dan multi-giliran. Catatan: Ini adalah kolom polimorfik, yang dideserialisasi ke InternalChatMessage.
stream
boolean
Opsional. Apakah akan melakukan streaming respons atau menampilkan satu respons.
Jika benar, kolom "object" dalam respons akan menjadi "chat.completion.chunk". Jika tidak, nilainya akan menjadi "chat.completion".
streamOptions
object (StreamOptions
)
Opsional. Opsi untuk permintaan streaming.
tools[]
object (ChatTool
)
Opsional. Kumpulan alat yang dapat digunakan model untuk membuat panggilan. Setiap alat mendeklarasikan tanda tangannya.
toolChoice
value (Value
format)
Opsional. Mengontrol apakah model harus menggunakan alat atau tidak, dan alat mana yang akan digunakan. Dapat berupa: - String "none", untuk menonaktifkan alat. - String "auto", untuk membiarkan model memutuskan. - String "required", untuk memaksa model menggunakan alat. - Objek deskripsi nama fungsi, yang menentukan alat yang akan digunakan. Opsi terakhir mengikuti skema berikut: { "type": "function", "function": {"name" : "the_function_name"} }
n
integer
Opsional. Jumlah penyelesaian kandidat yang akan dibuat. Harus berupa bilangan bulat positif. Jika tidak ditetapkan, setelan defaultnya adalah 1.
stop
value (Value
format)
Opsional. Kumpulan urutan karakter yang akan menghentikan pembuatan output. Catatan: Ini adalah kolom polimorfik. Ini dimaksudkan untuk berisi string atau string berulang.
maxCompletionTokens
integer
Opsional. Jumlah maksimum token yang akan disertakan dalam kandidat respons. Harus berupa bilangan bulat positif.
maxTokens
integer
Opsional. Jumlah maksimum token yang akan disertakan dalam kandidat respons. Harus berupa bilangan bulat positif. Kolom ini tidak digunakan lagi oleh SDK.
temperature
number
Opsional. Mengontrol keacakan output.
topP
number
Opsional. Probabilitas kumulatif maksimum token yang akan dipertimbangkan saat mengambil sampel.
responseFormat
object (ResponseFormat
)
Opsional. Menentukan format respons. Jika tidak ditetapkan, respons akan diformat sebagai teks.
Isi respons
Jika berhasil, responsnya adalah respons HTTP generik yang formatnya ditentukan oleh metode.
Metode: openai.embeddings
Membuat embedding dari model yang diberi input.
Endpoint
postinghttps: / /generativelanguage.googleapis.com /v1beta /openai /embeddings
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
input
value (Value
format)
Wajib. Input yang akan dibuatkan embedding-nya. Dapat berupa string, atau daftar string. SDK mendukung daftar angka dan daftar daftar angka, tetapi belum diterapkan.
model
string
Wajib. Model untuk membuat embedding.
encodingFormat
string
Opsional. Format encoding. Harus berupa "float" atau "base64".
dimensions
integer
Opsional. Ukuran dimensi penyematan yang dihasilkan.
Isi respons
Jika berhasil, isi respons memuat instance GenerateEmbeddingsResponse
.
Metode: openai.models
Mencantumkan model yang saat ini tersedia.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /openai /models
URL menggunakan sintaksis gRPC Transcoding.
Isi permintaan
Isi permintaan harus kosong.
Isi respons
Jika berhasil, isi respons memuat instance SdkListModelsResponse
.
ChatTool
Alat yang dapat digunakan model untuk membuat panggilan.
function
object (ChatFunction
)
Wajib. Nama alat.
type
string
Wajib. Wajib diisi, harus "function".
Representasi JSON |
---|
{
"function": {
object ( |
ChatFunction
Fungsi yang dapat dibuat panggilannya oleh model.
name
string
Wajib. Nama fungsi.
description
string
Opsional. Deskripsi fungsi.
parameters
object (Struct
format)
Opsional. Parameter fungsi.
strict
boolean
Opsional. Apakah validasi skema bersifat ketat. Jika benar, model akan gagal jika skema tidak valid. CATATAN: Parameter ini saat ini diabaikan.
Representasi JSON |
---|
{ "name": string, "description": string, "parameters": { object }, "strict": boolean } |
GenerateEmbeddingsResponse
Respons untuk pembuatan penyematan.
object
string
Hanya output. Selalu "menyisipkan", yang diperlukan oleh SDK.
data[]
object (GenerateEmbeddingsEmbedding
)
Hanya output. Daftar penyematan yang diminta.
model
string
Hanya output. Model yang digunakan untuk membuat penyematan.
Representasi JSON |
---|
{
"object": string,
"data": [
{
object ( |
GenerateEmbeddingsEmbedding
Vektor embedding yang dihasilkan oleh model.
object
string
Hanya output. Selalu "menyisipkan", yang diperlukan oleh SDK.
index
integer
Hanya output. Indeks penyematan dalam daftar penyematan.
embedding
value (Value
format)
Hanya output. Vektor penyematan yang dihasilkan untuk input. Dapat berupa daftar float atau string base64 yang mengenkode daftar float dengan tata letak gaya C (kompatibel dengan Numpy).
Representasi JSON |
---|
{ "object": string, "index": integer, "embedding": value } |
HttpBody
Pesan yang merepresentasikan bagian isi HTTP arbitrer. Pesan ini hanya boleh digunakan untuk format payload yang tidak dapat direpresentasikan sebagai JSON, seperti biner mentah atau halaman HTML.
Pesan ini dapat digunakan baik dalam metode API streaming maupun non-streaming pada permintaan dan juga pada respons.
Pesan ini dapat digunakan sebagai kolom permintaan tingkat atas, yang praktis jika seseorang ingin mengekstrak parameter dari template HTTP atau URL ke dalam kolom permintaan dan juga menginginkan akses ke isi HTTP mentah.
Contoh:
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);
}
Contoh dengan metode streaming:
service CaldavService {
rpc GetCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
rpc UpdateCalendar(stream google.api.HttpBody)
returns (stream google.api.HttpBody);
}
Penggunaan jenis ini hanya mengubah cara penanganan isi permintaan dan respons; semua fitur lainnya tetap berfungsi tanpa perubahan.
contentType
string
Nilai header Content-Type HTTP yang menentukan jenis konten pada bagian isi.
data
string (bytes format)
Isi permintaan/respons HTTP sebagai biner mentah.
String berenkode base64.
extensions[]
object
Metadata respons khusus aplikasi. Harus ditetapkan dalam respons pertama untuk API streaming.
Objek yang berisi kolom tipe arbitrer. Kolom tambahan "@type"
berisi URI yang mengidentifikasi jenis. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Representasi JSON |
---|
{ "contentType": string, "data": string, "extensions": [ { "@type": string, field1: ..., ... } ] } |
ResponseFormat
Menentukan format respons.
type
string
Wajib. Jenis respons. Dapat berupa: - "text": Memformat respons sebagai teks. - "json_object": Memformat respons sebagai objek JSON. - "jsonSchema": Memformat respons sebagai objek JSON yang mengikuti skema yang diberikan.
jsonSchema
object (ResponseFormatSchema
)
Opsional. Skema JSON yang akan diikuti. Hanya digunakan jika jenisnya adalah "jsonSchema".
Representasi JSON |
---|
{
"type": string,
"jsonSchema": {
object ( |
ResponseFormatSchema
Skema untuk respons.
description
string
Opsional. Deskripsi objek yang direpresentasikan oleh skema.
name
string
Wajib. Nama jenis objek yang diwakili oleh skema.
strict
boolean
Opsional. Apakah validasi skema bersifat ketat. Jika benar, model akan gagal jika skema tidak valid. CATATAN: Parameter ini saat ini diabaikan.
schema
object (Struct
format)
Opsional. Skema JSON yang akan diikuti.
Representasi JSON |
---|
{ "description": string, "name": string, "strict": boolean, "schema": { object } } |
SdkListModelsResponse
Respons untuk model daftar.
object
string
Hanya output. Selalu "list", diperlukan oleh SDK.
data[]
object (SdkModel
)
Hanya output. Daftar penyematan yang diminta.
Representasi JSON |
---|
{
"object": string,
"data": [
{
object ( |
SdkModel
Objek model.
id
string
Hanya output. ID model.
object
string
Hanya output. Selalu "model", yang diperlukan oleh SDK.
created
string (int64 format)
Hanya output. Stempel waktu Unix (dalam detik) saat model dibuat.
owned_by
string
Hanya output. Organisasi yang memiliki model.
Representasi JSON |
---|
{ "id": string, "object": string, "created": string, "owned_by": string } |