Gemini API, medya dosyalarının istem girişinden ayrı olarak yüklenmesini destekler. Bu sayede, medyanız birden fazla istekte ve istemde yeniden kullanılabilir. Daha fazla ayrıntı için Medya ile istem oluşturma kılavuzuna göz atın.
Yöntem: media.upload
Verileri bir ragStore'a yükler, RagStore Document'ta depolamadan önce ön işleme tabi tutar ve parçalara ayırır.
Uç nokta
- Medya yükleme istekleri için yükleme URI'si:
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
- Yalnızca meta veri istekleri için meta veri URI'si:
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
Yol parametreleri
ragStoreName
string
Zorunlu. Değiştirilemez. Dosyanın yükleneceği RagStore
adı. Örnek: ragStores/my-rag-store-123
It takes the form ragStores/{ragstore}
.
İstek içeriği
İstek içeriği aşağıdaki yapıyla birlikte verileri içerir:
displayName
string
İsteğe bağlıdır. Oluşturulan dokümanın görünen adı.
customMetadata[]
object (CustomMetadata
)
Verilerle ilişkilendirilecek özel meta veriler.
chunkingConfig
object (ChunkingConfig
)
İsteğe bağlıdır. Hizmete verilerin nasıl bölüneceğini söyleyen yapılandırma. Sağlanmazsa hizmet varsayılan parametreleri kullanır.
mimeType
string
İsteğe bağlıdır. Verilerin MIME türü. Belirtilmemişse yüklenen içerikten çıkarılır.
Yanıt gövdesi
Bu, google.longrunning.Operation öğesinin bir kopyasıdır. Bunu kopyalamamız gerekiyor. Çünkü Scotty ile etkileşim kurmak için üst düzey Operation proto'ya eklenemeyen Scotty'ye özgü bir alan eklememiz gerekiyor.
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
name
string
Sunucu tarafından atanan ad. Yalnızca bu adı ilk kez sağlayan hizmet kapsamında benzersizdir. Varsayılan HTTP eşlemesini kullanıyorsanız name
değeri, operations/{unique_id}
ile biten bir kaynak adı olmalıdır.
metadata
object
İşlemle ilişkilendirilen, hizmete özgü meta veriler. Genellikle ilerleme bilgilerini ve oluşturma zamanı gibi ortak meta verileri içerir. Bazı hizmetler bu tür meta verileri sağlamayabilir. Uzun süreli bir işlemi döndüren tüm yöntemler, varsa meta veri türünü belirtmelidir.
Herhangi türde alanlar içeren bir nesne. Ek bir "@type"
alanı, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }
.
done
boolean
Değer false
olması işlemin devam ettiği anlamına gelir. Değer true
olduğunda işlem tamamlanmış olup error
veya response
kullanılabilir.
result
Union type
error
veya geçerli bir response
olabilir. done
== false
ise error
öğesi de response
öğesi de ayarlanmaz. done
== true
ise error
veya response
öğelerinden yalnızca biri ayarlanabilir. Bazı hizmetler sonuç vermeyebilir. result
aşağıdakilerden yalnızca biri olabilir:error
object (Status
)
İşlem başarısız olduğunda veya iptal edildiğinde sistemin verdiği hata bilgisi.
response
object
İşlem başarılı olduğunda sistemin verdiği normal yanıt. Orijinal yöntem başarılı olduğunda veri döndürmüyorsa (ör. Delete
) yanıt google.protobuf.Empty
olur. Orijinal yöntem standart Get
/Create
/Update
ise yanıt kaynak olmalıdır. Diğer yöntemler için yanıtın türü XxxResponse
olmalıdır. Burada Xxx
, orijinal yöntem adıdır. Örneğin, orijinal yöntem adı TakeSnapshot()
ise tahmin edilen yanıt türü TakeSnapshotResponse
olur.
Herhangi türde alanlar içeren bir nesne. Ek bir "@type"
alanı, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON gösterimi |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
ChunkingConfig
Hizmete dosyanın nasıl parçalanacağını söyleyen parametreler. google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto dosyasından alınmıştır.
config
Union type
config
aşağıdakilerden yalnızca biri olabilir:whiteSpaceConfig
object (WhiteSpaceConfig
)
Boşluk parçalama yapılandırması.
JSON gösterimi |
---|
{
// config
"whiteSpaceConfig": {
object ( |
WhiteSpaceConfig
Boşlukla ayrılmış bir boşluk parçalama algoritması için yapılandırma.
maxTokensPerChunk
integer
Parça başına maksimum jeton sayısı. Bu parçalama algoritması için jetonlar kelime olarak tanımlanır. Not: Burada jetonlar, jetonlaştırıcı çıktısı yerine boşlukla ayrılmış kelimeler olarak tanımlanmaktadır. 2025-04-17 itibarıyla en yeni Gemini yerleştirme modelinin bağlam penceresi şu anda 8.192 parçadır. Ortalama kelime uzunluğunun 5 karakter olduğunu varsayıyoruz. Bu nedenle, en kötü durumda her jetonun bir karakter olduğu varsayılarak üst sınır 2**9 (512 kelime veya 2.560 jeton) olarak belirlenir. Bu, bağlam penceresinin taşmasını önlemek için yapılan ihtiyatlı bir tahmindir.
maxOverlapTokens
integer
İki bitişik parça arasındaki maksimum çakışan jeton sayısı.
JSON gösterimi |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
Yöntem: files.get
Belirtilen File
için meta verileri alır.
Uç nokta
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Yol parametreleri
name
string
Zorunlu. Alınacak File
öğesinin adı. Örnek: files/abc-123
It takes the form files/{file}
.
İstek içeriği
İstek metni boş olmalıdır.
Örnek istek
Python
Node.js
Go
kabuk
Yanıt gövdesi
Başarılıysa yanıt metni, File
öğesinin bir örneğini içerir.
Yöntem: files.list
İstek gönderen projeye ait File
meta verilerini listeler.
Uç nokta
gethttps: / /generativelanguage.googleapis.com /v1beta /files
Sorgu parametreleri
pageSize
integer
İsteğe bağlıdır. Sayfa başına döndürülecek maksimum File
sayısı. Belirtilmemişse varsayılan olarak 10 olur. Maksimum pageSize
değeri 100'dür.
pageToken
string
İsteğe bağlıdır. Önceki bir files.list
çağrısından alınan sayfa jetonu.
İstek içeriği
İstek metni boş olmalıdır.
Örnek istek
Python
Node.js
Go
kabuk
Yanıt gövdesi
files.list
için yanıt
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
files[]
object (File
)
File
listesi.
nextPageToken
string
Sonraki bir files.list
çağrısına pageToken
olarak gönderilebilen bir jeton.
JSON gösterimi |
---|
{
"files": [
{
object ( |
Yöntem: files.delete
File
öğesini siler.
Uç nokta
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
Yol parametreleri
name
string
Zorunlu. Silinecek File
öğesinin adı. Örnek: files/abc-123
It takes the form files/{file}
.
İstek içeriği
İstek metni boş olmalıdır.
Örnek istek
Python
Node.js
Go
kabuk
Yanıt gövdesi
Başarılı olursa yanıt gövdesi boş bir JSON nesnesi olur.
REST Kaynağı: files
Kaynak: Dosya
API'ye yüklenen bir dosya. Next ID: 15
name
string
Değiştirilemez. Tanımlayıcı. File
kaynak adı. Kimlik ("files/" öneki hariç ad) küçük harf alfanümerik karakterler veya kısa çizgiler (-) içeren en fazla 40 karakterden oluşabilir. Kimlik kısa çizgiyle başlayamaz veya bitemez. Oluşturma sırasında ad boşsa benzersiz bir ad oluşturulur. Örnek: files/123-456
displayName
string
İsteğe bağlıdır. File
için kullanıcılar tarafından okunabilir görünen ad. Görünen ad, boşluklar dahil olmak üzere en fazla 512 karakter uzunluğunda olmalıdır. Örnek: "Welcome Image"
mimeType
string
Yalnızca çıkış. Dosyanın MIME türü.
sizeBytes
string (int64 format)
Yalnızca çıkış. Dosyanın bayt cinsinden boyutu.
createTime
string (Timestamp
format)
Yalnızca çıkış. File
oluşturulduğu zamanı gösteren zaman damgası.
Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
veya "2014-10-02T15:01:23+05:30"
.
updateTime
string (Timestamp
format)
Yalnızca çıkış. File
öğesinin en son güncellendiği zamanın zaman damgası.
Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
veya "2014-10-02T15:01:23+05:30"
.
expirationTime
string (Timestamp
format)
Yalnızca çıkış. File
öğesinin silineceği zamanın zaman damgası. Yalnızca File
süresinin dolması planlanıyorsa ayarlanır.
Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
veya "2014-10-02T15:01:23+05:30"
.
sha256Hash
string (bytes format)
Yalnızca çıkış. Yüklenen baytların SHA-256 karması.
Base64 kodlu bir dize.
uri
string
Yalnızca çıkış. File
öğesinin URI'si.
downloadUri
string
Yalnızca çıkış. File
dosyasının indirme URI'si.
state
enum (State
)
Yalnızca çıkış. Dosyanın işleme durumu.
source
enum (Source
)
Dosyanın kaynağı.
error
object (Status
)
Yalnızca çıkış. Dosya işleme başarısız olursa hata durumu.
metadata
Union type
metadata
aşağıdakilerden yalnızca biri olabilir:videoMetadata
object (VideoFileMetadata
)
Yalnızca çıkış. Bir videonun meta verileri.
JSON gösterimi |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
VideoFileMetadata
Bir videonun meta verileri File
.
videoDuration
string (Duration
format)
Videonun süresi.
En fazla dokuz kesirli basamak içeren ve "s
" ile biten, saniye cinsinden süre. Örnek: "3.5s"
.
JSON gösterimi |
---|
{ "videoDuration": string } |
Eyalet
Dosyanın yaşam döngüsündeki durumlar.
Sıralamalar | |
---|---|
STATE_UNSPECIFIED |
Varsayılan değer. Eyalet belirtilmemişse bu değer kullanılır. |
PROCESSING |
Dosya işleniyor ve henüz çıkarım için kullanılamaz. |
ACTIVE |
Dosya işlenir ve çıkarım için kullanılabilir. |
FAILED |
Dosya işlenemedi. |
Kaynak
Sıralamalar | |
---|---|
SOURCE_UNSPECIFIED |
Kaynak belirtilmemişse kullanılır. |
UPLOADED |
Dosyanın kullanıcı tarafından yüklendiğini gösterir. |
GENERATED |
Dosyanın Google tarafından oluşturulduğunu belirtir. |
REGISTERED |
Dosyanın kayıtlı olduğunu (ör. Google Cloud Storage dosyası) gösterir. |
Durum
Status
türü, REST API'ler ve RPC API'ler dahil olmak üzere farklı programlama ortamlarına uygun mantıksal bir hata modeli tanımlar. gRPC tarafından kullanılır. Her Status
mesajı; hata kodu, hata mesajı ve hata ayrıntıları olmak üzere üç veri içerir.
Bu hata modeli ve nasıl kullanılacağı hakkında daha fazla bilgiyi API Tasarım Kılavuzu'nda bulabilirsiniz.
code
integer
Durum kodu, google.rpc.Code
enum değeri olmalıdır.
message
string
Geliştiriciye yönelik hata mesajı (İngilizce olmalıdır). Kullanıcıya gösterilen tüm hata mesajları yerelleştirilmiş olup google.rpc.Status.details
alanında gönderilmeli veya istemci tarafından yerelleştirilmelidir.
details[]
object
Hata ayrıntılarını içeren mesajların listesi. API'lerin kullanabileceği ortak bir mesaj türleri kümesi vardır.
Herhangi türde alanlar içeren bir nesne. Ek bir "@type"
alanı, türü tanımlayan bir URI içerir. Örnek: { "id": 1234, "@type": "types.example.com/standard/id" }
.
JSON gösterimi |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |