simba

simba

Portable KMS (knowledge management system) designed to integrate seamlessly with any Retrieval-Augmented Generation (RAG) system

Stars: 1021

Visit
 screenshot

Simba is an open source, portable Knowledge Management System (KMS) designed to seamlessly integrate with any Retrieval-Augmented Generation (RAG) system. It features a modern UI and modular architecture, allowing developers to focus on building advanced AI solutions without the complexities of knowledge management. Simba offers a user-friendly interface to visualize and modify document chunks, supports various vector stores and embedding models, and simplifies knowledge management for developers. It is community-driven, extensible, and aims to enhance AI functionality by providing a seamless integration with RAG-based systems.

README:

Simba - Your Knowledge Management System

Simba Logo

Connect your knowledge to any RAG system

Simba  - Connect your Knowledge into any RAG based system | Product Hunt

License Stars Forks Issues Pull Requests PyPI Downloads

Twitter Follow

Simba is an open source, portable KMS (knowledge management system) designed to integrate seamlessly with any Retrieval-Augmented Generation (RAG) system. With a modern UI and modular architecture, Simba allows developers to focus on building advanced AI solutions without worrying about the complexities of knowledge management.

Table of Contents

πŸš€ Features

  • 🧩 Modular Architecture: Plug in various vector stores, embedding models, chunkers, and parsers.
  • πŸ–₯️ Modern UI: Intuitive user interface to visualize and modify every document chunk.
  • πŸ”— Seamless Integration: Easily integrates with any RAG-based system.
  • πŸ‘¨β€πŸ’» Developer Focus: Simplifies knowledge management so you can concentrate on building core AI functionality.
  • πŸ“¦ Open Source & Extensible: Community-driven, with room for custom features and integrations.

πŸŽ₯ Demo

Watch the demo

πŸ› οΈ Getting Started

πŸ“‹ Prerequisites

Before you begin, ensure you have met the following requirements:

πŸ“¦ Installation

install simba-core:

pip install simba-core

Clone the repository and install dependencies:

git clone https://github.com/GitHamza0206/simba.git
cd simba
poetry config virtualenvs.in-project true
poetry install
source .venv/bin/activate 

πŸ”‘ Configuration

Create a .env file in the root directory:

OPENAI_API_KEY=your_openai_api_key
REDIS_HOST=localhost
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/1

create or update config.yaml file in the root directory:

# config.yaml

project:
  name: "Simba"
  version: "1.0.0"
  api_version: "/api/v1"

paths:
  base_dir: null  # Will be set programmatically
  faiss_index_dir: "vector_stores/faiss_index"
  vector_store_dir: "vector_stores"

llm:
  provider: "openai"
  model_name: "gpt-4o-mini"
  temperature: 0.0
  max_tokens: null
  streaming: true
  additional_params: {}

embedding:
  provider: "huggingface"
  model_name: "BAAI/bge-base-en-v1.5"
  device: "mps"  # Changed from mps to cpu for container compatibility
  additional_params: {}

vector_store:
  provider: "faiss"
  collection_name: "simba_collection"

  additional_params: {}

chunking:
  chunk_size: 512
  chunk_overlap: 200

retrieval:
  k: 5

celery: 
  broker_url: ${CELERY_BROKER_URL:-redis://redis:6379/0}
  result_backend: ${CELERY_RESULT_BACKEND:-redis://redis:6379/1}

πŸš€ Run Simba

Run the server:

simba server

Run the frontend:

simba front 

Run the parsers:

simba parsers

🐳 Docker Deployment

Run on Specific Hardware

For CPU:

DEVICE=cpu make up

For NVIDIA GPU with Ollama:

DEVICE=cuda make up

For Apple Silicon:

DEVICE=mps make up

Run with Ollama service (for CPU/MPS):

DEVICE=mps ENABLE_OLLAMA=true make up

Run in background mode:

# All commands run in detached mode by default

For detailed Docker instructions, see the Docker deployment guide.

🏁 Roadmap

  • [ ] πŸ’» pip install simba-core
  • [ ] πŸ”§ pip install simba-sdk
  • [ ] 🌐 www.simba-docs.com
  • [ ] πŸ”’ Adding Auth & access management
  • [ ] πŸ•ΈοΈ Adding web scraping
  • [ ] ☁️ Pulling data from Azure / AWS / GCP
  • [ ] πŸ“š More parsers and chunkers available
  • [ ] 🎨 Better UX/UI

🀝 Contributing

Contributions are welcome! If you'd like to contribute to Simba, please follow these steps:

  • Fork the repository.

  • Create a new branch for your feature or bug fix.

  • Commit your changes with clear messages.

  • Open a pull request describing your changes.

πŸ’¬ Support & Contact

For support or inquiries, please open an issue πŸ“Œ on GitHub or contact repo owner at Hamza Zerouali

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for simba

Similar Open Source Tools

For similar tasks

For similar jobs