Cache konteks memungkinkan Anda menyimpan dan menggunakan kembali token input yang telah dihitung sebelumnya, yang ingin Anda gunakan berulang kali, misalnya saat mengajukan pertanyaan yang berbeda tentang file media yang sama. Hal ini dapat menghemat biaya dan kecepatan, bergantung pada penggunaannya. Untuk pengantar mendetail, lihat panduan Pembuatan cache konteks.
Metode: cachedContents.create
Membuat resource CachedContent.
Endpoint
post https://generativelanguage.googleapis.com/v1beta/cachedContentsIsi permintaan
Isi permintaan memuat instance CachedContent
.
contents[]
object (Content
)
Opsional. Hanya input. Tidak dapat diubah. Konten yang akan di-cache.
tools[]
object (Tool
)
Opsional. Hanya input. Tidak dapat diubah. Daftar Tools
yang dapat digunakan model untuk menghasilkan respons berikutnya
expiration
. Menentukan kapan resource ini akan habis masa berlakunya. expiration
hanya dapat berupa salah satu dari berikut:
expireTime
string (Timestamp
format)
Stempel waktu dalam UTC saat resource ini dianggap sudah tidak berlaku. Ini selalu disediakan pada output, terlepas dari apa yang dikirim pada input.
Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z"
dan "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
Hanya input. TTL baru untuk resource ini, hanya input.
Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's
'. Contoh: "3.5s"
.
name
string
Opsional. ID. Nama resource yang merujuk ke konten yang di-cache. Format: cachedContents/{id}
displayName
string
Opsional. Tidak dapat diubah. Nama tampilan bermakna yang dibuat pengguna untuk konten yang di-cache. Maksimum 128 karakter Unicode
model
string
Wajib. Tidak dapat diubah. Nama Model
yang akan digunakan untuk konten yang di-cache Format: models/{model}
systemInstruction
object (Content
)
Opsional. Hanya input. Tidak dapat diubah. Petunjuk sistem yang ditetapkan developer. Saat ini hanya berupa teks.
toolConfig
object (ToolConfig
)
Opsional. Input saja. Tidak dapat diubah. Konfigurasi alat. Konfigurasi ini digunakan bersama untuk semua alat.
Contoh permintaan
Dasar
Python
Node.js
Go
Shell
Nama pengirim
Python
Node.js
Go
Dari chat
Python
Node.js
Go
Isi respons
Jika berhasil, isi respons memuat instance CachedContent
yang baru dibuat.
Metode: cacheContents.list
Mencantumkan CachedContents.
Endpoint
get https://generativelanguage.googleapis.com/v1beta/cachedContentsParameter kueri
pageSize
integer
Opsional. Jumlah maksimum konten cache yang akan ditampilkan. Layanan mungkin menampilkan lebih sedikit dari nilai ini. Jika tidak ditentukan, beberapa jumlah item default (di bawah maksimum) akan ditampilkan. Nilai maksimumnya adalah 1.000; nilai di atas 1.000 akan dikonversi menjadi 1.000.
pageToken
string
Opsional. Token halaman, diterima dari panggilan cachedContents.list
sebelumnya. Berikan atribut ini untuk mengambil halaman selanjutnya.
Saat melakukan penomoran halaman, semua parameter lain yang diberikan untuk cachedContents.list
harus sesuai dengan panggilan yang memberikan token halaman.
Isi permintaan
Isi permintaan harus kosong.
Isi respons
Respons dengan daftar CachedContents.
Jika berhasil, isi respons memuat data dengan struktur berikut:
cachedContents[]
object (CachedContent
)
Daftar konten yang di-cache.
nextPageToken
string
Token yang dapat dikirim sebagai pageToken
untuk mengambil halaman berikutnya. Jika kolom ini dihilangkan, tidak ada halaman berikutnya.
Representasi JSON |
---|
{
"cachedContents": [
{
object ( |
Metode: cachedContents.get
Membaca resource CachedContent.
Endpoint
get https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}Parameter jalur
name
string
Wajib. Nama resource yang merujuk ke entri cache konten. Format: cachedContents/{id}
Formatnya adalah cachedContents/{cachedcontent}
.
Isi permintaan
Isi permintaan harus kosong.
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Jika berhasil, isi respons memuat instance CachedContent
.
Metode: cacheContents.patch
Memperbarui resource CachedContent (hanya masa berlaku yang dapat diperbarui).
Endpoint
tambalan https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}PATCH https://generativelanguage.googleapis.com/v1beta/{cachedContent.name=cachedContents/*}
Parameter jalur
cachedContent.name
string
Opsional. ID. Nama resource yang merujuk ke konten yang di-cache. Format: cachedContents/{id}
Formatnya adalah cachedContents/{cachedcontent}
.
Parameter kueri
updateMask
string (FieldMask
format)
Daftar kolom yang akan diperbarui.
Ini adalah daftar yang dipisahkan koma yang berisi nama kolom yang sepenuhnya memenuhi syarat. Contoh: "user.displayName,photo"
.
Isi permintaan
Isi permintaan memuat instance CachedContent
.
expiration
. Menentukan kapan resource ini akan habis masa berlakunya. expiration
hanya dapat berupa salah satu dari berikut:
expireTime
string (Timestamp
format)
Stempel waktu dalam UTC saat resource ini dianggap sudah tidak berlaku. Ini selalu disediakan pada output, terlepas dari apa yang dikirim pada input.
Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z"
dan "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
Hanya input. TTL baru untuk resource ini, hanya input.
Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's
'. Contoh: "3.5s"
.
name
string
Opsional. ID. Nama resource yang merujuk ke konten yang di-cache. Format: cachedContents/{id}
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Jika berhasil, isi respons memuat instance CachedContent
.
Metode: cachedContents.delete
Menghapus resource CachedContent.
Endpoint
delete https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}Parameter jalur
name
string
Wajib. Nama resource yang merujuk ke format entri cache konten: cachedContents/{id}
Formatnya adalah cachedContents/{cachedcontent}
.
Isi permintaan
Isi permintaan harus kosong.
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Jika berhasil, isi respons akan kosong.
Resource REST: cachedContents
- Resource: CachedContent
- Konten
- Bagian
- Blob
- FunctionCall
- FunctionResponse
- FileData
- ExecutableCode
- Bahasa
- CodeExecutionResult
- Hasil
- Alat
- FunctionDeclaration
- Skema
- Jenis
- CodeExecution
- ToolConfig
- FunctionCallingConfig
- Mode
- UsageMetadata
- Metode
Resource: CachedContent
Konten yang telah diproses sebelumnya dan dapat digunakan dalam permintaan berikutnya ke GenerativeService.
Konten dalam cache hanya dapat digunakan dengan model yang dibuat untuknya.
contents[]
object (Content
)
Opsional. Hanya input. Tidak dapat diubah. Konten yang akan di-cache.
tools[]
object (Tool
)
Opsional. Hanya input. Tidak dapat diubah. Daftar Tools
yang dapat digunakan model untuk menghasilkan respons berikutnya
createTime
string (Timestamp
format)
Hanya output. Waktu pembuatan entri cache.
Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z"
dan "2014-10-02T15:01:23.045123456Z"
.
updateTime
string (Timestamp
format)
Hanya output. Kapan entri cache terakhir diperbarui dalam waktu UTC.
Stempel waktu dalam RFC3339 UTC "Zulu" , dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z"
dan "2014-10-02T15:01:23.045123456Z"
.
usageMetadata
object (UsageMetadata
)
Hanya output. Metadata tentang penggunaan konten yang di-cache.
expiration
. Menentukan kapan masa berlaku resource ini akan berakhir. expiration
hanya dapat berupa salah satu dari berikut:
expireTime
string (Timestamp
format)
Stempel waktu dalam UTC saat resource ini dianggap sudah tidak berlaku. Ini selalu disediakan pada output, terlepas dari apa yang dikirim pada input.
Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z"
dan "2014-10-02T15:01:23.045123456Z"
.
ttl
string (Duration
format)
Hanya input. TTL baru untuk resource ini, hanya input.
Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's
'. Contoh: "3.5s"
.
name
string
Opsional. ID. Nama resource yang merujuk ke konten yang di-cache. Format: cachedContents/{id}
displayName
string
Opsional. Tidak dapat diubah. Nama tampilan bermakna yang dibuat pengguna untuk konten yang di-cache. Maksimum 128 karakter Unicode
model
string
Wajib. Tidak dapat diubah. Nama Model
yang akan digunakan untuk konten yang di-cache Format: models/{model}
systemInstruction
object (Content
)
Opsional. Hanya input. Tidak dapat diubah. Petunjuk sistem yang ditetapkan developer. Saat ini hanya berupa teks.
toolConfig
object (ToolConfig
)
Opsional. Hanya input. Tidak dapat diubah. Konfigurasi alat. Konfigurasi ini digunakan bersama untuk semua alat.
Representasi JSON |
---|
{ "contents": [ { object ( |
Konten
Jenis data terstruktur dasar yang berisi konten multi-bagian pesan.
Content
menyertakan kolom role
yang menetapkan produsen Content
dan kolom parts
yang berisi data multibagian yang berisi konten giliran pesan.
parts[]
object (Part
)
Memesan Parts
yang membentuk satu pesan. Komponen mungkin memiliki jenis MIME yang berbeda.
role
string
Opsional. Produsen konten. Harus berupa 'user' atau 'model'.
Berguna untuk ditetapkan untuk percakapan multi-giliran, jika tidak, dapat dibiarkan kosong atau tidak ditetapkan.
Representasi JSON |
---|
{
"parts": [
{
object ( |
Bagian
Jenis data yang berisi media yang merupakan bagian dari pesan Content
multibagian.
Part
terdiri dari data yang memiliki jenis data terkait. Part
hanya dapat berisi salah satu jenis yang diterima di Part.data
.
Part
harus memiliki jenis MIME IANA tetap yang mengidentifikasi jenis dan subjenis media jika kolom inlineData
diisi dengan byte mentah.
Kolom union data
.
data
hanya dapat berupa salah satu dari yang berikut:
text
string
Teks inline.
inlineData
object (Blob
)
Byte media inline.
functionCall
object (FunctionCall
)
FunctionCall
yang diprediksi akan ditampilkan dari model yang berisi string yang mewakili FunctionDeclaration.name
dengan argumen dan nilainya.
functionResponse
object (FunctionResponse
)
Output hasil dari FunctionCall
yang berisi string yang mewakili FunctionDeclaration.name
dan objek JSON terstruktur yang berisi output apa pun dari fungsi digunakan sebagai konteks untuk model.
fileData
object (FileData
)
Data berbasis URI.
executableCode
object (ExecutableCode
)
Kode yang dihasilkan oleh model yang akan dieksekusi.
codeExecutionResult
object (CodeExecutionResult
)
Hasil dari eksekusi ExecutableCode
.
Representasi JSON |
---|
{ // Union field |
Blob
Byte media mentah.
Teks tidak boleh dikirim sebagai byte mentah, gunakan 'text' kolom tersebut.
mimeType
string
Jenis MIME standar IANA dari data sumber. Contoh: - image/png - image/jpeg Jika jenis MIME yang tidak didukung diberikan, error akan ditampilkan. Untuk mengetahui daftar lengkap jenis yang didukung, lihat Format file yang didukung.
data
string (bytes format)
Byte mentah untuk format media.
String berenkode base64.
Representasi JSON |
---|
{ "mimeType": string, "data": string } |
FunctionCall
FunctionCall
yang diprediksi ditampilkan dari model yang berisi string yang mewakili FunctionDeclaration.name
dengan argumen dan nilainya.
name
string
Wajib. Nama fungsi yang akan dipanggil. Harus berupa a-z, A-Z, 0-9, atau berisi garis bawah dan tanda hubung, dengan panjang maksimum 63.
args
object (Struct
format)
Opsional. Parameter dan nilai fungsi dalam format objek JSON.
Representasi JSON |
---|
{ "name": string, "args": { object } } |
FunctionResponse
Output hasil dari FunctionCall
yang berisi string yang mewakili FunctionDeclaration.name
dan objek JSON terstruktur yang berisi output apa pun dari fungsi tersebut digunakan sebagai konteks untuk model. Ini harus berisi hasil FunctionCall
yang dibuat berdasarkan prediksi model.
name
string
Wajib. Nama fungsi yang akan dipanggil. Harus berupa a-z, A-Z, 0-9, atau berisi garis bawah dan tanda hubung, dengan panjang maksimum 63.
response
object (Struct
format)
Wajib. Respons fungsi dalam format objek JSON.
Representasi JSON |
---|
{ "name": string, "response": { object } } |
FileData
Data berbasis URI.
mimeType
string
Opsional. Jenis MIME standar IANA dari data sumber.
fileUri
string
Wajib. URI.
Representasi JSON |
---|
{ "mimeType": string, "fileUri": string } |
ExecutableCode
Kode yang dihasilkan oleh model yang dimaksudkan untuk dieksekusi, dan hasilnya ditampilkan ke model.
Hanya dibuat saat menggunakan alat CodeExecution
, tempat kode akan otomatis dijalankan, dan CodeExecutionResult
yang sesuai juga akan dibuat.
language
enum (Language
)
Wajib. Bahasa pemrograman code
.
code
string
Wajib. Kode yang akan dieksekusi.
Representasi JSON |
---|
{
"language": enum ( |
Language
Bahasa pemrograman yang didukung untuk kode yang dihasilkan.
Enum | |
---|---|
LANGUAGE_UNSPECIFIED |
Bahasa tidak ditentukan. Nilai ini tidak boleh digunakan. |
PYTHON |
Python >= 3.10, dengan numpy dan simpy tersedia. |
CodeExecutionResult
Hasil menjalankan ExecutableCode
.
Hanya dibuat saat menggunakan CodeExecution
, dan selalu mengikuti part
yang berisi ExecutableCode
.
outcome
enum (Outcome
)
Wajib. Hasil eksekusi kode.
output
string
Opsional. Berisi stdout saat eksekusi kode berhasil, stderr, atau deskripsi lainnya jika tidak.
Representasi JSON |
---|
{
"outcome": enum ( |
Hasil
Enumerasi kemungkinan hasil dari eksekusi kode.
Enum | |
---|---|
OUTCOME_UNSPECIFIED |
Status tidak ditentukan. Nilai ini tidak boleh digunakan. |
OUTCOME_OK |
Eksekusi kode berhasil diselesaikan. |
OUTCOME_FAILED |
Eksekusi kode selesai tetapi dengan kegagalan. stderr harus berisi alasannya. |
OUTCOME_DEADLINE_EXCEEDED |
Eksekusi kode berjalan terlalu lama, dan dibatalkan. Output sebagian mungkin ada atau tidak. |
Alat
Detail alat yang dapat digunakan model untuk menghasilkan respons.
Tool
adalah potongan kode yang memungkinkan sistem berinteraksi dengan sistem eksternal untuk melakukan tindakan, atau serangkaian tindakan, di luar pengetahuan dan cakupan model.
functionDeclarations[]
object (FunctionDeclaration
)
Opsional. Daftar FunctionDeclarations
yang tersedia untuk model yang dapat digunakan untuk pemanggilan fungsi.
Model atau sistem tidak menjalankan fungsi. Sebagai gantinya, fungsi yang ditentukan dapat ditampilkan sebagai FunctionCall
dengan argumen ke sisi klien untuk dieksekusi. Model dapat memutuskan untuk memanggil subset fungsi ini dengan mengisi FunctionCall
dalam respons. Giliran percakapan berikutnya dapat berisi FunctionResponse
dengan konteks pembuatan "fungsi" Content.role
untuk giliran model berikutnya.
codeExecution
object (CodeExecution
)
Opsional. Memungkinkan model mengeksekusi kode sebagai bagian dari pembuatan.
Representasi JSON |
---|
{ "functionDeclarations": [ { object ( |
FunctionDeclaration
Representasi terstruktur dari deklarasi fungsi seperti yang ditentukan oleh spesifikasi OpenAPI 3.03. Yang disertakan dalam deklarasi ini adalah nama dan parameter fungsi. FunctionDeclaration ini adalah representasi blok kode yang dapat digunakan sebagai Tool
oleh model dan dieksekusi oleh klien.
name
string
Wajib. Nama fungsi. Harus berupa a-z, A-Z, 0-9, atau berisi garis bawah dan tanda hubung, dengan panjang maksimum 63.
description
string
Wajib. Deskripsi singkat fungsi.
parameters
object (Schema
)
Opsional. Menjelaskan parameter untuk fungsi ini. Mencerminkan Kunci string Objek Parameter Open API 3.03: nama parameter. Nama parameter peka huruf besar/kecil. Nilai Skema: Skema yang menentukan jenis yang digunakan untuk parameter.
Representasi JSON |
---|
{
"name": string,
"description": string,
"parameters": {
object ( |
Skema
Objek Schema
memungkinkan definisi jenis data input dan output. Jenis ini dapat berupa objek, tetapi juga primitif dan array. Merepresentasikan subset tertentu dari objek skema OpenAPI 3.0.
type
enum (Type
)
Wajib. Jenis data.
format
string
Opsional. Format data. Ini hanya digunakan untuk jenis data primitif. Format yang didukung: untuk jenis NOMOR: float, double untuk jenis INTEGER: int32, int64 untuk jenis STRING: enum
description
string
Opsional. Deskripsi singkat parameter. Informasi ini dapat berisi contoh penggunaan. Deskripsi parameter dapat diformat sebagai Markdown.
nullable
boolean
Opsional. Menunjukkan apakah nilai mungkin null.
enum[]
string
Opsional. Nilai yang mungkin dari elemen Type.STRING dengan format enum. Misalnya, kita dapat menentukan Arah Enum sebagai: {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}
maxItems
string (int64 format)
Opsional. Jumlah maksimum elemen untuk Type.ARRAY.
minItems
string (int64 format)
Opsional. Jumlah minimum elemen untuk Type.ARRAY.
properties
map (key: string, value: object (Schema
))
Opsional. Properti Type.OBJECT.
Objek yang berisi daftar pasangan "key": value
. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }
.
required[]
string
Opsional. Properti yang diperlukan dari Type.OBJECT.
items
object (Schema
)
Opsional. Skema elemen Type.ARRAY.
Jenis
Jenis berisi daftar jenis data OpenAPI sebagaimana ditentukan oleh https://spec.openapis.org/oas/v3.0.3#data-types
Enum | |
---|---|
TYPE_UNSPECIFIED |
Tidak ditentukan, tidak boleh digunakan. |
STRING |
Jenis string. |
NUMBER |
Jenis nomor. |
INTEGER |
Jenis bilangan bulat. |
BOOLEAN |
Jenis boolean. |
ARRAY |
Jenis array. |
OBJECT |
Jenis objek. |
CodeExecution
Jenis ini tidak memiliki kolom.
Alat yang mengeksekusi kode yang dihasilkan oleh model, dan otomatis menampilkan hasilnya ke model.
Lihat juga ExecutableCode
dan CodeExecutionResult
yang hanya dibuat saat menggunakan alat ini.
ToolConfig
Konfigurasi Alat yang berisi parameter untuk menentukan penggunaan Tool
dalam permintaan.
functionCallingConfig
object (FunctionCallingConfig
)
Opsional. Konfigurasi panggilan fungsi.
Representasi JSON |
---|
{
"functionCallingConfig": {
object ( |
FunctionCallingConfig
Konfigurasi untuk menentukan perilaku panggilan fungsi.
mode
enum (Mode
)
Opsional. Menentukan mode tempat panggilan fungsi harus dijalankan. Jika tidak ditentukan, nilai default akan ditetapkan ke AUTO.
allowedFunctionNames[]
string
Opsional. Kumpulan nama fungsi yang, jika disediakan, akan membatasi fungsi yang akan dipanggil model.
Kunci ini hanya boleh disetel jika Mode adalah APA PUN. Nama fungsi harus cocok dengan [FunctionDeclaration.name]. Jika mode ditetapkan ke ANY, model akan memprediksi panggilan fungsi dari sekumpulan nama fungsi yang disediakan.
Representasi JSON |
---|
{
"mode": enum ( |
Mode
Menentukan perilaku eksekusi untuk panggilan fungsi dengan menentukan mode eksekusi.
Enum | |
---|---|
MODE_UNSPECIFIED |
Mode panggilan fungsi tidak ditentukan. Nilai ini tidak boleh digunakan. |
AUTO |
Perilaku model default, model memutuskan untuk memprediksi panggilan fungsi atau respons natural language. |
ANY |
Model dibatasi untuk selalu memprediksi panggilan fungsi saja. Jika "allowFunctionNames" ditetapkan, panggilan fungsi yang diprediksi akan dibatasi ke salah satu "AllowedFunctionNames". Jika tidak, panggilan fungsi yang diprediksi akan berupa salah satu "functionDeclarations" yang disediakan. |
NONE |
Model tidak akan memprediksi panggilan fungsi apa pun. Perilaku model sama seperti saat tidak meneruskan deklarasi fungsi apa pun. |
UsageMetadata
Metadata tentang penggunaan konten yang di-cache.
totalTokenCount
integer
Jumlah total token yang digunakan oleh konten yang di-cache.
Representasi JSON |
---|
{ "totalTokenCount": integer } |