ESPACE PUBLICITAIRE DISPONIBLE · PARLONS-EN

Comment connecter des jetons de compte Hugging Face et des points de terminaison d'inférence personnalisés à HuggingChat

365Finds Editorial
11 430 articles Wiki répertoriés

Utilisez 365 Wiki avec votre IA

Copiez le prompt ci-dessous, collez-le dans l’IA que vous utilisez déjà, puis posez directement votre question.

Télécharger le Skill complet

Commencez par essayer le prompt. Si vous utilisez souvent 365 Wiki, installez le Skill 365Wiki complet pour ne plus avoir à le coller. Sans IA habituelle, les versions web de Gemini ou Microsoft Copilot conviennent aussi.

Pour exécuter des modèles open source privés ou des versions personnalisées (fine-tuning) au sein de l'interface HuggingChat, il convient d'abord de comprendre l'architecture technique sous-jacente. De nombreux développeurs parcourent l'interface publique de HuggingChat (hf.co/chat) en cherchant un panneau de configuration permettant de renseigner une URL de point de terminaison et un jeton d'API. Or, la version publique de HuggingChat est un service mutualisé hébergé directement sur l'infrastructure de routage centralisée de Hugging Face. Pour des impératifs d'isolation et de sécurité, l'interface publique ne permet pas de brancher des points de terminaison privés arbitraires.

La méthode officielle et conçue pour la production permettant de profiter de l'expérience HuggingChat avec des modèles privés consiste à déployer sa propre instance de Chat UI — l'application open source développée en SvelteKit qui alimente HuggingChat. Chat UI intègre nativement la prise en charge des API au format OpenAI. Il suffit de renseigner les variables d'environnement OPENAI_BASE_URL et OPENAI_API_KEY pour rediriger les échanges vers un point de terminaison dédié Hugging Face Inference Endpoints propulsé par Text Generation Inference (TGI) ou vLLM. Ce déploiement s'effectue en quelques minutes sur un Hugging Face Space privé ou en local via Docker.


Architecture et flux de données

L'intégration complète repose sur trois éléments clés :

  1. Hugging Face Inference Endpoints : Héberge les poids de votre modèle privé ou adapté (comme Llama 3.3, Mistral, Qwen ou des adaptateurs LoRA internes) sur des accélérateurs GPU sous TGI ou vLLM, et expose une route REST standard compatible OpenAI (/v1/chat/completions).
  2. User Access Token (HF_TOKEN) : Assure l'authentification et l'autorisation de chaque requête adressée au point de terminaison privé.
  3. Chat UI (Instance privée de HuggingChat) : L'application web frontale qui consomme le point de terminaison et restitue l'ensemble des fonctionnalités de conversation, de multimodalité et d'outils.
+-------------------------------------------------------------+
|                 Instance privée de Chat UI                  |
|             (Hugging Face Space / Docker local)             |
+-------------------------------------------------------------+
                               |
               OPENAI_BASE_URL | OPENAI_API_KEY (hf_xxx)
                               v
+-------------------------------------------------------------+
|             Hugging Face Inference Endpoint                 |
|   https://<endpoint-id>.<region>.<cloud>.endpoints.huggingface.cloud/v1   |
|                 (Conteneur TGI ou vLLM sur GPU)             |
+-------------------------------------------------------------+
                               |
                               v
+-------------------------------------------------------------+
|               Dépôt privé / Poids du modèle ajusté          |
+-------------------------------------------------------------+

Étape 1 : Déployer le modèle sur Inference Endpoints

Pour héberger un modèle privé sur une infrastructure dédiée Hugging Face :

  1. Accédez à la console Inference Endpoints.
  2. Cliquez sur Create New Endpoint.
  3. Model Repository : Saisissez l'identifiant du dépôt privé (ex. : votre-organisation/modele-prive-8b) ou choisissez un modèle public du Hub.
  4. Cloud Provider & Region : Choisissez le fournisseur de cloud (AWS ou Azure) ainsi qu'une région géographique proche de vos utilisateurs.
  5. Instance Type : Sélectionnez le profil matériel GPU adapté à la volumétrie du modèle (ex. : 1x NVIDIA A10G pour 8B, ou plusieurs A100/H100 pour 70B).
  6. Framework & Engine : Vérifiez que le moteur d'exécution sélectionné est Text Generation Inference (TGI) ou vLLM. Les deux intègrent nativement les routes conformes aux spécifications OpenAI.
  7. Cliquez sur Create Endpoint.

