TokenLab

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 個操作

MethodPathOperation
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 規格 與模型詳細資料。

本頁內容