> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LiteLLM-Ausgaben pro Nutzer zuordnen

> Verbinde einen LiteLLM-Proxy als BYOK-Modell und sende einen Identifier pro Nutzer, damit das Gateway Ausgaben zuordnen kann.

Sende mit Completion-Anfragen einen Identifier pro Nutzer, damit LiteLLM Ausgaben zuordnen und Customer-Budgets anwenden kann. Das ist nur Zuordnung. Langdock authentifiziert sich nicht mit dem Token jedes Nutzers bei LiteLLM und zeigt LiteLLM-Ausgaben nicht in Langdock an.

Cloud und Dedicated laufen bis zum Model Key gleich. Dedicated-Keys zeigen zusätzlich **Authentifizierungsmethode**. Für die Ausgabenzuordnung bleibt **API-Key**.

> [!NOTE]
>
> **Nutzer-Identifier** gibt es nur bei Completion-Modellen, im Katalog und in der manuellen Einrichtung. Die Wizard-Schritte für Bild und Embedding enthalten das Feld nicht.

## Voraussetzungen

* Admin-Zugang zu deinem Langdock Workspace
* Ein LiteLLM-Proxy, der über HTTPS erreichbar ist
* Der Modell-Alias aus deiner LiteLLM-Konfiguration
* Ein API-Key, falls dein Proxy Authentifizierung verlangt

> [!WARNING]
>
> Langdock blockiert Anfragen an private IPs, localhost und interne Hostnamen. Kontaktiere [support@langdock.com](mailto:support@langdock.com), wenn du einen internen LiteLLM-Endpunkt erreichen musst.

## LiteLLM verbinden

### 1. Wizard öffnen

