LLM RAG
- other
Easy RAG scripts for a local, embedded, MCP-enabled knowledge store.
About
What is LLM RAG?
LLM RAG is a Retrieval Augmented Generation implementation built with LlamaIndex for document processing, Google Gemini for embeddings, and LanceDB for vector storage. It runs as a Python package and is intended for developers building RAG systems.
How to use LLM RAG?
Install dependencies using uv venv and uv pip install -e ., then set your Google API key in a .env file and allow direnv. Ingest documents with python -m llm_rag.ingest --source <path> --type [code|url|pdf]. Start the search server with python -m llm_rag.search --db <path_to_lancedb>.
Key features of LLM RAG
- Document ingestion from code, URLs, and PDFs
- Google Gemini embeddings for vector representation
- LanceDB vector storage for efficient retrieval
- Dedicated search server for querying indexed data
- Managed with uv and direnv for reproducible environments
Use cases of LLM RAG
- Ingesting code repositories to enable natural‑language search over source files
- Indexing website content for question‑answering over documentation or articles
- Processing PDF documents for searchable knowledge bases
- Running a local search server to query ingested data
FAQ from LLM RAG
What embedding model does LLM RAG use?
It uses Google Gemini for generating embeddings.
What vector database is used for storage?
LanceDB serves as the vector store for indexed documents.
How do I ingest a PDF document?
Run python -m llm_rag.ingest --source /path/to/pdf --type pdf.
How do I start the search server?
Use python -m llm_rag.search --db /path/to/lancedb.
What dependency manager does the project require?
The project uses uv for dependency management and direnv for environment variables.
Details
- Author
- binarybana
- GitHub stars
- 2
- Category
- other
- Repository
- binarybana/easyrag
LLM RAG
A RAG (Retrieval Augmented Generation) implementation using LlamaIndex for document processing, Gemini for embeddings, and LanceDB for vector storage.
Setup
This project uses uv for dependency management and direnv for environment management. To get started:
1. Install dependencies:
# Create and activate a new virtual environment
uv venv
source .venv/bin/activate
Install dependencies
uv pip install -e .
2. Set up environment:
# Create .env file with your Google API key
echo "GOOGLE_API_KEY=your_key_here" > .env
Allow direnv to load the environment
direnv allow
Usage
Data Ingestion
python -m llm_rag.ingest --source /path/to/source --type [code|url|pdf]
Search Server
```bash
python -m llm_rag.search --db /path/to/lancedb