RMA-MUN/RAGNotebook
基于LangChain、FastAPI和React的RAG项目,主分支为基于RAG的智能笔记助手,base-rag分支为开箱即用的基础RAG项目供学习使用
What it solves
RAG NoteBook is designed to prevent personal knowledge from becoming fragmented "islands" or being forgotten after they are written. It transforms a traditional note-taking app into an active knowledge management system by integrating AI-driven retrieval and memory reinforcement.
How it works
The system combines a Markdown editor with a RAG (Retrieval-Augmented Generation) engine. It uses FastAPI and LangChain to manage notes and documents. When a user writes or queries, the system employs vector embeddings (via ChromaDB) and a re-ranking model (BGE-reranker) to retrieve the most relevant fragments from both the user's notes and uploaded knowledge base files (PDF, DOCX, PPTX, etc.). It also implements the Ebbinghaus forgetting curve algorithm to schedule spaced repetition reviews of notes.
Who it’s for
- Individuals seeking an AI-powered personal knowledge base to manage and recall information.
- Developers looking for a practical implementation of RAG, Agentic workflows, and vector databases in a full-stack application.
- Job seekers wanting a reference project for RAG-based software development.
Highlights
- AI Writing Suite: Real-time inline completion, expansion, summarization, and SSE streaming output.
- Intelligent Organization: Automatic LLM-generated tags and categories for notes to eliminate manual sorting.
- Hybrid Retrieval: Combines vector-based semantic search with a knowledge base that supports multiple file formats.
- Memory Reinforcement: Built-in spaced repetition system based on the Ebbinghaus forgetting curve.
- Contextual Recommendations: Bi-directional retrieval of related documents from both the note library and knowledge base while editing.