跳至主要內容

依團隊/金鑰的記錄

概覽

允許每個金鑰/團隊使用各自的 Langfuse 專案/自訂回呼。這可讓記錄與合規需求具備更細緻的控制。

範例使用情境:

Team Based Logging
Team 1 -> Logs to Langfuse Project 1 
Team 2 -> Logs to Langfuse Project 2
Team 3 -> Disabled Logging (for GDPR compliance)

支援的記錄整合

  • langfuse
  • gcs_bucket
  • langsmith
  • arize

[BETA] 團隊記錄

資訊

✨ 這是僅供 Enterprise 使用的功能 在此開始使用 Enterprise

UI 使用方式

  1. 建立具有記錄設定的團隊

建立一個名為「AI Agents」的團隊


  1. 為團隊建立一個金鑰

我們將為團隊「AI Agents」建立一個金鑰。團隊記錄設定將套用於為該團隊建立的所有金鑰。


  1. 發出測試 LLM API 請求

使用新金鑰發出測試 LLM API 請求,我們預期會在步驟 1 中設定的記錄提供者上看到記錄。


  1. 在您的記錄提供者上檢查記錄

前往您已設定的記錄提供者,並確認是否已收到步驟 2 的記錄。


API 使用方式

為每個團隊設定回呼

1. 為團隊設定回呼

我們向 POST /team/{team_id}/callback 發出請求,以新增回呼到

curl -X POST 'http:/localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-1234' \
-d '{
"callback_name": "langfuse",
"callback_type": "success",
"callback_vars": {
"langfuse_public_key": "pk",
"langfuse_secret_key": "sk_",
"langfuse_host": "https://cloud.langfuse.com"
}

}'
支援的值
欄位支援的值備註
callback_name"langfuse", "gcs_bucket"目前僅支援 "langfuse""gcs_bucket"
callback_type"success", "failure", "success_and_failure"
callback_vars回呼設定的 dict
    langfuse_public_keystringLangfuse 必填
    langfuse_secret_keystringLangfuse 必填
    langfuse_hoststringLangfuse 選填(預設為 https://cloud.langfuse.com)
    gcs_bucket_namestringGCS Bucket 必填。您的 GCS bucket 名稱
    gcs_path_service_accountstringGCS Bucket 必填。您的服務帳戶 json 路徑

2. 為團隊建立金鑰

為團隊 dbe2f686-a686-4896-864a-4c3924458709 建立的所有金鑰,都會記錄到 步驟 1. 為團隊設定回呼 中指定的 langfuse 專案

curl --location 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data '{
"team_id": "dbe2f686-a686-4896-864a-4c3924458709"
}'

3. 為團隊發出 /chat/completion 請求

curl -i http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-KbUuE0WNptC0jXapyMmLBA" \
-d '{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "Hello, Claude gm!"}
]
}'

預期會記錄到 步驟 1. 為團隊設定回呼 中指定的 langfuse 專案

停用團隊的記錄

若要停用特定團隊的記錄,您可以使用以下端點:

POST /team/{team_id}/disable_logging

此端點會移除指定團隊的所有成功與失敗回呼,從而有效停用記錄。

步驟 1. 停用團隊的記錄

curl -X POST 'http://localhost:4000/team/YOUR_TEAM_ID/disable_logging' \
-H 'Authorization: Bearer YOUR_API_KEY'

將 YOUR_TEAM_ID 替換為實際的團隊 ID

回應 成功的請求會回傳類似以下的回應:

{
"status": "success",
"message": "Logging disabled for team YOUR_TEAM_ID",
"data": {
"team_id": "YOUR_TEAM_ID",
"success_callbacks": [],
"failure_callbacks": []
}
}

步驟 2. 測試它 - /chat/completions

使用為團隊 = team_id 所建立的金鑰 - 您應該不會在已設定的成功回呼(例如 Langfuse)上看到任何記錄

curl -i http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-KbUuE0WNptC0jXapyMmLBA" \
-d '{
"model": "gpt-4",
"messages": [
{"role": "user", "content": "Hello, Claude gm!"}
]
}'

除錯 / 疑難排解

  • 使用 GET /team/{team_id}/callback 檢查團隊的有效回呼

用這個來檢查團隊=team_id 目前啟用了哪些成功/失敗回呼

curl -X GET 'http://localhost:4000/team/dbe2f686-a686-4896-864a-4c3924458709/callback' \
-H 'Authorization: Bearer sk-1234'

團隊記錄端點

團隊記錄 - config.yaml

開啟/關閉特定團隊 ID 的記錄與快取。

範例:

這個設定會依團隊 ID 將 langfuse 記錄傳送到 2 個不同的 langfuse 專案

