Gemini Files 與快取
Gemini Files 與快取內容
上傳及管理 Gemini 檔案、可續傳上傳工作階段與 Workspace 所有的快取內容。
請將這些 Gemini 原生資源用於目前支援相應操作的 TokenLab 模型。以下路徑採用 Gemini API 格式。
Workspace 歸屬與模型支援
檔案與快取內容屬於已驗證請求所在的 Workspace。建立、列出、讀取、引用、更新及刪除資源,都必須使用同一個 Workspace。資源名稱或檔案 URI 不會轉移所有權。
Files
已有受支援來源時可使用 register 註冊;此操作不會上傳本機檔案位元組。必要時先以 JSON 建立中繼資料,再將檔案位元組傳送至上傳端點。透過清單或讀取介面檢查狀態;檔案就緒後,再於 Gemini 內容中引用回傳的 URI。刪除不再需要的檔案。
快取內容
為支援的模型建立快取內容,並視需要提供 contents、系統指令、工具、工具設定,以及 TTL 或到期時間。後續 Gemini generateContent 請求可在同一 Workspace 中將回傳的 name 用作 cachedContent。GET 與清單介面可讀取快取中繼資料;PATCH 更新有效期;DELETE 移除快取,之後的生成請求便無法再使用。
續傳上傳
續傳上傳時,向啟動端點 POST 中繼資料,並設定 X-Goog-Upload-Protocol: resumable 與 X-Goog-Upload-Command: start。讀取回應標頭 X-Goog-Upload-URL 的完整值,並將每個位元組區塊 POST 至該 URL,同時傳送上傳命令及已確認的位移。此 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。後續 Gemini 請求可將回傳的快取名稱作為 cachedContent。完整欄位請參閱 OpenAPI 規格 與模型詳細資料。