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: cacheContents.create
Membuat resource CachedContent.
Endpoint
posting
https://generativelanguage.googleapis.com/v1beta/cachedContents
Isi permintaan
Isi permintaan memuat instance CachedContent
.
contents[]
object (Content
)
Opsional. Input saja. Tidak dapat diubah. Konten yang akan di-cache.
tools[]
object (Tool
)
Opsional. Input saja. Tidak dapat diubah. Daftar Tools
yang dapat digunakan model untuk membuat 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 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)
Input saja. 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. Input saja. Tidak dapat diubah. Petunjuk sistem set developer. Saat ini hanya 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 dari
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
dapatkan
https://generativelanguage.googleapis.com/v1beta/cachedContents
Parameter kueri
pageSize
integer
Opsional. Jumlah maksimum konten cache yang akan ditampilkan. Layanan mungkin menampilkan lebih sedikit dari nilai ini. Jika tidak ditentukan, beberapa item default (di bawah jumlah 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 memberi nomor halaman, semua parameter lain yang diberikan ke cachedContents.list
harus cocok dengan panggilan yang menyediakan 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: cacheContents.get
Membaca resource CachedContent.
Endpoint
dapatkan
https://generativelanguage.googleapis.com/v1beta/{name=cachedContents/*}
Parameter jalur
name
string
Wajib. Nama resource yang mengacu pada 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 tanggal habis 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 yang 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 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)
Input saja. 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: cacheContents.delete
Menghapus resource CachedContent.
Endpoint
hapus
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: cacheContents
- 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 dibuatnya.
contents[]
object (Content
)
Opsional. Input saja. Tidak dapat diubah. Konten yang akan di-cache.
tools[]
object (Tool
)
Opsional. Input saja. Tidak dapat diubah. Daftar Tools
yang dapat digunakan model untuk membuat respons berikutnya
createTime
string (Timestamp
format)
Hanya output. Waktu pembuatan entri cache.
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"
.
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 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 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)
Input saja. 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. Input saja. Tidak dapat diubah. Petunjuk sistem set developer. Saat ini hanya teks.
toolConfig
object (ToolConfig
)
Opsional. Input saja. 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
mencakup kolom role
yang menentukan produser Content
dan kolom parts
yang berisi data multi-bagian yang berisi konten pembalikan pesan.
parts[]
object (Part
)
Memesan Parts
yang membentuk satu pesan. Komponen mungkin memiliki jenis MIME yang berbeda.
role
string
Opsional. Produser konten. Harus 'user' atau 'model'.
Berguna untuk disetel untuk percakapan multi-giliran, atau dapat dibiarkan kosong atau tidak disetel.
Representasi JSON |
---|
{
"parts": [
{
object ( |
Bagian
Jenis data yang berisi media yang merupakan bagian dari pesan Content
multi-bagian.
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 {i>inline<i}.
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 menjalankan 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 tersedia jenis MIME yang tidak didukung, 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 akan 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 akan dieksekusi, dan hasilnya ditampilkan ke model.
Hanya dibuat saat menggunakan alat CodeExecution
, yang dapat mengeksekusi kode secara otomatis, 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 jika eksekusi kode berhasil, stderr, atau deskripsi lain jika tidak.
Representasi JSON |
---|
{
"outcome": enum ( |
Hasil
Enumerasi kemungkinan hasil dari eksekusi kode.
Enum | |
---|---|
OUTCOME_UNSPECIFIED |
Status belum ditetapkan. 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. Mungkin ada atau tidak ada output parsial. |
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 panggilan fungsi.
Model atau sistem tidak menjalankan fungsi. Sebagai gantinya, fungsi yang ditentukan dapat ditampilkan sebagai [FunctionCall][content.part.function_call] dengan argumen ke sisi klien untuk dieksekusi. Model dapat memutuskan untuk memanggil subset fungsi ini dengan mengisi [FunctionCall][content.part.function_call] dalam respons. Giliran percakapan berikutnya mungkin berisi [FunctionResponse][content.part.function_response] dengan "fungsi" [content.role]. konteks pembuatan model untuk belokan 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. Nama fungsi dan parameter disertakan dalam deklarasi ini. 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. Mewakili subset yang dipilih dari objek skema OpenAPI 3.0.
type
enum (Type
)
Wajib. Tipe 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.
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 menjalankan 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 } |