Gehe zu [Workspace-Einstellungen -> Modelle](https://app.langdock.com/settings/workspace/models) und klicke auf **Eigenes Modell hinzufügen**.

![Modelle-Seite mit den Filtern Alle, Completion, Bild und Benutzerdefiniert, Suche und Eigenes Modell hinzufügen](https://mintcdn.com/langdock-34/Z4QqrDXG-SmG0gBd/de/images/litellm_add_model.png?fit=max\&auto=format\&n=Z4QqrDXG-SmG0gBd\&q=85\&s=89c35471118925946c0b1db62f81dd55)

### 2. Katalog oder manuell

Wähle ein Completion-Modell aus dem Katalog, wenn LiteLLM ein Modell ausliefert, das Langdock schon mitbringt. Sonst klicke auf **manuell einrichten**.

![Wizard Modelle wählen mit Katalogkarten und manuell einrichten im Footer](https://mintcdn.com/langdock-34/Z4QqrDXG-SmG0gBd/de/images/litellm_catalog.png?fit=max\&auto=format\&n=Z4QqrDXG-SmG0gBd\&q=85\&s=89a5f4f7d44a10e9d00519cea3b03632)

Beim manuellen Modell füllst du **Modellname** und **Anbieter-Modellname**. Das sieht man später in der Modellauswahl. Den LiteLLM-Alias setzt du erst beim Deployment.

### 3. Nutzer-Identifier setzen

Öffne unter **Konfigurieren** den Bereich **Erweitert** und setze **Nutzer-Identifier**. Wähle **Microsoft UPN**, wenn LiteLLM-Kunden über Microsoft-Login laufen.

![Nutzer-Identifier auf Microsoft UPN, Dropdown offen mit Keine, Benutzer-ID, E-Mail und Alternative E-Mail](https://mintcdn.com/langdock-34/Z4QqrDXG-SmG0gBd/de/images/litellm_user_identifier.png?fit=max\&auto=format\&n=Z4QqrDXG-SmG0gBd\&q=85\&s=e85d81a3f839ccdac78dda9f7d1f6335)

Klicke auf **Weiter**.

### 4. LiteLLM-Key anlegen

Klicke unter **Deployment** auf **Neuer Schlüssel**. Setze **Anbieter-SDK** auf **OpenAI Compatible**, **Base URL** auf deinen Proxy (zum Beispiel `https://litellm.example.com/v1`), **API Key** auf den Proxy-Key und **Hosting-Anbieter** auf einen Namen, den dein Team erkennt.

> [tab] Cloud
>
> In der Cloud gibt es **Authentifizierungsmethode** nicht. Der Proxy-Key reicht.
>
> ![Neuen API-Schlüssel erstellen für OpenAI Compatible mit Base URL https://litellm.example.com/v1, API Key und Hosting-Anbieter LiteLLM](https://mintcdn.com/langdock-34/Z4QqrDXG-SmG0gBd/de/images/litellm_key_cloud.png?fit=max\&auto=format\&n=Z4QqrDXG-SmG0gBd\&q=85\&s=aaae9f831e069be17e00c9c91b0f4792)

> [tab] Dedicated
>
> Dedicated-Keys haben **Authentifizierungsmethode**. Lass **API-Key** stehen. **Nutzer-OAuth-Token** übergibt das Token der angemeldeten Person und ist eine andere Einrichtung. **Client Credentials** nur, wenn dein Proxy so authentifiziert.
>
> ![Dedicated: Neuen API-Schlüssel erstellen mit offener Authentifizierungsmethode. Optionen API-Key, Nutzer-OAuth-Token und Client Credentials. API-Key ist ausgewählt.](https://mintcdn.com/langdock-34/Z4QqrDXG-SmG0gBd/de/images/litellm_key_dedicated.png?fit=max\&auto=format\&n=Z4QqrDXG-SmG0gBd\&q=85\&s=6473df9b9bb41cb546ff141a0dcaef56)

Setze **Modellname / ID** auf den LiteLLM-Alias, denselben Wert wie `model_name` in LiteLLM.

> [!NOTE]
>
> **Individuelle Header** am Model Key sind fester Text. Sie können keinen Platzhalter pro Nutzer enthalten. Sende `x-litellm-end-user-id` nicht auf diesem Weg.

Klicke auf **Schlüssel speichern**, danach auf **Testen & weiter**.

### 5. Modell speichern

Prüfe unter **Überprüfen** das Deployment und dass **Nutzer-Identifier** gesetzt ist. Klicke auf **Modell speichern**.

![Schritt Überprüfen mit LiteLLM GPT-4o, Deployment gpt-4o auf LiteLLM proxy und Nutzer-Identifier userPrincipalName](https://mintcdn.com/langdock-34/Z4QqrDXG-SmG0gBd/de/images/litellm_review.png?fit=max\&auto=format\&n=Z4QqrDXG-SmG0gBd\&q=85\&s=bce08e4c48974fb0b92859bcb08d1c39)

Die übrigen Felder für OpenAI-kompatible Endpunkte findest du unter [Setup Guides](https://docs.langdock.com/de/admin/byok/setup-guides.md).

## Nutzer-Identifier wählen

| Option | Wert, den Langdock sendet |
| - | - |
| **Keine** | Kein Header `x-user-id` |
| **Benutzer-ID** | Die Langdock-Benutzer-ID |
| **E-Mail** | Die E-Mail des Nutzers |
| **Alternative E-Mail** | Die alternative E-Mail, oder ein leeres `x-user-id`, wenn das Feld leer ist |
| **Microsoft UPN** | Der UPN aus der Microsoft-Anmeldung, oder ein leeres `x-user-id`, wenn keiner gespeichert ist |

**Microsoft UPN** ist die richtige Wahl, wenn LiteLLM-Kunden über Microsoft-Login zugeordnet werden. Langdock speichert den Wert bei der Microsoft-Anmeldung. Andere Login-Methoden können den UPN leer lassen.

## Identifier in LiteLLM zuordnen

Der Header heißt immer `x-user-id`. Du kannst den Namen nicht ändern.

Wenn das Modell das **OpenAI**- oder **Azure**-SDK nutzt, sendet Langdock zusätzlich das Feld `user` im Request-Body, sobald der Identifier nicht leer ist. LiteLLM behandelt dieses Body-Feld ohne Extra-Konfiguration als Customer-ID.

Über **OpenAI Compatible** kommt nur der Header. Trage das Mapping in der LiteLLM-`config.yaml` ein:

```yaml theme={null}
general_settings:
  user_header_mappings:
    - header_name: "x-user-id"
      litellm_user_role: "customer"
```

Danach kann LiteLLM Ausgaben tracken und Customer-Budgets pro Identifier anwenden. Siehe [LiteLLM customers](https://docs.litellm.ai/docs/proxy/customers).

Wenn in LiteLLM `validate_end_user_id_in_db` aktiv ist, wird der Identifier nur akzeptiert, wenn er bereits zu einem LiteLLM-Customer oder zur ID oder E-Mail eines internen Users passt. Lege diese Customer-Einträge in LiteLLM an, bevor du dich auf diese Einstellung verlässt.

> [!WARNING]
>
> Über **OpenAI Compatible** sendet Langdock den Identifier nur als `x-user-id`. Trage das Header-Mapping in LiteLLM ein. Das Feld `user` im Request-Body wird mit diesem SDK nicht gesendet.

## Grenzen

* Jedes Completion-Modell sendet einen Identifier. Du kannst nicht zwei Felder gleichzeitig senden.
* Leere `x-user-id`-Werte (fehlender UPN oder fehlende alternative E-Mail) enthalten den Header trotzdem. Wie LiteLLM eine leere Customer-ID behandelt, hängt von deinem Proxy ab.
* Das ersetzt keine Gateway-Tokens pro Nutzer. Zuordnung und tokenbasierte Authentifizierung sind getrennt.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.