Ein auf großen Sprachmodellen basierendes Framework für Dokumentenverständnis und semantische Suche, speziell entwickelt für Wissensdatenbanken und RAG-Anwendungen in Unternehmen.
WeKnora - Tencents Open-Source Enterprise-Dokumenten-Q&A-Framework
Projektübersicht
WeKnora ist ein von Tencent als Open Source veröffentlichtes Framework für Dokumentenverständnis und semantisches Retrieval, das auf großen Sprachmodellen (LLM) basiert. Es wurde speziell für Dokumentszenarien mit komplexen Strukturen und heterogenen Inhalten entwickelt. Das Framework nutzt eine modulare Architektur, die multimodale Vorverarbeitung, semantische Vektorindizierung, intelligentes Retrieval und LLM-basierte Generierung und Inferenz kombiniert, um einen effizienten und kontrollierbaren Dokumenten-Q&A-Prozess zu schaffen.
Offizielle Website: https://weknora.weixin.qq.com
GitHub-Repository: https://github.com/Tencent/WeKnora
Open-Source-Lizenz: MIT License
Kernfunktionen
🔍 Präzises Verständnis
- Unterstützt die strukturierte Inhaltsextraktion aus verschiedenen Dokumentformaten wie PDF, Word, Bildern
- Einheitliche Erstellung semantischer Ansichten, unterstützt gemischte Text-Bild-Layouts und OCR-Texterkennung
- Intelligente Dokumentenanalyse zur Verarbeitung komplexer Strukturen und heterogener Inhalte
🧠 Intelligente Inferenz
- Basierend auf der RAG-Technologie (Retrieval-Augmented Generation)
- Nutzt große Sprachmodelle, um den Dokumentkontext und die Benutzerabsicht zu verstehen
- Unterstützt präzise Fragenbeantwortung und mehrstufige Dialoge
🔧 Flexible Erweiterbarkeit
- Entkopplung des gesamten Prozesses von Analyse, Embedding, Retrieval bis zur Generierung
- Modulares Design, jede Komponente ist flexibel konfigurierbar und erweiterbar
- Einfache Integration und kundenspezifische Entwicklung
⚡ Effizientes Retrieval
- Kombiniert verschiedene Abrufstrategien: Schlüsselwort-, Vektor- und Wissensgraphen-basiert
- Unterstützt Retrieval-Mechanismen wie BM25, Dense Retrieve, GraphRAG
- Freie Kombination von Abruf-Re-Ranking-Generierungs-Prozessen
🎯 Einfach und benutzerfreundlich
- Intuitive Weboberfläche und standardmäßige RESTful API
- Schneller Einstieg ohne technische Vorkenntnisse
- Dokumente per Drag-and-Drop hochladen, Dienst mit einem Klick bereitstellen
🔒 Sicher und kontrollierbar
- Unterstützt lokale und Private-Cloud-Bereitstellung
- Vollständige Datenhoheit und -kontrolle
- Erfüllt Sicherheitsanforderungen auf Unternehmensebene
Anwendungsszenarien
| Anwendungsszenario | Spezifische Anwendung | Kernwert |
|---|---|---|
| Unternehmens-Wissensmanagement | Interne Dokumentensuche, Q&A zu Vorschriften, Abfrage von Bedienungsanleitungen | Steigert die Effizienz der Wissenssuche, senkt Schulungskosten |
| Analyse von Forschungsliteratur | Literatursuche, Analyse von Forschungsberichten, Organisation akademischer Materialien | Beschleunigt die Literaturrecherche, unterstützt Forschungsentscheidungen |
| Technischer Produktsupport | Q&A zu Produkthandbüchern, Suche in technischen Dokumenten, Fehlerbehebung | Verbessert die Kundenservicequalität, reduziert den Supportaufwand |
| Rechtliche Compliance-Prüfung | Suche nach Vertragsbedingungen, Abfrage von Vorschriften und Richtlinien, Fallanalyse | Erhöht die Compliance-Effizienz, senkt rechtliche Risiken |
| Medizinische Wissensunterstützung | Suche in medizinischer Literatur, Abfrage von Behandlungsrichtlinien, Fallanalyse | Unterstützt klinische Entscheidungen, verbessert die Behandlungsqualität |
Detaillierte Funktionsmodule
Dokumentenverarbeitungsfähigkeiten
- Unterstützte Formate: PDF, Word, Txt, Markdown, Bilder (inkl. OCR und Caption)
- Intelligente Analyse: Automatische Erkennung der Dokumentstruktur, Extraktion von Kerninhalten
- Multimodale Verarbeitung: Einheitliches Verständnis von gemischten Text-Bild-Inhalten
Vektorisierung und Retrieval
- Embedding-Modelle: Unterstützt lokale Modelle, BGE, GTE API usw.
- Vektordatenbanken: PostgreSQL (pgvector), Elasticsearch
- Retrieval-Strategien: BM25 Sparse Retrieval, Dense Retrieve, GraphRAG Knowledge Graph Retrieval
LLM-Integration
- Modellunterstützung: Qwen (Tongyi Qianwen), DeepSeek und andere gängige große Sprachmodelle
- Bereitstellungsarten: Lokale Bereitstellung (Ollama) oder externe API-Aufrufe
- Inferenzmodi: Unterstützt den Wechsel zwischen Denk-/Nicht-Denk-Modus
Wissensgraphen-Funktionalität
WeKnora unterstützt die Umwandlung von Dokumenten in Wissensgraphen, die die Beziehungen zwischen verschiedenen Abschnitten eines Dokuments visualisieren. Nach Aktivierung der Wissensgraphen-Funktion analysiert und erstellt das System ein internes semantisches Beziehungsnetzwerk des Dokuments, das nicht nur das Verständnis des Dokumentinhalts fördert, sondern auch eine strukturierte Unterstützung für Indizierung und Retrieval bietet.
Technische Architektur
Projektstruktur
WeKnora/
├── cmd/ # Anwendungseinstiegspunkt
├── internal/ # Kern-Geschäftslogik
├── config/ # Konfigurationsdateien
├── migrations/ # Datenbank-Migrationsskripte
├── scripts/ # Start- und Tool-Skripte
├── services/ # Implementierung der Subdienste
├── frontend/ # Frontend-Projekt
└── docs/ # Projektdokumentation
Kernmodule
- Dokumentenanalysemodul: Extraktion und Strukturierung von Inhalten aus verschiedenen Dokumentformaten
- Vektorisierungsmodul: Semantische Vektorisierung von Dokumentinhalten
- Retrieval-Engine-Modul: Multi-Strategie-Retrieval und Abruf
- LLM-Inferenzmodul: Intelligente Q&A-Generierung basierend auf Kontext
Schnellstart
Umgebungsanforderungen
- Docker
- Docker Compose
- Git
Installationsschritte
- Code-Repository klonen
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
- Umgebungsvariablen konfigurieren
cp .env.example .env
# Bearbeiten Sie die .env-Datei und tragen Sie die entsprechenden Konfigurationen gemäß den Kommentaren ein
- Dienste starten
# Alle Dienste mit einem Befehl starten
./scripts/start_all.sh
# Oder mit dem make-Befehl
make start-all
- Dienst aufrufen Nach erfolgreichem Start können Sie die folgenden Adressen aufrufen:
- Web UI: http://localhost
- Backend API: http://localhost:8080
- Tracing (Jaeger): http://localhost:16686
Dienste stoppen
./scripts/start_all.sh --stop
# Oder
make stop-all
WeChat-Ökosystem-Integration
Als Kerntechnologie-Framework der WeChat Dialog Open Platform bietet WeKnora folgende Funktionen:
- No-Code-Bereitstellung: Laden Sie einfach Ihr Wissen hoch, um schnell intelligente Q&A-Dienste im WeChat-Ökosystem bereitzustellen
- Effizientes Problemmanagement: Unterstützt die unabhängige Kategorisierung und Verwaltung häufig gestellter Fragen
- WeChat-Ökosystem-Abdeckung: Nahtlose Integration in WeChat-Szenarien wie offizielle Konten und Mini-Programme
API-Schnittstelle
WeKnora bietet vollständige RESTful API-Schnittstellen, die Folgendes unterstützen:
- Dokumenten-Upload und -Verwaltung
- Wissensdatenbank-Operationen
- Q&A-Abfragen
- Systemkonfiguration
Detaillierte API-Dokumentation finden Sie unter: API Documentation
Entwicklung und Beitrag
Beitragsarten
- 🐛 Fehlerbehebungen: Systemfehler finden und beheben
- ✨ Neue Funktionen: Neue Features vorschlagen und implementieren
- 📚 Dokumentationsverbesserungen: Projektdokumentation vervollständigen
- 🧪 Testfälle: Unit-Tests und Integrationstests schreiben
- 🎨 UI/UX-Optimierung: Benutzeroberfläche und -erlebnis verbessern
Entwicklungsrichtlinien
- Befolgen Sie die Go Code Review Comments
- Verwenden Sie
gofmtzur Code-Formatierung - Fügen Sie notwendige Unit-Tests hinzu
- Aktualisieren Sie relevante Dokumentation
- Verwenden Sie die Conventional Commits-Spezifikation
Einreichungsprozess
- Forken Sie das Projekt auf Ihr persönliches GitHub-Konto
- Erstellen Sie einen Feature-Branch:
git checkout -b feature/amazing-feature - Committen Sie Ihre Änderungen:
git commit -m 'Add amazing feature' - Pushen Sie den Branch:
git push origin feature/amazing-feature - Erstellen Sie einen Pull Request und beschreiben Sie die Änderungen detailliert
Hauptvorteile
- Stabilität auf Unternehmensebene: Entwickelt vom Tencent-Team, in großem Maßstab in Produktionsumgebungen validiert
- Sofort einsatzbereit: Docker-Ein-Klick-Bereitstellung, intuitive Weboberfläche
- Technologisch fortschrittlich: Basierend auf der neuesten RAG-Technologie und LLM-Fähigkeiten
- Hochgradig anpassbar: Modulares Design, unterstützt flexible Erweiterung und Integration
- Datensicherheit: Unterstützt private Bereitstellung, vollständige Datenhoheit und -kontrolle
- Ökosystem-Integration: Tiefgreifende Integration in das WeChat-Ökosystem, unterstützt vielfältige Anwendungsszenarien
Zusammenfassung
WeKnora ist ein leistungsstarkes, technologisch fortschrittliches Enterprise-Dokumenten-Q&A-Framework. Es bietet nicht nur einen vollständigen RAG-Technologie-Stack, sondern zeichnet sich auch durch hervorragende Benutzerfreundlichkeit und Erweiterbarkeit aus. Ob für das interne Wissensmanagement von Unternehmen, die Analyse von Forschungsliteratur oder den Kundensupport – WeKnora bietet effiziente und präzise Lösungen.
Durch die Open-Source-Veröffentlichung bietet WeKnora Entwicklern und Unternehmen einen hochwertigen Ausgangspunkt, um intelligente Dokumenten-Q&A-Systeme einfach und effizient zu erstellen.