litellm_settings:
default_team_settings:
- team_id: "dbe2f686-a686-4896-864a-4c3924458709"
success_callback: ["langfuse"]
langfuse_public_key: os.environ/LANGFUSE_PUB_KEY_1 # Project 1
langfuse_secret: os.environ/LANGFUSE_PRIVATE_KEY_1 # Project 1
- team_id: "06ed1e01-3fa7-4b9e-95bc-f2e59b74f3a8"
success_callback: ["langfuse"]
langfuse_public_key: os.environ/LANGFUSE_PUB_KEY_2 # Project 2
langfuse_secret: os.environ/LANGFUSE_SECRET_2 # Project 2

現在,當您為這個 team-id 產生金鑰

curl -X POST 'http://0.0.0.0:4000/key/generate' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{"team_id": "06ed1e01-3fa7-4b9e-95bc-f2e59b74f3a8"}'

所有使用這些金鑰發出的請求,都會將資料記錄到其團隊專屬的記錄。

[BETA] 依金鑰的記錄

使用 /key/generate/key/update 端點,為特定金鑰新增記錄回呼。

資訊

✨ 這是僅供 Enterprise 使用的功能 在此開始使用 Enterprise

依金鑰記錄的運作方式:

  • 如果 Key 沒有設定回呼,將使用 config.yaml 檔案中指定的預設回呼
  • 如果 Key 已設定回呼,將使用金鑰中指定的回呼

UI 使用方式

  1. 建立具有記錄設定的金鑰

在建立金鑰時,您可以為該金鑰設定特定的記錄設定。這些記錄設定將用於使用此金鑰發出的所有請求。


  1. 發出測試 LLM API 請求

使用新金鑰發出測試 LLM API 請求,我們預期會在步驟 1 中設定的記錄提供者上看到記錄。


  1. 在您的記錄提供者上檢查記錄

前往您已設定的記錄提供者,並確認是否已收到步驟 2 的記錄。


API 使用方式

curl -X POST 'http://0.0.0.0:4000/key/generate' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{
"metadata": {
"logging": [{
"callback_name": "langfuse", # "otel", "gcs_bucket"
"callback_type": "success", # "success", "failure", "success_and_failure"
"callback_vars": {
"langfuse_public_key": "os.environ/LANGFUSE_PUBLIC_KEY", # [RECOMMENDED] reference key in proxy environment
"langfuse_secret_key": "os.environ/LANGFUSE_SECRET_KEY", # [RECOMMENDED] reference key in proxy environment
"langfuse_host": "https://cloud.langfuse.com"
}
}]
}
}'


透過在此處提交問題單,協助我們改善此功能

檢查金鑰回呼是否已正確設定 /key/health

使用該金鑰呼叫 /key/health,以檢查回呼設定是否已正確設定

將金鑰放在請求標頭中

curl -X POST "http://localhost:4000/key/health" \
-H "Authorization: Bearer <your-key>" \
-H "Content-Type: application/json"

回呼記錄設定正確時的回應:

當記錄回呼已正確設定時,金鑰即為 healthy

{
"key": "healthy",
"logging_callbacks": {
"callbacks": [
"gcs_bucket"
],
"status": "healthy",
"details": "No logger exceptions triggered, system is healthy. Manually check if logs were sent to ['gcs_bucket']"
}
}

停用/啟用訊息遮罩

當您已全域停用時,可使用此功能為特定金鑰啟用 prompt 記錄

全域停用 prompt 記錄(訊息遮罩)的 example config.yaml

model_list:
- model_name: gpt-4o
litellm_params:
model: gpt-4o
litellm_settings:
callbacks: ["datadog"]
turn_off_message_logging: True # 👈 Globally logging prompt / response is disabled

為金鑰啟用 prompt 記錄

將您要啟用 prompt 記錄的金鑰之 turn_off_message_logging 設為 false。這會覆寫全域的 turn_off_message_logging 設定。

curl -X POST 'http://0.0.0.0:4000/key/generate' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{
"metadata": {
"logging": [{
"callback_name": "datadog",
"callback_vars": {
"turn_off_message_logging": false # 👈 Enable prompt logging
}
}]
}
}'

來自 /key/generate 的回應

{
"key_alias": null,
"key": "sk-9v6I-jf9-eYtg_PwM8OKgQ",
"metadata": {
"logging": [
{
"callback_name": "datadog",
"callback_vars": {
"turn_off_message_logging": false
}
}
]
},
"token_id": "a53a33db8c3cf832ceb28565dbb034f19f0acd69ee7f03b7bf6752f9f804081e"
}

將金鑰用於 /chat/completions 請求

此金鑰會將 prompt 記錄到請求中指定的回呼

curl -i http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-9v6I-jf9-eYtg_PwM8OKgQ" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "user", "content": "hi my name is ishaan what key alias is this"}
]
}'