Allgemeine Einführung
Kotaemon ist ein quelloffenes Q&A-Tool für Dokumente, das Endnutzern und Entwicklern suchgestützte Q&A-Funktionen bietet. Das von Cinnamon entwickelte Projekt unterstützt eine Vielzahl von LLM-API-Anbietern (z. B. OpenAI, AzureOpenAI, Cohere usw.) sowie native LLMs. Kotaemon bietet eine übersichtliche und anpassbare Benutzeroberfläche für die Abfrage von Dokumenten und für die Erstellung RAG Rohre.
Funktionsliste
- Unterstützung für mehrere Benutzeranmeldungen, Organisation von Dateien in privaten/öffentlichen Sammlungen
- Unterstützung für native LLM und gängige API-Anbieter
- Lieferung mit gemischter RAG-Verrohrung zur Gewährleistung einer optimalen Rückholqualität
- Multimodale Q&A-Unterstützung für Dokumente mit Diagrammen und Tabellen
- Bietet einfach zu installierende Skripte, die keine Einrichtung der Umgebung erfordern
Funktionelle Merkmale
- Hosting einer eigenen Web-Benutzeroberfläche für das Dokumentations-Quiz (RAG). Unterstützen Sie mehrere Benutzeranmeldungen, organisieren Sie Dateien nach privaten/öffentlichen Sammlungen, arbeiten Sie mit anderen zusammen und teilen Sie Ihre Lieblings-Chats.
- Organisieren Sie Ihr LLM und Einbettungsmodelle. Unterstützung für nativen LLM und beliebte API-Anbieter (OpenAI, Azure, Ollama, Groq).
- Gemischte RAG-Rohre. Bietet eine vernünftige Standard-RAG-Pipeline in Kombination mit einem hybriden Sucher (Volltext und Vektor) + Neuordnung, um optimale Suchqualität zu gewährleisten.
- Multimodale Q&A-Unterstützung. Q&A für mehrere Dokumente, mit Unterstützung für Grafiken und Tabellen. Unterstützung für multimodales Dokumenten-Parsing (eine in der Benutzeroberfläche verfügbare Option).
- Erweiterte Zitierfunktion mit Dokumentenvorschau. Das System bietet standardmäßig detaillierte Referenzen, um sicherzustellen, dass die Antworten auf LLM-Probleme korrekt sind. Dies kann direkt in derPDF-BetrachterAnzeige von Zitaten (einschließlich Relevanzbewertungen) und deren Hervorhebung. Warnung, wenn die Suchpipeline Artikel mit geringer Relevanz liefert.
- Unterstützung für komplexe Argumentationsmethoden. Nutzung der Fragezerlegung zur Beantwortung komplexer/mehrstufiger Fragen. Unterstützt agentenbasiertes Reasoning mit ReAct, ReWOO und anderen Agenten.
- Konfigurierbare Setup-Benutzeroberfläche. Sie können die meisten wichtigen Aspekte des Abruf- und Erzeugungsprozesses (einschließlich der Eingabeaufforderungen) in der Benutzeroberfläche einstellen.
- Skalierbarkeit. Da es auf Gradio aufbaut, können Sie alle UI-Elemente nach Belieben anpassen/hinzufügen. Darüber hinaus wollen wir mehrere Strategien zur Indizierung und Abfrage von Dokumenten unterstützen.
GraphRAG
Die Index-Pipeline dient als Beispiel.
Hilfe verwenden
Installationsvorgang für normale Benutzer
Herunterladen:durch (eine Lücke)NeuerscheinungenHerunterladen vonkotaemon-app.zip
Dokumentation.
Einbau:
- Entpacken Sie die heruntergeladene Datei.
- gehen in
Skripte
und starten Sie das für Ihr Betriebssystem geeignete Installationsprogramm:- Fenster.
run_windows.bat
. Doppelklicken Sie einfach auf die Datei. - macOS.
run_macos.sh
- Klicken Sie mit der rechten Maustaste auf Ihre Datei und wählen Sie "Mit einer anderen Anwendung öffnen".
- Aktivieren Sie "Alle Anwendungen" und wählen Sie "Terminal".
- Hinweis: Wenn Sie die Datei immer mit dem Terminal öffnen möchten, markieren Sie das Kästchen "Immer mit dieser Anwendung öffnen".
- Von nun an doppelklicken Sie auf Ihre Datei, und sie sollte problemlos funktionieren.
- Linux.
run_linux.sh
. Bitte verwenden Sie diebash run_linux.sh
Führen Sie das Skript aus.
- Fenster.
- Sobald die Installation abgeschlossen ist, wird das Installationsprogramm fragen, ob die Benutzeroberfläche von ktem gestartet ist; bitte antworten Sie, um fortzufahren.
- Wenn der Start erfolgreich ist, wird die Anwendung automatisch in Ihrem Browser geöffnet.
Installationsprozess für Entwickler
Docker-Bereitstellung (empfohlen)
docker run \ -e GRADIO_SERVER_NAME=0.0.0.0 \ -e GRADIO_SERVER_PORT=7860 \ -p 7860:7860 -it --rm \ taprosoft/kotaemon:v1.0
Gehen Sie zu http://localhost:7860/, um auf die Webschnittstelle zuzugreifen.
Bereitstellung des Quellcodes
Klonen und installieren Sie die benötigten Pakete in Ihrer neuen Python-Umgebung.
# optional (Setup-Umgebung) conda erstellen -n kotaemon python=3.10 conda kotaemon aktivieren # klone dieses Projektarchiv git clone https://github.com/Cinnamon/kotaemon cd kotaemon pip install -e "libs/kotaemon[all]" pip install -e "libs/ktem"
Zeigen Sie Ihre Umgebungsvariablen (API-Schlüssel, Endpunkte) an und bearbeiten Sie sie in der .env
Mitte.
(Optional) Um den PDF_JS-Viewer in Ihrem Browser zu aktivieren, laden Sie das PDF_JS_DIST und extrahiert es in den libs/ktem/ktem/assets/prebuilt
Starten des Webservers
python app.py
Der Standard-Benutzername und das Standard-Passwort lautet: admin / admin. Sie können andere Benutzer direkt auf der Benutzeroberfläche einrichten.
Richtlinien für die Verwendung
- Anmeldung und Dokumentenverwaltung::
- Die Benutzer können über ein Mehrbenutzer-Login-System auf die Plattform zugreifen, um ihre Dokumentensammlungen zu organisieren und zu verwalten.
- Unterstützt die Kategorisierung von Dateien in private oder öffentliche Sammlungen für eine einfache Zusammenarbeit und gemeinsame Nutzung.
- Q&A-Funktion::
- Die Benutzer können Dokumente hochladen und F&A-Operationen über die Schnittstelle durchführen.
- Unterstützung von multimodalen Fragen und Antworten und die Möglichkeit, mit Dokumenteninhalten zu arbeiten, die Diagramme und Tabellen enthalten.
- RAG-Rohranpassung::
- Die Entwickler können die RAG-Pipeline über die bereitgestellte Benutzeroberfläche anpassen und anzeigen.
- Durch die Unterstützung nativer LLM- und gängiger API-Anbieter können die Benutzer das richtige Modell für ihre Bedürfnisse wählen.
- Hybride Suche::
- Das System bietet eine hybride Suchpipeline, die Volltext- und Vektorsuche kombiniert, um eine optimale Suchqualität zu gewährleisten.
- Unterstützung der Neuordnungsfunktion zur Verbesserung der Relevanz der Suchergebnisse.
- multimodale Unterstützung::
- Die Plattform unterstützt multimodale Fragen und Antworten und ist in der Lage, Dokumente mit Diagrammen und Tabellen zu verarbeiten, um ein umfassenderes Fragen und Antworten zu ermöglichen.
Erweiterte Funktionen
- Modell-Management::
- Die Benutzer können ihre eigenen LLMs und eingebetteten Modelle organisieren und verwalten.
- Durch die Unterstützung nativer Modelle und gängiger API-Anbieter können die Nutzer das richtige Modell für ihre Bedürfnisse auswählen.
- Zusammenarbeit und Austausch::
- Die Nutzer können ihre Lieblings-Chats mit anderen teilen, um die Zusammenarbeit und Kommunikation zu erleichtern.
- Dank der Unterstützung für die Anmeldung mehrerer Benutzer können diese auf der Plattform zusammenarbeiten und sich austauschen.
- Rückmeldungen und Beiträge::
- Das Projekt befindet sich in aktiver Entwicklung und wir freuen uns über Nutzer-Feedback, Problemberichte und PR-Einsendungen.