Gemini Files và bộ nhớ đệm
Tệp Gemini và nội dung được lưu vào bộ nhớ đệm
Tải lên và quản lý tệp Gemini, phiên tải tiếp tục được và nội dung bộ nhớ đệm thuộc Workspace.
Dùng các tài nguyên Gemini gốc này với mô hình TokenLab hiện hỗ trợ thao tác cần thiết. Các đường dẫn dưới đây theo định dạng Gemini API.
Workspace và mô hình được hỗ trợ
Tệp và nội dung bộ nhớ đệm thuộc Workspace gắn với yêu cầu đã xác thực. Hãy tạo, liệt kê, đọc, tham chiếu, cập nhật và xóa chúng trong cùng Workspace đó. Tên tài nguyên hoặc URI tệp không chuyển quyền sở hữu.
Tệp
Dùng register để đăng ký nguồn hiện có được hỗ trợ; thao tác này không tải lên byte của tệp cục bộ. Khi cần, tạo metadata bằng JSON rồi gửi byte tệp đến endpoint tải lên. Kiểm tra trạng thái bằng danh sách hoặc truy vấn và đợi đến khi tệp sẵn sàng trước khi dùng URI được trả về trong nội dung Gemini. Xóa tệp không còn cần thiết.
Nội dung bộ nhớ đệm
Tạo nội dung bộ nhớ đệm cho mô hình được hỗ trợ với contents và, nếu cần, chỉ dẫn hệ thống, công cụ, cấu hình công cụ cùng TTL hoặc thời điểm hết hạn. Trong yêu cầu Gemini generateContent tiếp theo từ cùng Workspace, dùng name được trả về làm cachedContent. GET và thao tác liệt kê đọc metadata; PATCH cập nhật thời hạn; sau DELETE, nội dung đó không thể dùng cho lần tạo tiếp theo.
Tải lên có thể tiếp tục
Bắt đầu phiên bằng cách gửi metadata qua POST /upload/v1beta/files với các header X-Goog-Upload-Protocol: resumable và X-Goog-Upload-Command: start. Đọc đầy đủ giá trị header phản hồi X-Goog-Upload-URL. Gửi từng khối byte qua POST tới URL đó, kèm lệnh tải lên và độ lệch đã được xác nhận. URL là thông tin xác thực riêng tư cho phép tiếp tục tải lên và hết hạn sau một giờ. Không công khai, ghi nhật ký hoặc chia sẻ URL; không theo URL như một chuyển hướng HTTP thông thường.
HTTP 308 nghĩa là khối đã được nhận nhưng quá trình tải lên chưa hoàn tất: tiếp tục tại cùng URL và không coi là thành công. HTTP 404 nghĩa là phiên không tồn tại hoặc đã hết hạn. HTTP 410 nghĩa là không thể tiếp tục phiên đó; hãy bắt đầu phiên tải lên mới. Chỉ coi là hoàn tất khi phản hồi thành công cuối cùng có tài nguyên tệp.
Cấu hình SDK
Đặt TOKENLAB_API_KEY trong môi trường tiến trình. Cấu hình Google Gen AI SDK dùng máy chủ TokenLab và phiên bản 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" },
});Không đưa khóa hoặc URL tải lên vào kho mã nguồn, bộ nhớ trình duyệt hay nhật ký.
12 thao tác
| Method | Path | Operation |
|---|---|---|
| POST | /v1beta/files:register | Đăng ký nguồn được hỗ trợ |
| POST | /v1beta/files | Tạo metadata tệp |
| POST | /upload/v1beta/files | Tải byte lên hoặc bắt đầu phiên |
| POST | /upload/v1beta/files/session/{sessionId} | Tiếp tục tải lên |
| GET | /v1beta/files | Liệt kê tệp |
| GET | /v1beta/files/{fileId} | Đọc metadata tệp |
| DELETE | /v1beta/files/{fileId} | Xóa tệp |
| POST | /v1beta/cachedContents | Tạo nội dung bộ nhớ đệm |
| GET | /v1beta/cachedContents | Liệt kê nội dung bộ nhớ đệm |
| GET | /v1beta/cachedContents/{cacheId} | Đọc nội dung bộ nhớ đệm |
| PATCH | /v1beta/cachedContents/{cacheId} | Cập nhật thời hạn bộ nhớ đệm |
| DELETE | /v1beta/cachedContents/{cacheId} | Xóa nội dung bộ nhớ đệm |
Các endpoint liệt kê hỗ trợ pageSize và pageToken. Dùng tên bộ nhớ đệm được trả về làm cachedContent trong yêu cầu Gemini tiếp theo. Xem đặc tả OpenAPI và chi tiết mô hình để biết đầy đủ các trường.