综合介绍
Simba是一个便携式知识管理系统(KMS),旨在与任何检索增强生成(RAG)系统无缝集成。该项目由GitHub用户GitHamza0206创建,提供了一种高效的知识管理解决方案,适用于各种应用场景。Simba的设计目标是简化知识管理流程,提高信息检索和生成的准确性和效率。通过集成RAG系统,Simba能够在处理复杂数据和生成内容时提供强大的支持。
功能列表
- 知识管理:提供全面的知识管理功能,支持知识的存储、分类和检索。
- RAG系统集成:与检索增强生成系统无缝集成,提升信息生成的准确性。
- 便携性:设计为便携式系统,易于部署和使用。
- 开源项目:作为开源项目,用户可以自由访问源代码并进行定制。
- 高效检索:优化的信息检索功能,快速找到所需知识。
- 用户友好界面:提供直观的用户界面,简化操作流程。
使用帮助
安装流程
- 克隆仓库:首先,使用Git命令克隆Simba项目的GitHub仓库。
git clone https://github.com/GitHamza0206/simba.git
- 安装依赖:进入项目目录并安装所需的依赖包。
cd simba
本地开发
- 后端设置:
- 进入后端目录:
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}
- 前端设置:
- 确保在Simba根目录下:
bash
cd frontend
- 安装依赖:
bash
npm install
- 运行前端服务:
bash
然后导航到
npm run dev
http://localhost:5173
访问前端界面。
- 确保在Simba根目录下:
使用Docker启动(推荐)
- 导航到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
。