Patientez jusqu'à ce que l'état passe de Building à Running. Notez l'URL assignée visible sur votre tableau de bord :

https://<endpoint-id>.<region>.<cloud>.endpoints.huggingface.cloud

Étape 2 : Créer un jeton d'accès au compte (Access Token)

Votre point de terminaison dédié requiert un jeton d'authentification valide pour chaque requête :

  1. Rendez-vous dans Settings > Access Tokens sur votre profil (hf.co/settings/tokens).
  2. Cliquez sur Create new token.
  3. Choisissez le type de jeton :
    • Fine-grained token (Recommandé) : Dans la catégorie Inference, activez l'autorisation « Make calls to your Inference Endpoints ».
    • Read token : Pour les points de terminaison associés à votre compte personnel, un jeton en lecture standard convient également.
  4. Copiez la chaîne générée (hf_...) et stockez-la en sécurité.

Étape 3 : Configurer et démarrer Chat UI (HuggingChat)

Chat UI interroge les modèles disponibles en concaténant automatiquement /v1 à l'URL de base.

Option A : Déploiement en un clic sur Hugging Face Spaces (Recommandé)

Pour mettre à disposition un environnement d'échange sécurisé sans gestion d'infrastructure :

  1. Ouvrez le modèle officiel de Space pour Chat UI.
  2. Définissez la visibilité sur Private afin de restreindre les accès aux seuls membres autorisés.
  3. Dans l'onglet Settings > Variables and Secrets du Space, ajoutez les variables suivantes :
    • OPENAI_BASE_URL : https://<endpoint-id>.<region>.<cloud>.endpoints.huggingface.cloud/v1
    • OPENAI_API_KEY : hf_************************ (votre jeton d'accès généré à l'étape 2)
  4. (Facultatif) Définissez MONGODB_URL pour assurer la persistance des discussions après redémarrage du Space. Pour un usage individuel, Chat UI active automatiquement sa base de données locale intégrée.
  5. Redémarrez le Space. Chat UI découvrira le point de terminaison et rendra le modèle immédiatement opérationnel dans l'interface.

Option B : Déploiement local ou sur serveur dédié (Node.js / Docker)

Pour exécuter l'interface sur votre poste de travail ou au sein d'un cluster privé :

  1. Clonez le dépôt open source de Chat UI :

    git clone https://github.com/huggingface/chat-ui.git
    cd chat-ui
    
  2. Créez un fichier .env.local :

    # Configuration du point de terminaison d'inférence
    OPENAI_BASE_URL=https://<endpoint-id>.<region>.<cloud>.endpoints.huggingface.cloud/v1
    OPENAI_API_KEY=hf_votre_jeton_ici
    
    # Base de données (facultative en développement local, stockée dans ./db par défaut)
    # MONGODB_URL=mongodb://localhost:27017
    
  3. Si le point de terminaison ne prend pas en charge la découverte automatique via /v1/models ou si vous souhaitez fixer des paramètres d'inférence stricts, déclarez la variable JSON5 MODELS :

    MODELS=`[
      {
        "id": "tgi",
        "name": "Modèle Privé Entreprise",
        "multimodal": false,
        "supportsTools": false,
        "parameters": {
          "temperature": 0.7,
          "max_tokens": 4096
        }
      }
    ]`
    
  4. Installez les dépendances et lancez le serveur :

    npm install
    npm run dev -- --open
    

L'application s'ouvre à l'adresse http://localhost:5173, connectée à votre modèle privé tout en conservant l'expérience complète de HuggingChat.


Test et vérification de la liaison

Avant de lancer les échanges dans le navigateur, effectuez une validation rapide en ligne de commande avec curl :

curl -X POST "https://<endpoint-id>.<region>.<cloud>.endpoints.huggingface.cloud/v1/chat/completions" \
  -H "Authorization: Bearer hf_votre_jeton_ici" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tgi",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello! Confirm endpoint readiness."}
    ],
    "max_tokens": 50
  }'

Dès qu'une réponse JSON structurée contenant le texte généré est renvoyée, votre point de terminaison et vos identifiants sont validés.


Points de vigilance et arbitrages opérationnels

Références