Tutoriel de niveau nounou sur le déploiement local de la base de connaissances RAG open source : questions et réponses sur la privatisation d'Ollama + AnythingLLM

🛒 Pour le personnel d'exploitation, de maintenance et commercial sans expérience approfondie en développement, un didacticiel complet sur la création d'une base de connaissances privée sans code.

Objectifs du didacticiel

Ce didacticiel utilise deux composants open source pour créer une base de connaissances RAG locale qui peut être utilisée pour les questions et réponses en téléchargeant des documents, des réponses avec des sources et peut être exécutée hors ligne :

  • Ollama : Service d'inférence pour exécuter de grands modèles localement.
  • AnythingLLM : application de base de connaissances unique avec interface (y compris bibliothèque vectorielle et questions-réponses).

Il n'est pas nécessaire d'écrire du code dans l'ensemble du processus et il convient au personnel d'exploitation et de maintenance, d'exploitation et commercial.

Liste de contrôle de préparation

  • [ ] Un ordinateur ou un serveur : 16 Go de mémoire ou plus sont recommandés ; macOS/Linux/Windows sont acceptables.
  • [ ] Préparez plusieurs documents de test (PDF/Word/TXT/Markdown sont acceptables).
  • [ ] Le réseau est disponible (le modèle et le logiciel doivent être téléchargés pour la première fois et peuvent ensuite être utilisés hors ligne).
  • [ ] Réservez 8 à 20 Go d'espace disque (selon la taille du modèle).
  • [ ] (Facultatif) La carte graphique NVIDIA améliore considérablement la vitesse de réponse.

Astuce de version : le numéro de version, la taille du modèle et l'adresse de téléchargement suivants sont soumis à la page officielle en temps réel ; la commande model pull est soumise à la bibliothèque de modèles officielle d'Ollama.

Étape 1 : Installer et configurer Ollama

Visitez le site officiel d'Ollama pour télécharger le package d'installation du système correspondant (faites-le glisser directement dans Applications pour macOS ; utilisez le script d'installation pour Linux ; utilisez le package d'installation pour Windows). Après l'installation, ouvrez le terminal pour vérifier :

ollama --version

Normalement, le numéro de version sera affiché, tel que « ollama version 0.x.x ».

Étape 2 : Extraire le modèle local

La base de connaissances nécessite deux modèles : un pour générer des réponses et un pour vectoriser le document (intégration). Tirez d’abord le modèle de dialogue :

ollama tire qwen2.5:7b

Extrayez ensuite le modèle de vectorisation :

ollama tire le texte nomic-embed

Vérifiez que le modèle est prêt :

liste d'ollama

Le modèle est de grande taille et son extraction pour la première fois peut prendre un certain temps en fonction de la vitesse du réseau ; la dénomination des modèles et la liste disponible sont soumises à la page officielle en temps réel d'Ollama.

Étape 3 : Installez AnythingLLM

