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 penggunaan. Untuk pengantar mendetail, lihat panduan Pencakupan konteks.
Metode: cacheContents.create
Membuat resource CachedContent.
Endpoint
postingan 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 membuat respons berikutnya
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 yang bermakna dan 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 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.
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: cachedContents.list
Mencantumkan CachedContents.
Endpoint
dapatkan https://generativelanguage.googleapis.com/v1beta/cachedContentsParameter kueri
pageSize
integer
Opsional. Jumlah maksimum konten yang di-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 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: 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: cachedContents.patch
Memperbarui resource CachedContent (hanya masa berlaku yang dapat diperbarui).
Endpoint
patch 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 dipisahkan koma yang berisi nama-nama kolom yang sepenuhnya memenuhi syarat. Contoh: "user.displayName,photo"
.
Isi permintaan
Isi permintaan memuat instance CachedContent
.
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}
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Jika berhasil, isi respons memuat instance CachedContent
.
Metode: cachedContents.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}
Nama ini memiliki bentuk 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
- GoogleSearchRetrieval
- DynamicRetrievalConfig
- Mode
- CodeExecution
- ToolConfig
- FunctionCallingConfig
- Mode
- UsageMetadata
- Metode
Resource: CachedContent
Konten yang telah dipraproses dan dapat digunakan dalam permintaan berikutnya ke GenerativeService.
Konten dalam cache hanya dapat digunakan dengan model yang dibuatnya.
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 kali diperbarui dalam waktu UTC.
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"
.
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 yang bermakna dan 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 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 multibagian dari pesan.
Content
menyertakan kolom role
yang menetapkan produsen Content
dan kolom parts
yang berisi data multibagian yang berisi konten giliran pesan.
parts[]
object (Part
)
Parts
yang diurutkan yang membentuk satu pesan. Bagian 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 hal berikut:
text
string
Teks inline.
inlineData
object (Blob
)
Byte media inline.
functionCall
object (FunctionCall
)
FunctionCall
yang diprediksi ditampilkan dari model yang berisi string yang mewakili FunctionDeclaration.name
dengan argumen dan nilainya.
functionResponse
object (FunctionResponse
)
Output hasil 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 kolom 'text'.
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 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 dari eksekusi 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 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 mengalami 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.
googleSearchRetrieval
object (GoogleSearchRetrieval
)
Opsional. Alat pengambilan yang didukung oleh Google Penelusuran.
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. 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. Bagian ini dapat berisi contoh penggunaan. Deskripsi parameter dapat diformat sebagai Markdown.
nullable
boolean
Opsional. Menunjukkan apakah nilai mungkin null.
enum[]
string
Opsional. Kemungkinan nilai 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 seperti yang 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 angka. |
INTEGER |
Jenis bilangan bulat. |
BOOLEAN |
Jenis boolean. |
ARRAY |
Jenis array. |
OBJECT |
Jenis objek. |
GoogleSearchRetrieval
Alat untuk mengambil data web publik untuk grounding, yang didukung oleh Google.
dynamicRetrievalConfig
object (DynamicRetrievalConfig
)
Menentukan konfigurasi pengambilan dinamis untuk sumber tertentu.
Representasi JSON |
---|
{
"dynamicRetrievalConfig": {
object ( |
DynamicRetrievalConfig
Menjelaskan opsi untuk menyesuaikan pengambilan dinamis.
mode
enum (Mode
)
Mode prediktor yang akan digunakan dalam pengambilan dinamis.
dynamicThreshold
number
Nilai minimum yang akan digunakan dalam pengambilan dinamis. Jika tidak disetel, nilai default sistem akan digunakan.
Representasi JSON |
---|
{
"mode": enum ( |
Mode
Mode prediktor yang akan digunakan dalam pengambilan dinamis.
Enum | |
---|---|
MODE_UNSPECIFIED |
Selalu picu pengambilan. |
MODE_DYNAMIC |
Jalankan pengambilan hanya jika sistem memutuskan bahwa hal itu diperlukan. |
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]. Dengan mode yang ditetapkan ke ANY, model akan memprediksi panggilan fungsi dari kumpulan nama fungsi yang disediakan.
Representasi JSON |
---|
{
"mode": enum ( |
Mode
Menentukan perilaku eksekusi untuk pemanggilan 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 "allowedFunctionNames" ditetapkan, panggilan fungsi yang diprediksi akan dibatasi pada salah satu "allowedFunctionNames", jika tidak, panggilan fungsi yang diprediksi akan menjadi 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 konten yang di-cache.
Representasi JSON |
---|
{ "totalTokenCount": integer } |