Introdução geral
O Simba é um sistema portátil de gerenciamento de conhecimento (KMS) projetado para se integrar perfeitamente a qualquer sistema RAG (Retrieval Augmented Generation). Criado pelo usuário do GitHub GitHamza0206, o projeto fornece uma solução eficiente de gerenciamento de conhecimento para uma variedade de cenários de aplicativos. O Simba foi projetado com o objetivo de simplificar o processo de gerenciamento de conhecimento e melhorar a precisão e a eficiência da recuperação e geração de informações. Ao se integrar com o sistema RAG, o Simba é capaz de fornecer um suporte poderoso para lidar com dados complexos e gerar conteúdo.
Lista de funções
- gestão do conhecimentoFornecimento de funcionalidade abrangente de gerenciamento de conhecimento para dar suporte ao armazenamento, à categorização e à recuperação de conhecimento.
- Integração de sistemas RAGIntegração perfeita com o sistema de geração de aprimoramento de recuperação para melhorar a precisão da geração de informações.
- portabilidadeSistema portátil: Projetado como um sistema portátil que é fácil de implantar e usar.
- projeto de código abertoComo um projeto de código aberto, os usuários podem acessar livremente o código-fonte e personalizá-lo.
- Recuperação eficienteRecuperação otimizada de informações para encontrar rapidamente o conhecimento de que você precisa.
- Interface amigávelInterface de usuário intuitiva: fornece uma interface de usuário intuitiva que simplifica o processo operacional.
Usando a Ajuda
Processo de instalação
- armazém de clones: Primeiro, clone o repositório GitHub do projeto Simba usando o comando Git.
git clone https://github.com/GitHamza0206/simba.git
- Instalação de dependênciasInstalação dos pacotes de dependência: Vá para o diretório do projeto e instale os pacotes de dependência necessários.
cd simba
desenvolvimento local
- Configurações de back-end::
- Vá para o diretório back-end:
cd backend
- Certifique-se de que o Redis esteja instalado em seu sistema operacional:
redis-server
- Configuração de variáveis de ambiente:
cp .env.example .env
Em seguida, edite o arquivo .env e preencha seus valores:
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
- Instale a dependência:
poetry install poetry shell
Ou no Mac/Linux:
source .venv/bin/activate
No Windows:
.venv\Scripts\activate
- Execute o serviço de back-end:
python main.py
Ou use o recarregamento automático:
uvicorn main:app --reload
Em seguida, navegue até
http://0.0.0.0:8000/docs
Acesso à interface do usuário do Swagger (opcional).- Execute o analisador usando o Celery:
celery -A tasks.parsing_tasks worker --loglevel=info
- Modificar conforme necessário
config.yaml
Documentação:
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}
- Configurações de front-end::
- Certifique-se de que ele esteja no diretório raiz do Simba:
bash
cd frontend
- Instale a dependência:
bash
npm install
- Execute o serviço de front-end:
bash
Em seguida, navegue até
npm run dev
http://localhost:5173
Acesse a interface de front-end.
- Certifique-se de que ele esteja no diretório raiz do Simba:
Inicialização com o Docker (recomendado)
- Navegue até o diretório raiz do Simba:
export OPENAI_API_KEY="" #(optional)
docker-compose up --build
Estrutura do projeto
simba/
├── backend/ # 核心处理引擎
│ ├── api/ # FastAPI端点
│ ├── services/ # 文档处理逻辑
│ ├── tasks/ # Celery任务定义
│ └── models/ # Pydantic数据模型
├── frontend/ # 基于React的UI
│ ├── public/ # 静态资源
│ └── src/ # React组件
├── docker-compose.yml # 开发环境
└── docker-compose.prod.yml # 生产环境设置
configurar
config.yaml
é usado para configurar o aplicativo back-end. Você pode alterar o seguinte:
- Modelos de incorporação
- armazenamento de vetores
- pedaço
- recuperar (dados)
- funcionalidade
- resolver
Para obter mais informações, navegue atébackend/README.md
.