LibreChat
Integrate LibreChat with FinOps to access any AI provider through a modern open-source chat interface with virtual keys and observability.
LibreChat is a modern, open-source chat client that supports multiple AI providers. By adding FinOps as a custom provider, you get access to any model configured in FinOps through a familiar chat interface, plus governance features like virtual keys and built-in observability.
If your Allowed Headers are already set to *, you can skip this note. If not and you face issues integrating FinOps with LibreChat, try switching to * or adding the specific headers required by your client. By default, FinOps whitelists: Content-Type, Authorization, X-Requested-With, X-Stainless-Timeout, and X-Api-Key.
Setup
1. Install LibreChat
Follow the LibreChat documentation for local setup. There are multiple installation options (Docker, npm, etc.).
2. Add FinOps as a Custom Provider
Add the following to your librechat.yaml file:
custom:
- name: "FinOps"
apiKey: "dummy"
baseURL: "{AI_GATEWAY_URL}/v1"
models:
default: ["openai/gpt-4o"]
fetch: true
titleConvo: true
titleModel: "openai/gpt-4o"
summarize: false
summaryModel: "openai/gpt-4o"
forcePrompt: false
modelDisplayLabel: "FinOps"
iconURL: /media/architecture.png| Field | Description |
|---|---|
apiKey | FinOps virtual key if authentication is enabled; use dummy otherwise |
baseURL | FinOps gateway URL + /v1 (LibreChat uses OpenAI format) |
models.default | Default models to show. Use FinOps model IDs (provider/model) |
models.fetch | Set true to fetch available models from FinOps |
titleConvo | Use AI for conversation title generation |
titleModel | Model for title generation |
summarize | Enable chat summary generation |
summaryModel | Model for summaries |
Set models.fetch: true to automatically discover all models configured in FinOps. This keeps your LibreChat model list in sync with your FinOps provider configuration.
If you're running LibreChat in Docker, it does not automatically use librechat.yaml. See Step 1 of the LibreChat custom endpoints guide for how to mount or override the config.
3. Docker Networking
Choose the correct baseURL for your setup:
| Setup | baseURL |
|---|---|
| LibreChat and FinOps on same host | {AI_GATEWAY_URL}/v1 |
| LibreChat in Docker Desktop, FinOps on host | http://host.docker.internal:8080/v1 |
| LibreChat in Docker Engine (Linux), FinOps on host | Add --add-host=host.docker.internal:host-gateway to docker run, or extra_hosts: ["host.docker.internal:host-gateway"] in Compose, then use http://host.docker.internal:8080/v1 |
| Both in same Docker network | http://finops-container-name:8080/v1 |
4. Run LibreChat
Start LibreChat. FinOps will appear as a provider with all configured models available.
Virtual Keys
When FinOps has virtual key authentication enabled, set apiKey to your virtual key:
apiKey: "bf-your-virtual-key-here"This lets you enforce usage limits, budgets, and access control per user or team. For team deployments, create a separate virtual key for each team or environment - each key can have its own rate limits, budgets, and provider access rules configured in the FinOps dashboard.
Model Selection
LibreChat displays models from the models.default list or fetches them from FinOps when models.fetch is enabled. Use FinOps model IDs in provider/model format to access any configured provider:
models:
default:
- "openai/gpt-5"
- "anthropic/claude-sonnet-4-5-20250929"
- "gemini/gemini-2.5-pro"
- "groq/llama-3.3-70b-versatile"
fetch: true- Use powerful models like
openai/gpt-5oranthropic/claude-sonnet-4-5-20250929for complex conversations - Use fast models like
groq/llama-3.3-70b-versatilefor quick responses - Set
titleModelandsummaryModelto lighter models to reduce cost for metadata generation
Using Multiple Providers
FinOps routes requests to the correct provider based on the model name. Use the provider/model-name format to access any configured provider through the single /v1 endpoint:
anthropic/claude-sonnet-4-5-20250929
openai/gpt-5
gemini/gemini-2.5-pro
mistral/mistral-large-latestSupported Providers
FinOps supports the following providers with the provider/model-name format:
openai, azure, gemini, vertex, bedrock, mistral, groq, cerebras, cohere, perplexity, xai, ollama, openrouter, huggingface, nebius, parasail, replicate, vllm, sgl
LibreChat connects to FinOps via a single OpenAI-compatible endpoint. FinOps handles routing to the correct provider based on the model name - no per-provider configuration needed in LibreChat.
Observability
All LibreChat traffic through FinOps is logged. Monitor it at {AI_GATEWAY_URL}/logs - filter by provider, model, or search through conversation content to track usage across your team.
Next Steps
- Provider Configuration - Configure AI providers in FinOps
- Virtual Keys - Set up usage limits and access control