Introduction à l'architecture du système QAnswer
Pour installer QAnswer sur site, contactez-nous à
Architecture de l'application
Voici un schéma expliquant l'architecture globale de l'application QAnswer :
L'architecture globale de QAnswer se compose de 3 parties :
- Nginx WAF — responsable du routage externe, du pare-feu applicatif web et de la gestion TLS/SSL.
- QAnswer Core — la partie fonctionnelle de QAnswer, qui fournit les fonctionnalités nécessaires.
- QAnswer Monitoring — responsable de la surveillance de l'état de QAnswer.
QAnswer contient les composants logiciels suivants :
- Traefik — répartiteur de charge pour le routage du trafic interne ;
- une application web front-end React pour accéder aux APIs et interagir avec elles via une interface utilisateur intuitive ;
- QAnswer Doc — le site de documentation que vous lisez en ce moment ;
- QAnswer Python Backend — point d'entrée du backend, responsable de la sécurité, de l'authentification, de l'autorisation, des modèles d'IA et de l'indexation ;
- QAnswer LLM — la couche de service du grand modèle de langage ;
- QAnswer Embedder — le modèle d'embedding utilisé pour la recherche sémantique ;
- un serveur de transcription pour la conversion parole-texte ;
- Clamav — analyse les fichiers téléversés à la recherche de virus ;
- un serveur Selenium pour scraper des sites web ;
- une base de données Postgres qui stocke les informations des utilisateurs.
- Valkey — magasin clé/valeur pour la mise en cache et les files d'attente ;
- une instance ElasticSearch ;
Prérequis
Matériel
- 16 Go de RAM
- 200 Go de disque
- Un GPU avec au moins 48 Go de mémoire (nous recommandons le NVIDIA® L40S)
Logiciel
- une distribution Linux (nous utilisons Ubuntu par défaut)
- Docker version 20 ou plus récente
- Docker Compose
- Le nvidia-container-toolkit installé, pour utiliser des GPU NVIDIA dans un conteneur
- Une clé de licence, ainsi qu'un nom d'utilisateur et un jeton d'accès (fournis par nous)
(Cela prend en charge 7 à 13 utilisateurs simultanés selon la charge RAG ou Chat. Contactez-nous à info@the-qa-company.com pour vous aider à dimensionner votre infrastructure.)
Démarrage rapide
Une fois votre clé de licence et vos identifiants de registre en main, le déploiement du bundle se fait en quelques étapes :
1. Cloner le dépôt du bundle
git clone -b main https://gitlab.the-qa-company.com/qanswer-app/qanswer-bundle.git
cd qanswer-bundle2. Renseigner vos identifiants
export QANSWER_KEY=YOUR_KEY
export HUGGINGFACE_TOKEN=YOUR_HF_KEYYOUR_KEY est votre clé de licence ; YOUR_HF_KEY est le jeton Hugging Face que nous fournissons.
3. Se connecter au registre d'images
docker login -u $QANSWER_REGISTRY_USER -p $QANSWER_REGISTRY_PASSWORD \
https://registry.gitlab.the-qa-company.com:443/v2/qanswer-appQANSWER_REGISTRY_USER et QANSWER_REGISTRY_PASSWORD sont les identifiants du registre docker que nous fournissons.
4. Télécharger toutes les images
./init.sh5. Démarrer QAnswer
./deploy-scripts/up.sh
# or manually:
docker compose up -d6. Ouvrez votre navigateur à l'adresse http://localhost:4567/
7. Les identifiants par défaut sont nom d'utilisateur : admin / mot de passe : 123456
