رابط برنامهنویسی Gemini از آپلود فایلهای رسانهای جدا از ورودی اعلان پشتیبانی میکند و به شما امکان میدهد از رسانههای خود در چندین درخواست و اعلان مختلف استفاده مجدد کنید. برای جزئیات بیشتر، راهنمای اعلان با رسانه را بررسی کنید.
روش: media.upload
دادهها را در ragStore آپلود میکند، قبل از ذخیره آنها در یک سند RagStore، پیشپردازشها و تکهها را انجام میدهد.
نقطه پایانی
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
https: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
پارامترهای مسیر
string
ragStoreName
الزامی. تغییرناپذیر. نام RagStore
که فایل در آن آپلود میشود. مثال: ragStores/my-rag-store-123
این مقدار به شکل ragStores/{ragstore}
است.
درخواست بدنه
بدنه درخواست شامل دادههایی با ساختار زیر است:
string
displayName
اختیاری. نام سند ایجاد شده را نمایش میدهد.
customMetadata[]
object ( CustomMetadata
)
فرادادههای سفارشی که باید با دادهها مرتبط شوند.
chunkingConfig
object ( ChunkingConfig
)
اختیاری. پیکربندی برای اطلاعرسانی به سرویس در مورد نحوهی قطعهبندی دادهها. در صورت عدم ارائه، سرویس از پارامترهای پیشفرض استفاده خواهد کرد.
string
mimeType
اختیاری. نوع MIME دادهها. در صورت عدم ارائه، از محتوای آپلود شده استنباط خواهد شد.
بدنه پاسخ
این یک کپی از google.longrunning.Operation است. ما باید آن را کپی کنیم زیرا برای تعامل با scotty، باید یک فیلد مخصوص scotty اضافه کنیم که نمیتوان آن را در پروتوتایپ Operation سطح بالا اضافه کرد.
در صورت موفقیت، بدنه پاسخ شامل دادههایی با ساختار زیر است:
string
name
نام اختصاص داده شده توسط سرور، که فقط در همان سرویسی که در ابتدا آن را برمیگرداند، منحصر به فرد است. اگر از نگاشت پیشفرض HTTP استفاده میکنید، name
باید نام منبعی باشد که به operations/{unique_id}
ختم میشود.
object
metadata
فرادادههای مختص سرویس مرتبط با عملیات. معمولاً شامل اطلاعات پیشرفت و فرادادههای رایج مانند زمان ایجاد است. برخی از سرویسها ممکن است چنین فرادادهای را ارائه ندهند. هر متدی که یک عملیات طولانی مدت را برمیگرداند، باید نوع فراداده را، در صورت وجود، مستند کند.
یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type"
حاوی یک URI است که نوع را مشخص میکند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" }
.
boolean
done
اگر مقدار آن false
باشد، به این معنی است که عملیات هنوز در حال انجام است. اگر true
، عملیات تکمیل شده و error
یا response
در دسترس است.
result
Union type
error
یا یک response
معتبر باشد. اگر done
== false
باشد، نه error
و نه response
تنظیم نمیشوند. اگر done
== true
باشد، دقیقاً یکی از error
یا response
میتواند تنظیم شود. برخی از سرویسها ممکن است نتیجه را ارائه ندهند. result
فقط میتواند یکی از موارد زیر باشد: error
object ( Status
)
نتیجه خطای عملیات در صورت عدم موفقیت یا لغو.
object
response
پاسخ عادی و موفقیتآمیز عملیات. اگر متد اصلی هیچ دادهای مانند Delete
در صورت موفقیت برنگرداند، پاسخ google.protobuf.Empty
خواهد بود. اگر متد اصلی Get
/ Create
/ Update
استاندارد باشد، پاسخ باید resource باشد. برای متدهای دیگر، پاسخ باید از نوع XxxResponse
باشد، که در آن Xxx
نام متد اصلی است. به عنوان مثال، اگر نام متد اصلی TakeSnapshot()
باشد، نوع پاسخ استنباط شده TakeSnapshotResponse
خواهد بود.
یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type"
حاوی یک URI است که نوع را مشخص میکند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" }
.
نمایش JSON |
---|
{
"name": string,
"metadata": {
"@type": string,
field1: ...,
...
},
"done": boolean,
// result
"error": {
object ( |
پیکربندی قطعهبندی
پارامترهایی برای اعلام نحوه قطعهبندی فایل به سرویس. الهام گرفته از google3/cloud/ai/platform/extension/lib/retrieval/config/chunker_config.proto
config
Union type
config
. میتواند فقط یکی از موارد زیر باشد: whiteSpaceConfig
object ( WhiteSpaceConfig
)
پیکربندی تقسیمبندی فضای سفید.
نمایش JSON |
---|
{
// config
"whiteSpaceConfig": {
object ( |
پیکربندی فضای سفید
پیکربندی برای الگوریتم قطعهبندی فضای سفید [فضای سفید محدود شده].
integer
maxTokensPerChunk
حداکثر تعداد توکنها در هر قطعه. توکنها به عنوان کلماتی برای این الگوریتم قطعهبندی تعریف میشوند. توجه: ما توکنها را به عنوان کلماتی تعریف میکنیم که بر خلاف خروجی یک توکنساز، توسط فضای خالی تقسیم شدهاند. پنجره متن آخرین مدل جاسازی جمینی از تاریخ 2025-04-17 در حال حاضر 8192 توکن است. ما فرض میکنیم که میانگین کلمه 5 کاراکتر است. بنابراین، حد بالا را روی 2**9 قرار میدهیم که 512 کلمه یا 2560 توکن است، با فرض بدترین حالت یک کاراکتر در هر توکن. این یک تخمین محافظهکارانه است که برای جلوگیری از سرریز پنجره متن در نظر گرفته شده است.
integer
maxOverlapTokens
حداکثر تعداد توکنهای همپوشانی بین دو قطعه مجاور.
نمایش JSON |
---|
{ "maxTokensPerChunk": integer, "maxOverlapTokens": integer } |
روش: files.get
متادیتای File
داده شده را دریافت میکند.
نقطه پایانی
دریافتhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
پارامترهای مسیر
string
name
الزامی. نام File
که قرار است دریافت شود. مثال: files/abc-123
این پارامتر به شکل files/{file}
است.
درخواست بدنه
بدنه درخواست باید خالی باشد.
درخواست نمونه
پایتون
نود جی اس
برو
پوسته
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ شامل نمونهای از File
است.
روش: files.list
فرادادههای مربوط به File
که متعلق به پروژه درخواستکننده هستند را فهرست میکند.
نقطه پایانی
دریافتhttps: / /generativelanguage.googleapis.com /v1beta /files
پارامترهای پرس و جو
integer
pageSize
اختیاری. حداکثر تعداد File
برای برگرداندن در هر صفحه. اگر مشخص نشود، پیشفرض ۱۰ است. حداکثر pageSize
۱۰۰ است.
string
pageToken
اختیاری. یک توکن صفحه از فراخوانی قبلی files.list
.
درخواست بدنه
بدنه درخواست باید خالی باشد.
درخواست نمونه
پایتون
نود جی اس
برو
پوسته
بدنه پاسخ
پاسخ برای files.list
.
در صورت موفقیت، بدنه پاسخ شامل دادههایی با ساختار زیر است:
files[]
object ( File
)
فهرست File
s.
string
nextPageToken
یک توکن که میتواند به عنوان یک pageToken
به فراخوانی بعدی files.list
ارسال شود.
نمایش JSON |
---|
{
"files": [
{
object ( |
روش: فایلها.حذف
File
را حذف میکند.
نقطه پایانی
حذفhttps: / /generativelanguage.googleapis.com /v1beta /{name=files /*}
پارامترهای مسیر
string
name
الزامی. نام File
که قرار است حذف شود. مثال: files/abc-123
این پارامتر به شکل files/{file}
است.
درخواست بدنه
بدنه درخواست باید خالی باشد.
درخواست نمونه
پایتون
نود جی اس
برو
پوسته
بدنه پاسخ
در صورت موفقیت، بدنه پاسخ یک شیء JSON خالی خواهد بود.
منبع REST: فایلها
منبع: فایل
فایلی در API آپلود شد. شناسه بعدی: ۱۵
string
name
تغییرناپذیر. شناسه. نام منبع File
. شناسه (نام به استثنای پیشوند "files/") میتواند شامل حداکثر ۴۰ کاراکتر باشد که حروف کوچک و عددی یا خط تیره (-) باشند. شناسه نمیتواند با خط تیره شروع یا پایان یابد. اگر نام در هنگام ایجاد خالی باشد، یک نام منحصر به فرد ایجاد میشود. مثال: files/123-456
string
displayName
اختیاری. نام نمایشی قابل خواندن توسط انسان برای File
. نام نمایشی نباید بیش از ۵۱۲ کاراکتر، شامل فاصلهها، باشد. مثال: "تصویر خوش آمدید"
string
mimeType
فقط خروجی. نوع MIME فایل.
string ( int64 format)
sizeBytes
فقط خروجی. اندازه فایل بر حسب بایت.
createTime
string ( Timestamp
format)
فقط خروجی. مهر زمانیِ ایجاد File
.
از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: "2014-10-02T15:01:23Z"
، "2014-10-02T15:01:23.045123456Z"
یا "2014-10-02T15:01:23+05:30"
.
updateTime
string ( Timestamp
format)
فقط خروجی. مهر زمانی آخرین بهروزرسانی File
.
از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: "2014-10-02T15:01:23Z"
، "2014-10-02T15:01:23.045123456Z"
یا "2014-10-02T15:01:23+05:30"
.
string ( Timestamp format)
expirationTime
فقط خروجی. مهر زمانی که File
حذف خواهد شد. فقط در صورتی تنظیم میشود که File
برای انقضا برنامهریزی شده باشد.
از RFC 3339 استفاده میکند، که در آن خروجی تولید شده همیشه به صورت Z-normalized خواهد بود و از ارقام کسری ۰، ۳، ۶ یا ۹ استفاده میکند. آفستهای غیر از "Z" نیز پذیرفته میشوند. مثالها: "2014-10-02T15:01:23Z"
، "2014-10-02T15:01:23.045123456Z"
یا "2014-10-02T15:01:23+05:30"
.
string ( bytes format)
sha256Hash
فقط خروجی. هش SHA-256 از بایتهای آپلود شده.
یک رشته کدگذاری شده با base64.
string
uri
فقط خروجی. url File
.
downloadUri
string
فقط خروجی. آدرس دانلود File
.
state
enum ( State
)
فقط خروجی. وضعیت پردازش فایل.
source
enum ( Source
)
منبع فایل.
error
object ( Status
)
فقط خروجی. وضعیت خطا در صورت عدم موفقیت در پردازش فایل.
Union type
metadata
metadata
میتواند فقط یکی از موارد زیر باشد:videoMetadata
object ( VideoFileMetadata
)
فقط خروجی. فراداده برای یک ویدیو.
نمایش JSON |
---|
{ "name": string, "displayName": string, "mimeType": string, "sizeBytes": string, "createTime": string, "updateTime": string, "expirationTime": string, "sha256Hash": string, "uri": string, "downloadUri": string, "state": enum ( |
فراداده فایل ویدیویی
فراداده برای یک File
ویدیویی.
videoDuration
string ( Duration
format)
مدت زمان ویدیو.
مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' s
' ختم میشود. مثال: "3.5s"
.
نمایش JSON |
---|
{ "videoDuration": string } |
ایالت
حالتهایی برای چرخه حیات یک فایل.
انومها | |
---|---|
STATE_UNSPECIFIED | مقدار پیشفرض. این مقدار در صورتی استفاده میشود که state حذف شده باشد. |
PROCESSING | فایل در حال پردازش است و هنوز نمیتوان از آن برای استنتاج استفاده کرد. |
ACTIVE | فایل پردازش شده و برای استنتاج در دسترس است. |
FAILED | پردازش فایل ناموفق بود. |
منبع
انومها | |
---|---|
SOURCE_UNSPECIFIED | در صورتی که منبع مشخص نشده باشد، استفاده میشود. |
UPLOADED | نشان میدهد که فایل توسط کاربر آپلود شده است. |
GENERATED | نشان میدهد که فایل توسط گوگل ایجاد شده است. |
REGISTERED | نشان میدهد که فایل ثبت شده است، یعنی یک فایل Google Cloud Storage. |
وضعیت
نوع Status
یک مدل خطای منطقی را تعریف میکند که برای محیطهای برنامهنویسی مختلف، از جمله REST APIها و RPC APIها، مناسب است. این مدل توسط gRPC استفاده میشود. هر پیام Status
شامل سه بخش داده است: کد خطا، پیام خطا و جزئیات خطا.
میتوانید اطلاعات بیشتری در مورد این مدل خطا و نحوه کار با آن را در راهنمای طراحی API بیابید.
integer
code
کد وضعیت، که باید یک مقدار شمارشی از google.rpc.Code
باشد.
string
message
یک پیام خطای مربوط به توسعهدهنده که باید به زبان انگلیسی باشد. هرگونه پیام خطای مربوط به کاربر باید بومیسازی شده و در فیلد google.rpc.Status.details
ارسال شود، یا توسط کلاینت بومیسازی شود.
details[]
object
فهرستی از پیامهایی که جزئیات خطا را در خود دارند. مجموعهای مشترک از انواع پیامها برای استفاده توسط APIها وجود دارد.
یک شیء حاوی فیلدهایی از نوع دلخواه. یک فیلد اضافی "@type"
حاوی یک URI است که نوع را مشخص میکند. مثال: { "id": 1234, "@type": "types.example.com/standard/id" }
.
نمایش JSON |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |