跳至主要內容

PointFive

LiteLLM 可以將 proxy 請求記錄傳送至 PointFive,用於 AI 成本與使用情況分析。記錄會先緩衝,並透過 PointFive API 針對每個批次發出的 presigned URL 上傳,因此 proxy 本身不需要持有任何雲端憑證,且可在任何代管環境中不經修改直接執行。

概觀​

屬性詳細資訊
回呼名稱pointfive
目的地PointFive,透過每個批次發出的 presigned 上傳 URL
資料格式gzip 壓縮的 NDJSON,每個請求一行
上傳觸發條件每 flush_interval 秒,或一旦佇列中有 batch_size 筆記錄
驗證PointFive API 金鑰

先決條件​

您需要一個 PointFive 帳號與 API 金鑰。在 PointFive app 中新增 LiteLLM 整合;它會發出此回呼用來請求上傳 URL 的金鑰。

設定​

環境變數​

變數必要說明
POINTFIVE_API_KEY是PointFive API 金鑰
POINTFIVE_API_URL否PointFive API 端點;預設為 https://api.pointfive.co/api/v1/ingestion

Proxy 設定​

model_list:
- model_name: gpt-5.6-luna
litellm_params:
model: openai/gpt-5.6-luna
api_key: os.environ/OPENAI_API_KEY

litellm_settings:
callbacks: ["pointfive"]
export POINTFIVE_API_KEY="<your-api-key>"
litellm --config /path/to/config.yaml

在 UI 上設定​

您可以從管理員 UI 啟用此回呼,而不必透過 config.yaml。開啟 Settings,然後 Logging & Alerts,新增 PointFive,並貼上您的 API 金鑰。將 URL 欄位留白即可使用預設端點。Test 會詢問 PointFive 是否接受該金鑰,並在不接受時回報原因;此功能僅供 proxy 管理員使用。請參閱 管理員 UI 文件,了解如何進入這些畫面。

調整批次處理​

所有設定皆為選用,可在 pointfive_params 下提供。秘密值可使用 os.environ/ 參照。

litellm_settings:
callbacks: ["pointfive"]
pointfive_params:
api_key: os.environ/POINTFIVE_API_KEY
api_url: https://api.pointfive.co/api/v1/ingestion
batch_size: 1000
flush_interval: 300
max_batch_bytes: 8388608
max_upload_retries: 3
設定預設值說明
api_key未設定會回退至 POINTFIVE_API_KEY。此回呼若沒有金鑰則拒絕啟動
api_urlhttps://api.pointfive.co/api/v1/ingestion會回退至 POINTFIVE_API_URL
batch_size1000在間隔結束前會觸發 flush 的佇列記錄數
flush_interval300flush 之間的秒數
max_batch_bytes8388608每個已上傳物件的未壓縮大小上限。超過此大小的 flush 會分割成多個物件
max_upload_retries3每個物件的嘗試次數,嘗試之間採用指數退避

預設值以較少但較大的上傳次數換取新鮮度,因為每次 flush 至少會變成一個物件。

遮罩 prompts 與回應​

將 turn_off_message_logging 設定為不要將 prompts 與回應納入上傳內容,包含失敗請求與成功請求。模型、token 數、延遲與費用等中繼資料仍會傳送。

litellm_settings:
callbacks: ["pointfive"]
pointfive_params:
turn_off_message_logging: true

運作方式​

每次 flush 都會將佇列中的記錄序列化為 NDJSON,拆分成不大於 max_batch_bytes 的物件,在事件迴圈外對每個物件進行 gzip 壓縮,並在 PUT 上傳前向 PointFive API 申請一個大小剛好對應這些位元組的上傳 URL。每次重試都會請求新的 URL,因此絕不會重用已過期或已被使用過的 URL,而物件 key 由 PointFive 指定,所以 proxy 永遠不會自行決定資料落點。

上傳 URL 來自 PointFive API,因此在 proxy 連線前,會像檢查其他外部提供的目的地一樣進行檢查:會拒絕解析到私有位址、loopback 位址或 link-local 位址的主機,且絕不跟隨重新導向。此檢查會遵守 user_url_validation 與 user_url_allowed_hosts,這兩者來自 litellm_settings(請參閱 設定選項)。

傳遞採用至少一次。值得重試的失敗會讓批次保留在佇列中,留待下一次 flush,因此可能會重新傳送已經成功落地的物件;伺服器會再次拒絕的拒絕則會丟棄該物件,而不是卡住其後排隊的每一筆記錄。當某次 flush 發現沒有任何佇列內容時,此回呼會回報它仍然存活,因此可區分閒置中的 proxy 與已停止傳送的 proxy。

驗證​

使用 LITELLM_LOG=DEBUG 執行 proxy,然後送出一個請求。每次上傳都會記錄壓縮後大小以及落點 key:

pointfive: uploaded 5182 gzipped bytes to <object-key>

失敗會以警告或錯誤記錄在相同的 pointfive: 前綴下,並包含批次是保留供稍後 flush 還是已丟棄。

proxy 管理員也可以要求 proxy 直接檢查連線:

curl -H "Authorization: Bearer $LITELLM_MASTER_KEY" \
"http://localhost:4000/health/services?service=pointfive"
{"status": "healthy", "message": "PointFive is healthy"}
LiteLLM Enterprise
為正式環境打造的 SSO/SAML、稽核記錄、支出追蹤、多團隊管理與防護欄。
深入瞭解 →