Simba - Your Knowledge Management System
What is the project about?
Simba is an open-source, portable Knowledge Management System (KMS) designed to seamlessly integrate with any Retrieval-Augmented Generation (RAG) system. It provides a user-friendly interface and a modular architecture for managing and processing knowledge for AI applications.
What problem does it solve?
Simba simplifies the complex task of knowledge management for developers building AI solutions, particularly those using RAG systems. It removes the need to build knowledge management infrastructure from scratch, allowing developers to focus on core AI functionality.
What are the features of the project?
- Modular Architecture: Allows plugging in different vector stores, embedding models, chunkers, and parsers.
- Modern UI: Provides an intuitive interface to visualize and modify document chunks.
- Seamless Integration: Designed to easily integrate with any RAG-based system.
- Developer Focus: Simplifies knowledge management, freeing up developer time.
- Open Source & Extensible: Community-driven and allows for custom features and integrations.
What are the technologies used in the project?
- Backend: Python (FastAPI), Poetry, Redis, Celery, Langchain.
- Frontend: React, Node.js.
- Vector Stores: FAISS (with support for others planned).
- Embedding Models: Hugging Face models (e.g., BAAI/bge-base-en-v1.5), OpenAI embeddings.
- LLM Providers: OpenAI, Ollama.
- Optional: Docker, Langsmith.
What are the benefits of the project?
- Accelerated Development: Reduces development time for AI applications using RAG.
- Flexibility: Adaptable to various knowledge sources and AI models.
- Improved Knowledge Management: Provides a structured and visual way to manage knowledge.
- Community-Driven: Benefits from open-source contributions and improvements.
- Cost-Effective: Open-source and free to use.
What are the use cases of the project?
- Building chatbots and virtual assistants with access to specific knowledge bases.
- Creating question-answering systems that can retrieve information from documents.
- Developing AI-powered research tools.
- Enhancing existing RAG applications with a robust knowledge management layer.
- Any application that requires integrating a knowledge base with a large language model through RAG.
