Mantine Expert is an AI-powered chatbot that answers questions about the Mantine UI framework using Retrieval-Augmented Generation (RAG). It leverages LangChain, Ollama, and FAISS to ingest Mantine documentation and provide context-aware responses.
- RAG-powered chatbot for Mantine UI
- Runs locally using Ollama
- Ingests official Mantine documentation and guides
- Provides complete, runnable Mantine React code examples when possible
- Built with Streamlit for an interactive chat interface
- Reasonably powerful computer: ideally something with >= 16GB RAM.
- Ollama: Must be installed and running on your system.
- Python: Version 3.10 or higher.
- A Modern Browser: For the Streamlit web interface.
- LangChain: The core framework for orchestrating the RAG pipeline.
- Ollama: Used to run the local LLM and embedding models.
- codellama:7b: An LLM fine-tuned for code generation. It excels at both conversational responses and producing high-quality code. Pull locally by running (
ollama pull codellama:7b) - nomic-embed-text:latest: A powerful, open-source embedding model that is specifically used to convert text into numerical vectors (embeddings). Pull locally by running
ollama pull nomic-embed-text:latest - FAISS: An efficient library for similarity search, used here as the vector store for the Mantine documentation.
- Streamlit: A Python-based framework for creating the simple, yet powerful, web user interface.
-
Set up virtual environment
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Ingest Mantine documentation:
python ingestion.py
This will download and index Mantine documentation into FAISS for retrieval.
-
Run the chatbot app:
streamlit run app.py
Open the provided local URL in your browser to interact with the chatbot.
app.py– Streamlit chat UI for Mantine Expertcore.py– RAG chain setup and retrieval logicingestion.py– Script to ingest Mantine documentation into FAISSmantine_urls.py– List of Mantine documentation URLsconstants.py– Model and index configurationfaiss/– Directory for FAISS vector index files
See requirements.txt for all dependencies.
Mantine Expert uses LangChain to retrieve relevant documentation chunks from Mantine's official site, then generates answers using an Ollama-powered LLM. If code is requested, it attempts to provide complete, runnable Mantine React examples.
MIT