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
Einbauverfahren
- Klon-Lager: Klonen 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 - for langsmith tracing) LANGCHAIN_API_KEY="" #(optional - for langsmith tracing) REDIS_HOST=redis CELERY_BROKER_URL=redis://redis:6379/0 CELERY_RESULT_BACKEND=redis://redis:6379/1
- Installieren Sie die Abhängigkeit:
poetry install poetry shell
Oder auf Mac/Linux:
source .venv/bin/activate
Unter Windows:
.venv\Scripts\activate
- 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:
project: name: "Simba" version: "1.0.0" api_version: "/api/v1" paths: base_dir: null # Will be set programmatically markdown_dir: "markdown" faiss_index_dir: "vector_stores/faiss_index" vector_store_dir: "vector_stores" llm: provider: "openai" #or ollama (vllm coming soon) model_name: "gpt-4o" #or ollama model name temperature: 0.0 max_tokens: null streaming: true additional_params: {} embedding: provider: "huggingface" #or openai model_name: "BAAI/bge-base-en-v1.5" #or any HF model name device: "cpu" # mps,cuda,cpu additional_params: {} vector_store: provider: "faiss" collection_name: "migi_collection" additional_params: {} chunking: chunk_size: 512 chunk_overlap: 200 retrieval: k: 5 #number of chunks to retrieve features: enable_parsers: true # Set to false to disable parsing celery: 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 install
- 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/ # 核心处理引擎
│ ├── api/ # FastAPI端点
│ ├── services/ # 文档处理逻辑
│ ├── tasks/ # Celery任务定义
│ └── models/ # Pydantic数据模型
├── frontend/ # 基于React的UI
│ ├── public/ # 静态资源
│ └── src/ # React组件
├── docker-compose.yml # 开发环境
└── docker-compose.prod.yml # 生产环境设置
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
.