Gemini API mendukung upload file media secara terpisah dari input perintah, sehingga media Anda dapat digunakan kembali di beberapa permintaan dan beberapa perintah. Untuk mengetahui detail selengkapnya, lihat panduan Memberi perintah dengan media.
Metode: media.upload
Mengupload data ke ragStore, melakukan praproses dan membagi-bagi data sebelum menyimpannya dalam Dokumen RagStore.
Endpoint
- URI upload, untuk permintaan upload media:
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
- URI metadata, khusus untuk permintaan metadata:
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
Parameter jalur
ragStoreName
string
Wajib. Tidak dapat diubah. Nama RagStore
untuk mengupload file. Contoh: ragStores/my-rag-store-123
Formatnya adalah ragStores/{ragstore}
.
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
displayName
string
Opsional. Nama tampilan dokumen yang dibuat.
customMetadata[]
object (CustomMetadata
)
Metadata kustom yang akan dikaitkan dengan data.
chunkingConfig
object (ChunkingConfig
)
Opsional. Konfigurasi untuk memberi tahu layanan cara membagi data. Jika tidak disediakan, layanan akan menggunakan parameter default.
mimeType
string
Opsional. Jenis MIME data. Jika tidak diberikan, nilai akan disimpulkan dari konten yang diupload.
Isi respons
Ini adalah salinan google.longrunning.Operation. Kita perlu menyalinnya karena untuk berinteraksi dengan scotty, kita perlu menambahkan kolom khusus scotty yang tidak dapat ditambahkan di proto Operasi tingkat teratas.
Jika berhasil, isi respons memuat data dengan struktur berikut:
name
string
Nama server yang ditetapkan, yang hanya bersifat unik dalam layanan yang sama yang awalnya menampilkannya. Jika Anda menggunakan pemetaan HTTP default, name
harus berupa nama resource yang diakhiri dengan operations/{unique_id}
.
metadata
object
Metadata spesifik per layanan yang terkait dengan operasi. Metadata ini biasanya berisi informasi progres dan metadata umum, seperti waktu pembuatan. Beberapa layanan mungkin tidak menyediakan metadata semacam itu. Setiap metode yang menampilkan operasi yang berjalan lama harus mendokumentasikan jenis metadatanya, jika ada.
Objek yang berisi kolom tipe arbitrer. Kolom tambahan "@type"
berisi URI yang mengidentifikasi jenis arbitrer. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" }
.
done
boolean
Jika nilainya adalah false
, itu berarti operasi masih berlangsung. Jika true
, operasi sudah selesai, dan error
atau response
tersedia.
result
Union type
error
atau response
yang valid. Jika done
== false
, error
atau response
tidak ditetapkan. Jika done
== true
, hanya salah satu dari error
atau response
yang dapat ditetapkan. Beberapa layanan mungkin tidak memberikan hasil. result
hanya dapat berupa salah satu dari hal berikut:error
object (Status
)
Hasil error operasi jika terjadi kegagalan atau pembatalan.
response
object
Respons normal dan berhasil dari operasi. Jika metode asli tidak menampilkan data saat berhasil, seperti Delete
, responsnya adalah google.protobuf.Empty
. Jika metode asli adalah Get
/Create
/Update
standar, responsnya harus berupa resource. Untuk metode lain, respons harus memiliki jenis XxxResponse
, dengan Xxx
yang merupakan nama metode asli. Misalnya, jika nama metode asli adalah TakeSnapshot()
, jenis respons yang disimpulkan adalah TakeSnapshotResponse
.
Objek yang berisi kolom tipe arbitrer. Kolom tambahan "@type"
berisi URI yang mengidentifikasi jenis arbitrer. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Representasi JSON |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig
Parameter untuk memberi tahu layanan cara membagi file menjadi beberapa bagian. Terinspirasi oleh google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto
config
Union type
config
hanya dapat berupa salah satu dari hal berikut:whiteSpaceConfig
object (WhiteSpaceConfig
)
Konfigurasi pengelompokan ruang kosong.
Representasi JSON |
---|
{
// config
"whiteSpaceConfig": {
object ( |
WhiteSpaceConfig
Konfigurasi untuk algoritma pengelompokan spasi [dibatasi spasi].
maxTokensPerChunk
integer
Jumlah maksimum token per bagian. Token didefinisikan sebagai kata untuk algoritma pengelompokan ini. Catatan: kami mendefinisikan token sebagai kata yang dipisahkan oleh spasi, bukan output tokenizer. Jendela konteks model penyematan gemini terbaru pada 17-04-2025 saat ini adalah 8192 token. Kami mengasumsikan bahwa rata-rata kata terdiri dari 5 karakter. Oleh karena itu, kami menetapkan batas atas menjadi 2**9, yaitu 512 kata, atau 2560 token, dengan asumsi kasus terburuk adalah satu karakter per token. Ini adalah perkiraan konservatif yang dimaksudkan untuk mencegah luapan jendela konteks.
maxOverlapTokens
integer
Jumlah maksimum token yang tumpang-tindih antara dua bagian yang berdekatan.
Representasi JSON |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
Metode: files.get
Mendapatkan metadata untuk File
yang ditentukan.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Parameter jalur
name
string
Wajib. Nama File
yang akan didapatkan. Contoh: files/abc-123
Formatnya adalah files/{file}
.
Isi permintaan
Isi permintaan harus kosong.
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Jika berhasil, isi respons memuat instance File
.
Metode: files.list
Mencantumkan metadata untuk File
yang dimiliki oleh project yang meminta.
Endpoint
gethttps: / /generativelanguage.googleapis.com /v1beta /files
Parameter kueri
pageSize
integer
Opsional. Jumlah maksimum File
yang akan ditampilkan per halaman. Jika tidak ditentukan, nilai defaultnya adalah 10. Maksimum pageSize
adalah 100.
pageToken
string
Opsional. Token halaman dari panggilan files.list
sebelumnya.
Isi permintaan
Isi permintaan harus kosong.
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Respons untuk files.list
.
Jika berhasil, isi respons memuat data dengan struktur berikut:
files[]
object (File
)
Daftar File
.
nextPageToken
string
Token yang dapat dikirim sebagai pageToken
ke panggilan files.list
berikutnya.
Representasi JSON |
---|
{
"files": [
{
object ( |
Metode: files.delete
Menghapus File
.
Endpoint
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Parameter jalur
name
string
Wajib. Nama File
yang akan dihapus. Contoh: files/abc-123
Formatnya adalah files/{file}
.
Isi permintaan
Isi permintaan harus kosong.
Contoh permintaan
Python
Node.js
Go
Shell
Isi respons
Jika berhasil, isi respons adalah objek JSON kosong.
Resource REST: file
Resource: File
File diupload ke API. ID Berikutnya: 15
name
string
Tidak dapat diubah. ID. Nama resource File
. ID (nama tidak termasuk awalan "files/") dapat berisi hingga 40 karakter yang berupa alfanumerik huruf kecil atau tanda hubung (-). ID tidak boleh diawali atau diakhiri dengan tanda hubung. Jika nama kosong saat dibuat, nama unik akan dibuat. Contoh: files/123-456
displayName
string
Opsional. Nama tampilan yang dapat dibaca manusia untuk File
. Nama tampilan tidak boleh lebih dari 512 karakter, termasuk spasi. Contoh: "Gambar Selamat Datang"
mimeType
string
Hanya output. Jenis MIME file.
sizeBytes
string (int64 format)
Hanya output. Ukuran file dalam byte.
createTime
string (Timestamp
format)
Hanya output. Stempel waktu saat File
dibuat.
Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
, atau "2014-10-02T15:01:23+05:30"
.
updateTime
string (Timestamp
format)
Hanya output. Stempel waktu saat File
terakhir diperbarui.
Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
, atau "2014-10-02T15:01:23+05:30"
.
expirationTime
string (Timestamp
format)
Hanya output. Stempel waktu saat File
akan dihapus. Hanya disetel jika File
dijadwalkan untuk berakhir.
Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
, atau "2014-10-02T15:01:23+05:30"
.
sha256Hash
string (bytes format)
Hanya output. Hash SHA-256 byte yang diupload.
String berenkode base64.
uri
string
Hanya output. URI File
.
downloadUri
string
Hanya output. URI download File
.
state
enum (State
)
Hanya output. Status pemrosesan File.
source
enum (Source
)
Sumber File.
error
object (Status
)
Hanya output. Status error jika Pemrosesan file gagal.
metadata
Union type
metadata
hanya dapat berupa salah satu dari hal berikut:videoMetadata
object (VideoFileMetadata
)
Hanya output. Metadata untuk video.
Representasi JSON |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
Metadata untuk video File
.
videoDuration
string (Duration
format)
Durasi video.
Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's
'. Contoh: "3.5s"
.
Representasi JSON |
---|
{ "videoDuration": string } |
Negara Bagian
Status untuk siklus proses File.
Enum | |
---|---|
STATE_UNSPECIFIED |
Nilai default. Nilai ini digunakan jika status tidak ada. |
PROCESSING |
File sedang diproses dan belum dapat digunakan untuk inferensi. |
ACTIVE |
File diproses dan tersedia untuk inferensi. |
FAILED |
File gagal diproses. |
Sumber
Enum | |
---|---|
SOURCE_UNSPECIFIED |
Digunakan jika sumber tidak ditentukan. |
UPLOADED |
Menunjukkan bahwa file diupload oleh pengguna. |
GENERATED |
Menunjukkan bahwa file dibuat oleh Google. |
REGISTERED |
Menunjukkan bahwa file adalah file terdaftar, yaitu file Google Cloud Storage. |
Status
Jenis Status
menentukan model error logis yang cocok untuk berbagai lingkungan pemrograman, termasuk REST API dan RPC API. Jenis error ini digunakan oleh gRPC. Setiap pesan Status
berisi tiga bagian data: kode error, pesan error, dan detail error.
Anda dapat mengetahui selengkapnya tentang model error ini dan penanganannya di Panduan Desain API.
code
integer
Kode status yang harus berupa nilai enum dari google.rpc.Code
.
message
string
Pesan error yang ditampilkan ke developer dan seharusnya dalam bahasa Inggris. Setiap pesan error yang ditampilkan kepada pengguna harus dilokalkan dan dikirim di kolom google.rpc.Status.details
, atau dilokalkan oleh klien.
details[]
object
Daftar pesan yang membawa detail error. Ada seperangkat jenis pesan umum untuk digunakan API.
Objek yang berisi kolom tipe arbitrer. Kolom tambahan "@type"
berisi URI yang mengidentifikasi jenis arbitrer. Contoh: { "id": 1234, "@type": "types.example.com/standard/id" }
.
Representasi JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |