AI个人学习
和实操指南
讯飞绘镜

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

综合介绍

Simba是一个便携式知识管理系统(KMS),旨在与任何检索增强生成(RAG)系统无缝集成。该项目由GitHub用户GitHamza0206创建,提供了一种高效的知识管理解决方案,适用于各种应用场景。Simba的设计目标是简化知识管理流程,提高信息检索和生成的准确性和效率。通过集成RAG系统,Simba能够在处理复杂数据和生成内容时提供强大的支持。

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


 

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

 

功能列表

  • 知识管理:提供全面的知识管理功能,支持知识的存储、分类和检索。
  • RAG系统集成:与检索增强生成系统无缝集成,提升信息生成的准确性。
  • 便携性:设计为便携式系统,易于部署和使用。
  • 开源项目:作为开源项目,用户可以自由访问源代码并进行定制。
  • 高效检索:优化的信息检索功能,快速找到所需知识。
  • 用户友好界面:提供直观的用户界面,简化操作流程。

 

使用帮助

安装流程

  1. 克隆仓库:首先,使用Git命令克隆Simba项目的GitHub仓库。
   git clone https://github.com/GitHamza0206/simba.git
  1. 安装依赖:进入项目目录并安装所需的依赖包。
   cd simba

本地开发

  1. 后端设置
    • 进入后端目录:
     cd backend
    
    • 确保在操作系统中安装了Redis:
     redis-server
    
    • 设置环境变量:
     cp .env.example .env
    

    然后编辑.env文件,填入您的值:

     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
    
    • 安装依赖:
     poetry install
    poetry shell
    

    或者在Mac/Linux上:

     source .venv/bin/activate
    

    在Windows上:

     .venv\Scripts\activate
    
    • 运行后端服务:
     python main.py
    

    或者使用自动重载:

     uvicorn main:app --reload
    

    然后导航到http://0.0.0.0:8000/docs访问Swagger UI(可选)。

    • 使用Celery运行解析器:
     celery -A tasks.parsing_tasks worker --loglevel=info
    
    • 根据需要修改config.yaml文件:
     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. 前端设置
    • 确保在Simba根目录下: bash
      cd frontend
    • 安装依赖: bash
      npm install
    • 运行前端服务: bash
      npm run dev
      然后导航到http://localhost:5173访问前端界面。

使用Docker启动(推荐)

  1. 导航到Simba根目录:
   export OPENAI_API_KEY="" #(optional)
docker-compose up --build

项目结构

simba/
├── backend/              # 核心处理引擎
│   ├── api/              # FastAPI端点
│   ├── services/         # 文档处理逻辑
│   ├── tasks/            # Celery任务定义
│   └── models/           # Pydantic数据模型
├── frontend/             # 基于React的UI
│   ├── public/           # 静态资源
│   └── src/              # React组件
├── docker-compose.yml    # 开发环境
└── docker-compose.prod.yml # 生产环境设置

配置

config.yaml文件用于配置后端应用程序。您可以更改以下内容:

  • 嵌入模型
  • 向量存储
  • 分块
  • 检索
  • 功能
  • 解析器

有关更多信息,请导航到backend/README.md

未经允许不得转载:首席AI分享圈 » Simba:收纳文档的知识管理系统,无缝集成到任何RAG系统
zh_CN简体中文