Zum Hauptinhalt springen

Team-/Schlüsselbasierte Protokollierung

Ermöglicht jedem Schlüssel/Team, ein eigenes Langfuse-Projekt / eigene benutzerdefinierte Rückruffunktionen zu verwenden

Dies ermöglicht Ihnen Folgendes

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

Team-basiertes Logging

Team-Logging über config.yaml einstellen

Logging und Caching für eine bestimmte Team-ID aktivieren/deaktivieren.

Beispiel

Diese Konfiguration würde Langfuse-Logs basierend auf der Team-ID an 2 verschiedene Langfuse-Projekte senden.

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

Wenn Sie nun Schlüssel generieren für diese 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"}'

Alle Anfragen mit diesen Schlüsseln protokollieren Daten in ihr team-spezifisches Logging. -->

[BETA]Team-Logging per API

Info

✨ Dies ist eine reine Enterprise-Funktion Starten Sie hier mit Enterprise

Rückruffunktionen pro Team festlegen

1. Rückruffunktion für Team festlegen

Wir machen eine Anfrage an POST /team/{team_id}/callback, um eine Rückruffunktion für hinzuzufügen

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"
}

}'
Unterstützte Werte
FeldUnterstützte WerteNotizen
callback_name"langfuse", "gcs_bucket"Aktuell werden nur "langfuse" und "gcs_bucket" unterstützt.
callback_type"success", "failure", "success_and_failure"
callback_varsdict von Callback-Einstellungen
    langfuse_public_keystringErforderlich für Langfuse
    langfuse_secret_keystringErforderlich für Langfuse
    langfuse_hoststringOptional für Langfuse (Standard ist https://cloud.langfuse.com)
    gcs_bucket_namestringErforderlich für GCS Bucket. Name Ihres GCS Buckets
    gcs_path_service_accountstringErforderlich für GCS Bucket. Pfad zu Ihrem Service-Konto-JSON

2. Schlüssel für Team erstellen

Alle für Team dbe2f686-a686-4896-864a-4c3924458709 erstellten Schlüssel werden im Langfuse-Projekt protokolliert, das in Schritt 1. Rückruffunktion für Team festlegen angegeben ist.

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-Anfrage für Team stellen

curl -i https://: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!"}
]
}'

Erwarten Sie, dass dies im Langfuse-Projekt protokolliert wird, das in Schritt 1. Rückruffunktion für Team festlegen angegeben ist.

Logging für ein Team deaktivieren

Um das Logging für ein bestimmtes Team zu deaktivieren, können Sie den folgenden Endpunkt verwenden

POST /team/{team_id}/disable_logging

Dieser Endpunkt entfernt alle Erfolgs- und Fehlerrückruffunktionen für das angegebene Team und deaktiviert effektiv das Logging.

Schritt 1. Logging für Team deaktivieren

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

Ersetzen Sie YOUR_TEAM_ID durch die tatsächliche Team-ID.

Antwort Eine erfolgreiche Anfrage gibt eine ähnliche Antwort zurück wie diese

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

Schritt 2. Testen - /chat/completions

Verwenden Sie einen für das Team generierten Schlüssel = team_id. Sie sollten keine Logs in Ihrer konfigurierten Erfolgsrückruffunktion (z.B. Langfuse) sehen.

curl -i https://: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!"}
]
}'

Fehlerbehebung / Troubleshooting

  • Überprüfen Sie aktive Rückruffunktionen für das Team mit GET /team/{team_id}/callback

Verwenden Sie dies, um zu überprüfen, welche Erfolgs-/Fehlerrückruffunktionen für Team=team_id aktiv sind.

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

Team-Logging-Endpunkte

[BETA]Schlüsselbasiertes Logging

Verwenden Sie die Endpunkte /key/generate oder /key/update, um Logging-Rückruffunktionen zu einem bestimmten Schlüssel hinzuzufügen.

Info

✨ Dies ist eine reine Enterprise-Funktion Starten Sie hier mit Enterprise

So funktioniert schlüsselbasiertes Logging:

  • Wenn **für den Schlüssel keine Rückruffunktionen** konfiguriert sind, werden die in der Datei config.yaml angegebenen Standardrückruffunktionen verwendet.
  • Wenn **für den Schlüssel Rückruffunktionen** konfiguriert sind, werden die im Schlüssel angegebenen Rückruffunktionen verwendet.
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"
}
}]
}
}'


Helfen Sie uns, dieses Feature zu verbessern, indem Sie hier ein Ticket einreichen

Überprüfen, ob Schlüsselrückruffunktionen korrekt konfiguriert sind /key/health

Rufen Sie /key/health mit dem Schlüssel auf, um zu überprüfen, ob die Rückruffunktionseinstellungen korrekt konfiguriert sind.

Übergeben Sie den Schlüssel im Anfrage-Header.

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

Antwort bei korrekt eingerichteten Logging-Rückruffunktionen

Ein Schlüssel ist **gesund**, wenn die Logging-Rückruffunktionen korrekt eingerichtet sind.

{
"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']"
}
}

Nachrichtenverschleierung deaktivieren/aktivieren

Verwenden Sie dies, um die Prompt-Protokollierung für bestimmte Schlüssel zu aktivieren, wenn Sie sie global deaktiviert haben.

Beispiel config.yaml mit global deaktivierter Prompt-Protokollierung (Nachrichtenverschleierung)

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-Protokollierung für Schlüssel aktivieren

Setzen Sie turn_off_message_logging auf false für den Schlüssel, für den Sie die Prompt-Protokollierung aktivieren möchten. Dies überschreibt die globale Einstellung 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
}
}]
}
}'

Antwort von /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"
}

Schlüssel für /chat/completions-Anfrage verwenden

Dieser Schlüssel wird den Prompt an die in der Anfrage angegebene Rückruffunktion protokollieren.

curl -i https://: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"}
]
}'