Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

Simba: um sistema de gerenciamento de conhecimento para organizar documentos, perfeitamente integrado a qualquer sistema RAG.

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.

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


 

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

 

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

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

  1. 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/docsAcesso à interface do usuário do Swagger (opcional).

    • Execute o analisador usando o Celery:
     celery -A tasks.parsing_tasks worker --loglevel=info
    
    • Modificar conforme necessárioconfig.yamlDocumentaçã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}
    
  2. 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
      npm run dev
      Em seguida, navegue atéhttp://localhost:5173Acesse a interface de front-end.

Inicialização com o Docker (recomendado)

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

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Simba: um sistema de gerenciamento de conhecimento para organizar documentos, perfeitamente integrado a qualquer sistema RAG.
pt_BRPortuguês do Brasil