# learning-rag-agent **Repository Path**: samhula/learning-rag-agent ## Basic Information - **Project Name**: learning-rag-agent - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-28 - **Last Updated**: 2026-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Lifelong Learning RAG Agent A Retrieval-Augmented Generation (RAG) system designed for continuous, lifelong learning. It ingests documents, stores knowledge in a graph database (Neo4j) and vector store (Qdrant), and answers queries using LLM-based synthesis with feedback-driven improvement over time. ## Architecture The system follows a pipeline architecture. Documents are parsed by **MinerU**, split into chunks, and embedded via **OpenAI** embeddings. Both the chunks and their embeddings are stored in **Qdrant** (vector store) while entities and their relationships are stored in **Neo4j** (graph database). This dual-storage approach enables both semantic similarity search and structured knowledge graph traversal. When a query arrives via the **Express** HTTP server, the system retrieves relevant context from both stores, synthesizes an answer using a configurable LLM, and logs the interaction. Users can submit feedback on answers, which is persisted for future fine-tuning. A web **Dashboard** provides a visual interface for managing the knowledge base, viewing config, and monitoring health. ## Quick Start ### Prerequisites - **Node.js 24+** - **Docker** (required for MinerU and Qdrant services) - A running Neo4j instance (local or Docker) ### Installation ```bash git clone cd lifelong-learning-rag-agent npm install cp .env.example .env # Edit .env with your API keys and service endpoints ``` ### Running ```bash # Command-line interface npm run cli # Web dashboard npm run dashboard ``` ## Configuration Configuration is managed through environment variables in `.env` (see `.env.example`). Additionally, runtime configuration can be modified via the **Dashboard Config tab**, which exposes the same settings through a UI and persists changes to a local config store. ## API Reference | Endpoint | Method | Description | |---|---|---| | `/api/query` | POST | Submit a query and receive a synthesized answer | | `/api/feedback` | POST | Submit feedback on a previous answer | | `/api/qa/create` | POST | Manually create a Q&A pair | | `/api/qa/update` | POST | Update an existing Q&A pair | | `/api/qa/delete` | POST | Delete a Q&A pair | | `/api/qa` | GET | List all stored Q&A pairs | | `/api/config` | POST | Update runtime configuration | | `/api/health` | GET | Health check endpoint | ## Docker Deployment ```bash docker-compose up ``` The `docker-compose.yml` file orchestrates all required services: the app server, Neo4j, Qdrant, and MinerU. ## License MIT