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:
servidor redis
- 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= #(opcional - para rastreamento do langsmith) LANGCHAIN_API_KEY="" #(opcional - para rastreamento do langsmith) REDIS_HOST=redis CELERY_BROKER_URL=redis://redis:6379/0 CELERY_RESULT_BACKEND=redis://redis:6379/1
- Instale a dependência:
instalação de poesia shell de poesia
Ou no Mac/Linux:
fonte .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:
projeto: nome: "Simba nome: "Simba" versão: "1.0.0" api_version: "/api/v1" base_dir: null # Será definido de forma programática. base_dir: null # Será definido de forma programática markdown_dir: "markdown" faiss_index_dir: "vector_stores/faiss_index" vector_store_dir: "vector_stores" vector_store_dir: "vector_stores" llm. provider: "openai" #or ollama (vllm em breve) model_name: "gpt-4o" #or ollama nome do modelo temperatura: 0,0 max_tokens: null streaming: true additional_params: {} embedding. provedor: "huggingface" 1TP5Para openai model_name: "BAAI/bge-base-en-v1.5" #ou qualquer nome de modelo HF device: "cpu" # mps,cuda,cpu additional_params: {} vector_store: "cpu" # mps,cuda,cpu additional_params: {} nome_da_coleção: "migi_store" nome da coleção: "migi_collection" additional_params: {} collection_name: "migi_collection" additional_params: {} chunk_size: 512 chunk_overlap: 200 recuperação: k: 5 1TP5Número de blocos a serem recuperados features : k: 5 1TP5Número de blocos a serem recuperados enable_parsers: true # Defina como false para desativar a análise enable_parsers: true # Defina como false para desativar a análise 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="" #(opcional)
docker-compose up --build
Estrutura do projeto
simba/
├── backend/ # Core Processing Engine
│ ├── api/ # FastAPI endpoints
│ ├─── serviços/ Lógica de processamento de documentos #
│ ├─── tarefas/ # Definições de tarefas do Celery
│ └─── modelos/ # Modelo de dados Pydantic
├─── frontend/ # UI baseada em React
│ ├─── público/ # Recursos estáticos
│ └─── src/ # Componentes React
Ambiente de desenvolvimento do # ├─── docker-compose.yml
Configurações do ambiente de produção do # └── 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
.