رابط برنامهنویسی Gemini از آپلود فایلهای رسانهای جدا از ورودی اعلان پشتیبانی میکند و به شما امکان میدهد از رسانههای خود در چندین درخواست و اعلان مختلف استفاده مجدد کنید. برای جزئیات بیشتر، راهنمای اعلان با رسانه را بررسی کنید.
روش: media.upload
دادهها را در ragStore آپلود میکند، قبل از ذخیره آنها در یک سند RagStore، پیشپردازشها و تکهها را انجام میدهد.
نقطه پایانی
https: / /generativelanguage.googleapis.com /upload /v1beta /{ragStoreName=ragStores /*}:uploadToRagStorehttps: / /generativelanguage.googleapis.com /v1beta /{ragStoreName=ragStores /*}:uploadToRagStore
پارامترهای مسیر
string ragStoreName الزامی. تغییرناپذیر. نام RagStore که فایل در آن آپلود میشود. مثال: ragStores/my-rag-store-123 این مقدار به شکل ragStores/{ragstore} است.
درخواست بدنه
بدنه درخواست شامل دادههایی با ساختار زیر است:
string displayNameاختیاری. نام سند ایجاد شده را نمایش میدهد.
customMetadata[]object ( CustomMetadata )فرادادههای سفارشی که باید با دادهها مرتبط شوند.
chunkingConfigobject ( 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 در دسترس است.
resultUnion typeerror یا یک response معتبر باشد. اگر done == false باشد، نه error و نه response تنظیم نمیشوند. اگر done == true باشد، دقیقاً یکی از error یا response میتواند تنظیم شود. برخی از سرویسها ممکن است نتیجه را ارائه ندهند. result فقط میتواند یکی از موارد زیر باشد: errorobject ( 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
configUnion typeconfig . میتواند فقط یکی از موارد زیر باشد: whiteSpaceConfigobject ( 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فقط خروجی. اندازه فایل بر حسب بایت.
createTimestring ( 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" .
updateTimestring ( 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 .
downloadUristring فقط خروجی. آدرس دانلود File .
stateenum ( State )فقط خروجی. وضعیت پردازش فایل.
sourceenum ( Source )منبع فایل.
errorobject ( Status )فقط خروجی. وضعیت خطا در صورت عدم موفقیت در پردازش فایل.
Union type metadatametadata میتواند فقط یکی از موارد زیر باشد:videoMetadataobject ( 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 ویدیویی.
videoDurationstring ( 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: ..., ... } ] } |