Einführung in die QAnswer-Systemarchitektur

Um QAnswer On-Premise zu installieren, kontaktieren Sie uns unter

Architektur der Anwendung

Hier ist ein Diagramm, das die Gesamtarchitektur der QAnswer-Anwendung erklärt:

qanswer architecture

Die globale Architektur von QAnswer besteht aus 3 Teilen:

  • Nginx WAF — zuständig für externes Routing, Web Application Firewall und TLS/SSL-Verwaltung.
  • QAnswer Core — der funktionale Teil von QAnswer, der die erforderlichen Funktionen bereitstellt.
  • QAnswer Monitoring — zuständig für die Überwachung des Status von QAnswer.

QAnswer enthält folgende Softwarekomponenten:

  • Traefik — Load Balancer für internes Traffic-Routing;
  • eine React-Frontend-Web-App für den Zugriff und die Interaktion mit APIs über eine intuitive Benutzeroberfläche;
  • QAnswer Doc — die Dokumentationsseite, die Sie gerade lesen;
  • QAnswer Python Backend — Einstiegspunkt des Backends, zuständig für Sicherheit, Authentifizierung, Autorisierung, KI-Modelle und Indexierung;
  • QAnswer LLM — die Serving-Schicht für das Large Language Model;
  • QAnswer Embedder — das für die semantische Suche verwendete Einbettungsmodell;
  • ein Transkriptionsserver für Sprachzutext;
  • Clamav — prüft hochgeladene Dateien auf Viren;
  • ein Selenium-Server zum Scrapen von Websites;
  • eine Postgres-Datenbank zur Speicherung von Benutzerinformationen.
  • Valkey — Key-Value-Store für Caching und Queuing;
  • eine ElasticSearch-Instanz;
Info
Das Bundle bringt außerdem einen vollständigen Monitoring-Stack mit (Grafana, Loki, Prometheus, OpenTelemetry sowie Exporter für jeden Dienst) samt vorgefertigten Dashboards für Kerndienste, Drittanbieter-Abhängigkeiten und Systemressourcen.

Anforderungen

Hardware

  • 16 GB RAM
  • 200 GB Festplattenspeicher
  • Eine GPU mit mindestens 48 GB Speicher (wir empfehlen NVIDIA® L40S)

Software

  • eine Linux-Distribution (standardmäßig verwenden wir Ubuntu)
  • Docker Version 20 oder neuer
  • Docker Compose
  • Das installierte nvidia-container-toolkit, um NVIDIA-GPUs in einem Container zu nutzen
  • Ein Lizenzschlüssel sowie ein Benutzername und ein Access Token (von uns bereitgestellt)

(Dies unterstützt 7 bis 13 gleichzeitige Benutzer je nach RAG- oder Chat-Workload. Kontaktieren Sie uns unter info@the-qa-company.com für Hilfe bei der Dimensionierung Ihrer Infrastruktur.)

Schnellstart

Sobald Sie Ihren Lizenzschlüssel und die Registry-Anmeldedaten haben, erfolgt die Bereitstellung des Bundles in wenigen Schritten:

1. Bundle-Repository klonen

git clone -b main https://gitlab.the-qa-company.com/qanswer-app/qanswer-bundle.git
cd qanswer-bundle

2. Anmeldedaten setzen

export QANSWER_KEY=YOUR_KEY
export HUGGINGFACE_TOKEN=YOUR_HF_KEY

YOUR_KEY ist Ihr Lizenzschlüssel; YOUR_HF_KEY ist das von uns bereitgestellte Hugging-Face-Token.

3. Bei der Image-Registry anmelden

docker login -u $QANSWER_REGISTRY_USER -p $QANSWER_REGISTRY_PASSWORD \
  https://registry.gitlab.the-qa-company.com:443/v2/qanswer-app

QANSWER_REGISTRY_USER und QANSWER_REGISTRY_PASSWORD sind die von uns bereitgestellten Docker-Registry-Anmeldedaten.

4. Alle Images herunterladen

./init.sh

5. QAnswer starten

./deploy-scripts/up.sh

# or manually:
docker compose up -d

6. Öffnen Sie Ihren Browser unter http://localhost:4567/

7. Die Standardanmeldung lautet Benutzername: admin / Passwort: 123456

Warnung
Dieser Schnellstart verwendet Standardeinstellungen, die für die Evaluierung gedacht sind. Legen Sie vor dem Produktivbetrieb eine echte öffentliche URL und echte Secrets fest (Admin-Passwort, JWT-Secret, Postgres-Passwort) und konfigurieren Sie Ihren Mailserver — die vollständige Produktions-Checkliste finden Sie in der README des Bundles.