Do you ever find that managing vast amounts of data and knowledge for your AI projects is more complex than it needs to be? Meet Simba – an open source, portable Knowledge Management System (KMS) designed to integrate seamlessly with any Retrieval-Augmented Generation (RAG) system. With its modern UI, modular architecture, and developer-friendly approach, Simba allows you to focus on building cutting-edge AI solutions while it takes care of the underlying knowledge management challenges.
What is Simba?
Simba is a lightweight yet powerful KMS tailored for AI projects that rely on quick and relevant retrieval of document chunks. By abstracting the complexities of data processing—such as parsing, chunking, and embedding—Simba lets you integrate a robust knowledge base directly into your RAG system with minimal fuss.
Key Features
Modular Architecture
- Plug-and-Play Components: Easily swap in various vector stores (like FAISS), embedding models (from Hugging Face or OpenAI), and parsers.
- Configurable Processing: Adjust chunk sizes, overlaps, and retrieval parameters to fine-tune the performance of your system.
Modern and Intuitive UI
- Visualize Your Data: Interactively view and modify document chunks, ensuring that your knowledge base remains accurate and effective.
- Seamless Integration: Designed to work with any RAG system, Simba fetches the most relevant information for your AI queries.
Developer-Centric Design
- Straightforward Setup: Detailed installation guides and configuration files help you get started quickly—whether you're running locally or using Docker.
- Extensible and Open Source: As a community-driven project, Simba is open for contributions and customizable to meet your specific needs.
Behind the Scenes: The Tech Stack
Simba leverages modern technologies to deliver a smooth and scalable experience:
- Backend: Powered by Python 3.11+ with FastAPI, Simba uses Celery for handling heavy tasks like document parsing, and Redis as both a broker and result backend.
- Frontend: A React-based user interface provides an engaging and responsive way to manage and inspect your data.
- Deployment: With support for local setups and Docker-based deployments, Simba adapts to both development and production environments seamlessly.
Getting Started with Simba
Here’s a quick guide to get you up and running:
-
Clone the Repository:
git clone https://github.com/GitHamza0206/simba.git cd simba
-
Backend Setup:
-
Ensure you have Redis installed and start the Redis server:
redis-server
-
- Configure your environment:
```bash
cd backend
cp .env.example .env
# Edit the .env file with your API keys and settings (e.g., OPENAI_API_KEY)
```
- Install dependencies and launch the backend:
```bash
poetry install
poetry shell
python main.py # or use uvicorn main:app --reload for auto-reload
```
- Optionally, access the Swagger UI at `http://0.0.0.0:8000/docs` for API testing.
-
Run the Parser Worker:
celery -A tasks.parsing_tasks worker --loglevel=info
-
Frontend Setup:
cd ../frontend npm install npm run dev
Open your browser at
http://localhost:5173
to explore the UI. -
Optional Docker Deployment:
export OPENAI_API_KEY="your_api_key_here" docker-compose up --build
Roadmap and Future Enhancements
Simba is continuously evolving. Here’s what’s coming next:
- Enhanced Integration: Future releases will turn Simba into an importable Python package for even easier incorporation into your RAG systems.
- Expanded Component Support: More parsers, vector stores, embedding models, and retrieval enhancements are on the way.
- Production-Grade Features: Look forward to role-based access control, a CI/CD pipeline, and other improvements to support larger-scale deployments.
Join the Simba Community
Simba is built for developers by developers. If you’re passionate about AI and knowledge management:
- Contribute: Fork the repository on GitHub, build new features, fix bugs, and help shape the future of Simba.
- Engage: Open issues, share your experiences, and contribute to discussions on new ideas and improvements.
Conclusion
Simba empowers you to bring your knowledge into your AI effortlessly. Whether you’re developing a state-of-the-art RAG system or looking to optimize your document processing pipeline, Simba’s modular and open-source approach provides a robust foundation to build upon.
Give Simba a try today and transform the way you manage and leverage your data for AI!
Happy coding and see you on GitHub!
Top comments (0)