Téléchargez le package d'installation de la version de bureau sur le site officiel d'AnythingLLM et installez-le (prend en charge macOS/Windows/Linux). Lors du premier démarrage, vous entrerez dans l’assistant d’initialisation :

  1. Sélectionnez le type "Local Vector Library" (le LanceDB intégré est utilisé par défaut, aucune installation supplémentaire n'est requise).
  2. Sélectionnez le fournisseur LLM comme Ollama.
  3. Remplissez l'adresse Ollama « http://localhost:11434 » et sélectionnez « qwen2.5:7b » extraite à l'étape précédente.
  4. Sélectionnez le fournisseur d'intégration comme Ollama et le modèle comme nomic-embed-text.

Après avoir enregistré la configuration, la connexion est terminée.

Étape 4 : Créez une base de connaissances et téléchargez des documents

  1. Cliquez sur « Espace de travail » sur le côté gauche d'AnythingLLM et créez un nouvel espace de travail, tel que « Système d'entreprise ».
  2. Entrez dans l'espace de travail → « Télécharger le document » et faites glisser le document divisé préparé.
  3. Cliquez sur « Processus » et attendez la fin de la vectorisation.

Une fois la vectorisation réussie, chaque document affichera un statut « Traité », indiquant qu'il est entré dans la bibliothèque de vecteurs consultable.

Étape 5 : Démarrez les questions/réponses et vérifiez la traçabilité

Saisissez une question dans la boîte de dialogue de l'espace de travail, telle que « Selon la documentation, combien d'étapes prend le processus de remboursement ? »

Performances attendues :

  • Le contenu de la réponse provient du document que vous avez téléchargé, plutôt que de parler en termes généraux.
  • Le fragment source cité est affiché sous la réponse. Vous pouvez cliquer pour accéder à l'emplacement du texte d'origine.

Ouvrez les paramètres « Chat » d'AnythingLLM et activez « Afficher les citations » pour afficher la source de chaque réponse.

Étape 6 : Réglage des effets

Si la réponse n'est pas satisfaisante, essayez dans l'ordre :

  1. Ajustez la segmentation : la taille et le chevauchement des fragments peuvent être configurés dans les paramètres AnythingLLM (il est recommandé que la taille des fragments soit de 500 à 1 000, le chevauchement de 50 à 100).
  2. Passez à un modèle plus puissant : « ollama pull qwen2.5:14b » ou un modèle plus grand.
  3. Passez à un meilleur modèle vectoriel : utilisez un modèle d'intégration de dimension supérieure et changez de configuration.
  4. Documentation supplémentaire : ajoutez les connaissances manquantes à la base de connaissances et traitez-les à nouveau.

Étape 7 : Personnalisez les mots d'invite et le style de réponse

AnythingLLM vous permet de personnaliser les invites système (System Prompt) pour rendre les réponses plus adaptées au ton de l'équipe. Par exemple, remplissez ce qui suit dans « Paramètres de discussion » :

Vous êtes l’assistant de connaissances de l’entreprise. Répondez uniquement sur la base des documents téléchargés, ne vous inventez pas ;
Répondez dans un chinois concis, en donnant d'abord les conclusions, puis la base ;
Lorsqu'aucune preuve n'est trouvée, il est clairement indiqué qu'« il n'y a aucun contenu pertinent dans la base de données ».

La personnalisation des mots d'invite peut rendre les réponses plus « semblables aux vôtres » et constitue également un moyen efficace de réduire les hallucinations.

Étape 8 : Sauvegarde et mise à niveau des données

  • Sauvegarde : le répertoire de données d'AnythingLLM (y compris la bibliothèque vectorielle et la configuration) est copié régulièrement. Il est recommandé de l'inclure dans la tâche de sauvegarde quotidienne.
  • Mise à niveau : sauvegardez avant la mise à niveau, puis mettez à jour la version du logiciel et revérifiez les questions et réponses.
  • Mise à jour du document : une fois le contenu du document modifié, supprimez l'ancienne version et téléchargez-la à nouveau pour éviter les conflits entre l'ancienne et la nouvelle version.

Méthode de vérification

  • Vérification 1 : ollama list peut voir le modèle de dialogue et le modèle vectoriel.
  • Vérification 2 : Après avoir téléchargé le document, le statut est « Traité ».
  • Vérification 3 : Posez une question factuelle dans le document, et la réponse peut citer la source correspondante.
  • Vérification 4 : Déconnectez-vous du réseau externe, les questions/réponses sont toujours disponibles (confirmez qu'il s'agit d'une inférence locale).
  • Vérification 5 : Après avoir personnalisé les mots d'invite, les questions non fondées peuvent être correctement rejetées.

Erreurs et précautions courantes

  1. Le format du document prête à confusion : unifiez-le d'abord en texte sélectionnable (OCR d'abord le document numérisé), puis importez-le par lots.
  2. Le bloc est trop grand : une distorsion de récupération se produit lorsqu'un seul bloc dépasse le contexte du modèle. Ajuster selon la valeur recommandée.
  3. Mixage multilingue : Essayez d’unifier les langues dans une base de connaissances, ou divisez les zones de travail selon les langues.
  4. J'ai oublié d'activer les références : assurez-vous d'activer "Afficher les sources de référence" dans la configuration. Il s’agit d’un élément difficile à accepter.

Foire aux questions et dépannage (FAQ)

  1. Que dois-je faire si AnythingLLM ne parvient pas à se connecter à Ollama ?

Confirmez d'abord que ollama serve est en cours d'exécution (ollama serve écoute 11434 par défaut), puis utilisez le navigateur pour accéder à http://localhost:11434 pour vérifier ; n'incluez pas de barres obliques supplémentaires dans l'adresse de la configuration.

  1. Le téléchargement du modèle est lent ou échoue ?

    Lorsque le réseau est limité, utilisez l'adresse miroir ou réessayez à un autre moment ; vous pouvez également télécharger le modèle GGUF et l'importer manuellement.

  2. La réponse ne cite pas du tout le document, comme si on disait des bêtises ?

    Vérifiez si l'intégration est configurée en tant que modèle Ollama local ; s'il n'est pas configuré, le document ne peut pas être récupéré correctement.

  3. Le PDF téléchargé est-il tronqué ou incomplètement reconnu ?

    AnythingLLM s'appuie sur l'analyseur intégré ; le PDF numérisé doit d'abord être converti par OCR en texte sélectionnable.

  4. Mémoire insuffisante et fonctionnement lent ?

    Passez à un modèle de quantification plus petit (tel que « qwen2.5:3b ») et fermez les autres programmes de grande mémoire ; Le modèle 7B recommande plus de 16 Go de mémoire.

  5. Comment plusieurs ordinateurs peuvent-ils partager une base de connaissances ?

    Déployez AnythingLLM en tant que serveur Docker et configurez un volume de données partagé auquel les clients pourront accéder via le réseau local.

Résumé et prochaines étapes

À ce stade, vous disposez déjà d'un ensemble d'applications RAG de « modèle local + base de connaissances locale + questions et réponses traçables ». Prochaine étape suggérée : utilisez d'abord de vrais documents professionnels pour un essai à petite échelle pendant 1 à 2 semaines afin de collecter les problèmes à haute fréquence et les angles morts de récupération, puis décidez s'il convient de mettre à niveau le modèle, de changer de bibliothèque de vecteurs ou de le déployer sur plusieurs utilisateurs.

Avancement et expansion

  • Passer à FastGPT / Flowise : migrer lorsqu'un workflow visuel et des branches complexes sont requis.
  • Mise à niveau de la bibliothèque vectorielle : une fois que la quantité de documents devient importante, remplacez LanceDB par une bibliothèque vectorielle professionnelle telle que Milvus.
  • Recherche hybride : activez simultanément la recherche par mots clés et vectorielles pour améliorer les réponses aux questions à longue traîne.
  • Autorisations multi-utilisateurs : déployez le serveur et accédez au système de compte pour obtenir une isolation des connaissances au niveau du département.
  • Access Agent : faites de la base de connaissances un outil de recherche pour les agents, reliant les bons de travail, le service client et d'autres processus métier.

Avis des utilisateurs

  • Chargement des avis...