Dans cet article tu vas apprendre à déployer Librechat sur Kubernetes et à configurer des fournisseurs de LLM cloud ainsi que des fournisseurs personnalisés.

Structure de la configuration Librechat

Librechat est distribué sous forme de conteneur disponible sur son dépôt github.

Pour le faire tourner, tu as deux options :

  • docker compose : c’est la cible de déploiement principale
  • kubernetes via un chart helm : maintenu dans le dépôt github.

Historiquement, Librechat se configurait via un fichier .env où tu peux définir une liste prédéfinie de variables d’environnement.

Avec l’augmentation constante du nombre d’options, un fichier de configuration additionnel au format yaml a été ajouté ici

Architecture

graph TD
    LC["Librechat"]
    LC -->|recherche dans les conversations| MS[("Meilisearch")]
    LC -->|stockage principal| DB[("MongoDB")]
    LC -->|config et sessions| RD[("Redis")]

Choisir ton fournisseur de LLM

Ces deux fournisseurs proposent un plan gratuit sans avoir à renseigner ta carte bancaire

OpenRouter

Tu peux sélectionner la liste des modèles gratuits en ne prenant que les modèles gratuits

La config openrouter devrait ressembler à ça

 1  endpoints:
 2    custom:
 3      - name: "OpenRouter"
 4        # For `apiKey` and `baseURL`, you can use environment variables that you define.
 5        # recommended environment variables:
 6        apiKey: "{{ requiredEnv "OPENROUTER_API_KEY" }}"
 7        baseURL: "https://openrouter.ai/api/v1"
 8        models:
 9          default: ["deepseek/deepseek-r1-0528:free", "mistralai/devstral-small-2505:free", 'qwen/qwen3-235b-a22b:free', 'nvidia/llama-3.3-nemotron-super-49b-v1:free', 'meta-llama/llama-4-maverick:free']
10          fetch: false
11        titleConvo: true
12        titleModel: "meta-llama/llama-3-70b-instruct"
13        # Recommended: Drop the stop parameter from the request as Openrouter models use a variety of stop tokens.
14        dropParams: ["stop"]
15        modelDisplayLabel: "OpenRouter"

N’oublie pas de créer une clé API

Mistral AI

Mistral AI est une entreprise française d’IA qui propose elle aussi un plan gratuit très intéressant (quelque chose comme 1 milliard de tokens, ce qui est largement suffisant pour un utilisateur unique ou pour des tests)

Jette un œil à la console API Mistral et crée un compte.

La config mistral devrait ressembler à ça :

 1    - name: "Mistral"
 2      apiKey: "${MISTRAL_API_KEY}"
 3      baseURL: "https://api.mistral.ai/v1"
 4      models:
 5        default: ["mistral-tiny", "mistral-small", "mistral-medium", "mistral -large-latest"]
 6        fetch: true
 7      titleConvo: true
 8      titleModel: "mistral-tiny"
 9      modelDisplayLabel: "Mistral"
10      dropParams: ["stop", "user", "frequency_penalty", "presence_penalty"]

Utiliser un fournisseur local

Ce cas d’usage nécessite un composant additionnel afin de fournir un point d’entrée unique comme portkey ou LiteLLM. Personnellement j’utilise LiteLLM qui est plus simple à configurer.

Moteur d’inférence

Selon ton infrastructure GPU locale et le nombre d’utilisateurs, il existe une multitude de moteurs d’inférence utilisables.

Ollama

Pour un très petit nombre d’utilisateurs, Ollama est un bon choix pour un premier essai car il propose une longue liste de modèles supportés. L’inconvénient est qu’il est prévu pour tourner sur des petites cartes GPU, donc les modèles sont généralement fortement quantifiés pour tenir sur du matériel grand public. Ils sont généralement assez lents à répondre et sont prévus pour être utilisés par très peu d’utilisateurs.

VLLM

VLLM est en fait le moteur d’inférence le plus connu, car il supporte quasiment tous les modèles et offre un bon batching pour les cas d’usage multi-utilisateurs.

Authentification

Comme j’utilise déjà une instance keycloak avec Cisco Duo (regarde mes anciens articles à ce sujet), j’utilise l’implémentation OpenID Connect sur Librechat.

Enrichir Librechat avec RAG, MCP Server….

Et il y a encore plus de fonctionnalités, comme le RAG (uploader des fichiers pdf pour enrichir les modèles avec tes propres fichiers), la génération d’images, les Agents, les serveurs MCP….

N’hésite pas à me contacter si tu as besoin d’aide :-)

comments powered by Disqus