Allgemeine Einführung
Simba ist ein portables Wissensmanagementsystem (KMS), das sich nahtlos in jedes Retrieval Augmented Generation (RAG)-System integrieren lässt. Das vom GitHub-Benutzer GitHamza0206 erstellte Projekt bietet eine effiziente Wissensmanagementlösung für eine Vielzahl von Anwendungsszenarien.Simba wurde mit dem Ziel entwickelt, den Wissensmanagementprozess zu vereinfachen und die Genauigkeit und Effizienz der Informationsbeschaffung und -generierung zu verbessern. Durch die Integration mit dem RAG-System ist Simba in der Lage, den Umgang mit komplexen Daten und die Generierung von Inhalten leistungsstark zu unterstützen.
Funktionsliste
- WissensmanagementUmfassende Wissensmanagementfunktionen zur Unterstützung der Speicherung, Kategorisierung und Abfrage von Wissen.
- RAG SystemintegrationNahtlose Integration mit dem System zur Verbesserung der Informationsgenerierung, um die Genauigkeit der Informationsgenerierung zu verbessern.
- TragbarkeitEntwickelt als tragbares System, das einfach zu installieren und zu verwenden ist.
- Open-Source-ProjektAls Open-Source-Projekt können die Benutzer frei auf den Quellcode zugreifen und ihn anpassen.
- Effizienter AbrufOptimierter Informationsabruf, um das benötigte Wissen schnell zu finden.
- benutzerfreundliche SchnittstelleBietet eine intuitive Benutzeroberfläche, die den Bedienprozess vereinfacht.
Hilfe verwenden
Ablauf der Installation
- Klon-LagerKlonen Sie zunächst das GitHub-Repository des Simba-Projekts mit dem Git-Befehl.
git clone https://github.com/GitHamza0206/simba.git
- Installation von Abhängigkeiten: Wechseln Sie in das Projektverzeichnis und installieren Sie die erforderlichen Abhängigkeitspakete.
cd simba
lokale Entwicklung
- Backend-Einstellungen::
- Wechseln Sie in das Backend-Verzeichnis:
cd backend
- Stellen Sie sicher, dass Redis in Ihrem Betriebssystem installiert ist:
redis-server
- Setzen von Umgebungsvariablen:
cp .env.example .env
Bearbeiten Sie dann die .env-Datei und tragen Sie Ihre Werte ein:
OPENAI_API_KEY="" LANGCHAIN_TRACING_V2= #(optional - für Langsmith Tracing) LANGCHAIN_API_KEY="" #(optional - für langsmith tracing) REDIS_HOST=redis CELERY_BROKER_URL=redis://redis:6379/0 CELERY_RESULT_BACKEND=redis://redis:6379/1
- Installieren Sie die Abhängigkeit:
Poesie installieren Poesie-Shell
Oder auf Mac/Linux:
Quelle .venv/bin/activate
Unter Windows:
.venv\Scripts\aktivieren
- Führen Sie den Backend-Dienst aus:
python main.py
Oder verwenden Sie die automatische Nachladung:
uvicorn main:app --reload
Navigieren Sie dann zu
http://0.0.0.0:8000/docs
Zugang zur Swagger-Benutzeroberfläche (optional).- Führen Sie den Parser mit Celery aus:
celery -A tasks.parsing_tasks worker --loglevel=info
- Ändern Sie nach Bedarf
config.yaml
Dokumentation:
Projekt: Name: "Simba Name: "Simba" version: "1.0.0" api_version: "/api/v1" base_dir: null # Wird programmatisch gesetzt. base_dir: null # Wird programmatisch gesetzt markdown_dir: "markdown" faiss_index_dir: "vector_stores/faiss_index" vector_store_dir: "vector_stores" vector_store_dir: "vector_stores" llm. Anbieter: "openai" #or ollama (vllm demnächst) model_name: "gpt-4o" #or ollama model name Temperatur: 0,0 max_tokens: null Streaming: true zusätzliche_params: {} embedding. Anbieter: "huggingface" #or openai model_name: "BAAI/bge-base-de-v1.5" #or beliebiger HF-Modellname gerät: "cpu" # mps,cuda,cpu zusätzliche_params: {} vector_store: "cpu" # mps,cuda,cpu additional_params: {} collection_name: "migi_store" sammlung_name: "migi_sammlung" additional_params: {} collection_name: "migi_collection" additional_params: {} chunk_size: 512 chunk_overlap: 200 Abruf: k: 5 #Anzahl der abzurufenden Chunks features : k: 5 #Anzahl der abzurufenden Chunks enable_parsers: true # Auf false setzen, um Parsing zu deaktivieren enable_parsers: true # Zum Deaktivieren des Parsens auf false setzen broker_url: ${CELERY_BROKER_URL:-redis://redis:6379/0} result_backend: ${CELERY_RESULT_BACKEND:-redis://redis:6379/1}
- Front-End-Einstellungen::
- Vergewissern Sie sich, dass sie sich im Simba-Stammverzeichnis befindet:
bash
cd frontend
- Installieren Sie die Abhängigkeit:
bash
npm-Installation
- Führen Sie den Front-End-Dienst aus:
bash
Navigieren Sie dann zu
npm run dev
http://localhost:5173
Zugriff auf die Front-End-Schnittstelle.
- Vergewissern Sie sich, dass sie sich im Simba-Stammverzeichnis befindet:
Booten mit Docker (empfohlen)
- Navigieren Sie zum Simba-Stammverzeichnis:
export OPENAI_API_KEY="" #(optional)
docker-compose up --build
Struktur des Projekts
simba/
├── Backend/ # Core Processing Engine
│ ├── api/ # FastAPI Endpunkte
│ ├── Dienste/ # Document Processing Logic
│ ├── Aufgaben/ # Celery-Aufgabendefinitionen
│ └── Modelle/ # Pydantic-Datenmodell
├── Frontend/ # React-basierte Benutzeroberfläche
│ ├── öffentlich/ # Statische Ressourcen
│ └── src/ # React-Komponenten
├─── docker-compose.yml # Entwicklungsumgebung
└── docker-compose.prod.yml # Produktionsumgebung Einstellungen
konfigurieren.
config.yaml
Datei wird zur Konfiguration der Backend-Anwendung verwendet. Sie können Folgendes ändern:
- Modelle einbetten
- Vektorspeicher
- Stückchen
- abrufen (Daten)
- Funktionalität
- Resolver
Für weitere Informationen besuchen Sie bittebackend/README.md
.