AI Personal Learning
und praktische Anleitung
讯飞绘镜

Simba: ein Wissensmanagementsystem für die Organisation von Dokumenten, das sich nahtlos in jedes RAG-System integrieren lässt.

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.

Simba:收纳文档的知识管理系统,无缝集成到任何RAG系统-1


 

Simba:收纳文档的知识管理系统,无缝集成到任何RAG系统-1

 

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

  1. Klon-Lager: Klonen Sie zunächst das GitHub-Repository des Simba-Projekts mit dem Git-Befehl.
   git clone https://github.com/GitHamza0206/simba.git
  1. Installation von Abhängigkeiten: Wechseln Sie in das Projektverzeichnis und installieren Sie die erforderlichen Abhängigkeitspakete.
   cd simba

lokale Entwicklung

  1. 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 zuhttp://0.0.0.0:8000/docsZugang zur Swagger-Benutzeroberfläche (optional).

    • Führen Sie den Parser mit Celery aus:
     celery -A tasks.parsing_tasks worker --loglevel=info
    
    • Ändern Sie nach Bedarfconfig.yamlDokumentation:
     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}
    
  2. 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
      npm run dev
      Navigieren Sie dann zuhttp://localhost:5173Zugriff auf die Front-End-Schnittstelle.

Booten mit Docker (empfohlen)

  1. 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.yamlDatei 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.

Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Simba: ein Wissensmanagementsystem für die Organisation von Dokumenten, das sich nahtlos in jedes RAG-System integrieren lässt.
de_DEDeutsch