Gemini Files والتخزين المؤقت
ملفات Gemini والمحتوى المخزن مؤقتًا
ارفع ملفات Gemini وأدرها، مع جلسات الرفع القابلة للاستئناف والمحتوى المؤقت المملوك لمساحة العمل.
استخدم موارد Gemini الأصلية هذه مع نموذج TokenLab حالي يدعم العملية المطلوبة. تتبع المسارات أدناه تنسيق Gemini API.
مساحة العمل والنماذج المدعومة
تتبع الملفات والمحتوى المخزن مؤقتًا مساحة العمل المرتبطة بالطلب الموثق. أنشئ الموارد واعرضها واقرأها واستخدمها كمرجع وحدّثها واحذفها من مساحة العمل نفسها. لا ينقل اسم المورد أو URI الملف الملكية.
الملفات
استخدم register لتسجيل مصدر موجود ومدعوم؛ فهو لا يرفع بايتات ملف محلي. عند الحاجة، أنشئ البيانات الوصفية باستخدام JSON وأرسل بايتات الملف إلى نقطة الرفع. افحص الحالة عبر القائمة أو القراءة، وانتظر حتى يصبح الملف جاهزًا قبل استخدام URI المعاد في محتوى Gemini. احذف الملفات التي لم تعد بحاجة إليها.
المحتوى المؤقت
أنشئ محتوى مخزنًا مؤقتًا لنموذج مدعوم، مع contents وتعليمات النظام والأدوات وإعداداتها ومدة TTL أو وقت انتهاء الصلاحية عند الحاجة. استخدم name المعاد بوصفه cachedContent في طلب Gemini generateContent لاحق من مساحة العمل نفسها. تقرأ GET والقائمة بيانات الذاكرة المؤقتة؛ ويحدّث PATCH مدة الصلاحية؛ وبعد DELETE لا يمكن استخدام المحتوى في التوليد اللاحق.
الرفع القابل للاستئناف
للرفع القابل للاستئناف، أرسل البيانات الوصفية عبر POST إلى نقطة البدء مع X-Goog-Upload-Protocol: resumable وX-Goog-Upload-Command: start. اقرأ القيمة الكاملة لرأس الاستجابة X-Goog-Upload-URL وأرسل كل جزء إلى عنوان URL نفسه عبر POST، مع أمر الرفع والإزاحة المؤكدة. عنوان URL هذا سرّ تفويض خاص، وتنتهي صلاحيته بعد ساعة، وهو ما يمنح صلاحية المتابعة. لا تنشره أو تسجله أو تشاركه. لا تتبعه باعتباره إعادة توجيه HTTP عادية.
تعني HTTP 308 قبول الجزء مع بقاء الرفع غير مكتمل: تابع باستخدام عنوان URL نفسه ولا تعتبره نجاحًا. تعني HTTP 404 أن الجلسة غير موجودة أو انتهت صلاحيتها. وتعني HTTP 410 أنه لم يعد بالإمكان متابعة الجلسة؛ ابدأ جلسة رفع جديدة. لا تعدّ الرفع مكتملًا إلا عند استلام الاستجابة النهائية الناجحة التي تتضمن مورد الملف.
إعداد SDK
اضبط TOKENLAB_API_KEY في بيئة العملية. هيّئ Google Gen AI SDK لاستخدام مضيف TokenLab وإصدار Gemini API:
import os
from google import genai
client = genai.Client(
api_key=os.environ["TOKENLAB_API_KEY"],
http_options={"base_url": "https://api.tokenlab.sh", "api_version": "v1beta"},
)import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({
apiKey: process.env.TOKENLAB_API_KEY,
httpOptions: { baseUrl: "https://api.tokenlab.sh", apiVersion: "v1beta" },
});لا تضع المفتاح أو عنوان URL للرفع في مستودع الشيفرة أو تخزين المتصفح أو السجلات.
12 عملية
| Method | Path | Operation |
|---|---|---|
| POST | /v1beta/files:register | تسجيل مصدر مدعوم |
| POST | /v1beta/files | إنشاء بيانات الملف الوصفية |
| POST | /upload/v1beta/files | رفع البايتات أو بدء جلسة |
| POST | /upload/v1beta/files/session/{sessionId} | متابعة رفع قابل للاستئناف |
| GET | /v1beta/files | قائمة الملفات |
| GET | /v1beta/files/{fileId} | قراءة بيانات الملف |
| DELETE | /v1beta/files/{fileId} | حذف ملف |
| POST | /v1beta/cachedContents | إنشاء محتوى مؤقت |
| GET | /v1beta/cachedContents | قائمة المحتوى المؤقت |
| GET | /v1beta/cachedContents/{cacheId} | قراءة المحتوى المؤقت |
| PATCH | /v1beta/cachedContents/{cacheId} | تحديث مدة التخزين المؤقت |
| DELETE | /v1beta/cachedContents/{cacheId} | حذف المحتوى المؤقت |
تدعم نقاط القائمة pageSize وpageToken. استخدم اسم المحتوى المؤقت المعاد بوصفه cachedContent في طلب Gemini لاحق. راجع مواصفة OpenAPI وتفاصيل النموذج للاطلاع على جميع الحقول.