Skip to content

Releases: RMA-MUN/RAGNotebook

v2.2.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 21 Jun 08:56

v2.2.0


发布日期:2026年6月21日

🎉 功能优化

🧠 RAG 架构优化

  • 路由层 RAG 前置管线:实现基于相关度评分的智能路由(score > 0.5 走 RAG 管线)
  • 实时思考事件推送:通过 asyncio.Queue 实现 RAG 思考过程实时推送到前端
  • 向量检索优化:新增 compute_route_score 快速相关度评分方法(<10ms)
  • 重排序模型切换:从默认模型切换为 BAAI/bge-reranker-v2-m3 (首次启动会自动检测并下载模型)

📝 笔记能力增强

  • 笔记模板:后端新增模板 Model、Service、Router,前端 NoteEditor 支持模板选择与应用
  • 笔记置顶:新增 is_pinned 字段,支持置顶排序,前后端完整实现
  • 批量操作:支持笔记多选模式、批量删除、批量导出 ZIP、批量更新分类
  • 分类管理:笔记分类统计改为动态查询,新增删除分类接口,前端分类管理弹窗
  • 代码高亮:前端笔记编辑器支持代码语法高亮
  • 表格编辑:编辑器表格插入可视化网格与行列操作

👤 用户系统

  • 用户数据模型:新增用户 Pydantic Schema 定义
  • 认证重构:重构用户认证工具函数与用户路由接口

🎨 前端体验

  • Toast 通知:引入 sonner 组件,统一错误提示体验
  • 思考过程优化:思考内容改为累加显示,支持换行展示

⚡ 性能优化

  • RAG 路由决策:快速相关度评分避免不必要的 RAG 检索,提升响应速度
  • Agent Prompt 优化:移除 rag_summary_tools 依赖,改为路由层注入上下文,减少工具调用开销

🔧 核心重构

🧠 RAG 架构调整

  • 移除 Agent 层的 rag_summary_tools 工具,RAG 检索移至路由层前置处理
  • get_agent_stream_response 新增 rag_context 参数,支持外部注入检索结果
  • System Prompt 动态切换:有 RAG 上下文时注入参考资料,无则使用默认 Prompt

👤 用户认证重构

  • 重构用户认证工具函数,提升代码可维护性
  • 移除 DjangoUserService 旧服务目录

🐛 Bug 修复

  • 修复 Redis 连接配置缺失导致的报错
  • 修复 shutdown 时 SQLAlchemy 引擎未释放导致的 aiomysql 连接泄漏
  • 修复 Turndown 转义与标题滚动问题
  • 补充 NoteEditor 缺失的状态变量声明,修复交互问题
  • 修复会话列表排序,改为按更新时间降序排列
  • 优化前端思考过程展示,解决内容覆盖问题

v2.1.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 08 Jun 07:43

v2.1.0


发布日期:2026年6月8日

🎉 重大更新

🎨 前端全面重构

  • 从 Vue 3 + Vant 技术栈整体迁移至 React 19 + TypeScript + Tailwind CSS + Radix UI
  • 重新设计组件体系与交互逻辑,带来更流畅的用户体验和更强的可维护性
  • 原Vue3前端保留为分支 vue3-frontend

🚀 v2.1.0 新功能

📝 笔记能力增强

  • 笔记创建与更新支持category分类和tags标签字段,路由等待初始化完成后响应
  • 后端新增笔记Markdown下载接口,完美支持中文文件名,前端配套一键下载按钮

⚙️ 后台初始化管理

  • 新增BackgroundInitManager单例管理器,后台异步初始化chat/embed/vision等重型模型资源
  • 应用启动时间大幅缩短,无需等待所有模型加载完成即可启动FastAPI服务器

🛠️ Django 服务强化

  • 应用启动时自动检测并执行数据库迁移,自动创建admin测试用户,避免用户因不熟悉DjangoORM而无法迁移数据库
  • 数据库引擎支持短名称配置与环境变量注入
  • 添加Django管理命令,注册serializer手机号字段允许为空

⚡ 性能优化

  • Agent SSE 流式响应:采用15字符/0.03s的chunk化输出策略,加入handle_parsing_errors异常处理,大幅提升流式输出稳定性
  • DashScope 嵌入API:优化为批量调用模式(batch_size=10),失败时主动抛出异常而非静默失败,便于问题排查
  • Redis 连接池:支持event loop切换与连接复用,降低连接开销
  • RAG 检索调优:将文档分块大小chunk_size从200提升至1000,Agent Prompt强化优先检索原则

🔧 核心重构

🧠 模型与服务惰性加载

  • 实现_LazyEmbedding延迟加载类,解决后台初始化时序冲突问题
  • Vision服务改为模型延迟初始化,首次调用时才完成解析加载
  • RAG全链路组件(reorder_service、vector_store、document_handler、rag_service)均改为惰性加载,移除模块级直接导入
  • 业务服务层(note_service、review_service)的模型依赖统一通过init_manager获取,彻底解耦模块依赖

🗄️ 配置体系优化

  • Redis连接参数全部从环境变量读取,移除所有硬编码配置,提升部署安全性与灵活性

🐛 Bug 修复

  • 修复JWT黑名单Redis检查失败时返回500错误的问题
  • 修正Chroma语义搜索filter语法错误,解决检索条件不生效问题
  • 修复Python callable类型注解错误
  • 添加drf-spectacular依赖

🧹 项目维护

  • 正式添加MIT开源许可证,明确开源协议
  • 关闭数据库SQL日志输出,减少不必要的日志冗余
  • 更新前端界面截图,修正文档内容错误
  • 优化后端依赖配置:限定python-magic-bin平台范围、配置PyTorch CUDA索引、完善包发现设置

⚠️ 升级注意

  1. 前端技术栈已全面迁移至React 19,需重新安装依赖:npm install
  2. 新增数据库字段与配置项,Django应用启动时会自动执行迁移,请留意控制台输出
  3. Redis连接参数需通过环境变量配置,原硬编码配置已失效
  4. 后端依赖已更新,建议使用uv sync重新同步依赖环境

v2.0.1

Choose a tag to compare

@RMA-MUN RMA-MUN released this 26 May 10:44

v2.0.1


发布日期:2026年5月26日

🐛 问题修复

  • 修复DashScope视觉模型错误处理,修正默认的视觉模型配置
  • 修复阿里云百炼平台嵌入模型 KeyError 的问题
  • 修复每日回顾页面无法使用回顾问题的bug

v2.0.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 24 May 05:49
4b38c0e

RAG NoteBook v2.0.0


发布日期:2026年5月24日

📖 项目变迁

本项目最初是一个基础 RAG 对话系统——FastAPI + LangChain + ChromaDB,文档上传 → 检索 → 问答,纯技术演示。

但我逐渐意识到:一个没有场景的技术 demo,是不够的。

在做 RAG 的过程中,我发现如果把笔记作为RAG的知识库,那么我们的RAG是不是就会随着我们的学习、记笔记,而变得聪明?。于是我们决定在 RAG 引擎之上,围绕这个场景构建完整的智能笔记助手。

RAG 始终是整个系统的核心引擎。 我们将第一阶段的基础 RAG 代码永久保留为 base-rag 分支,与 master 独立演进。需要纯 RAG 服务的同学,切过去即可使用。


🚀 v2.0.0 新特性

📝 笔记管理

  • Markdown 编辑器(bytemd),支持新建/编辑/删除/分类筛选
  • LLM 自动标签分类(工作/学习/生活/项目),保存笔记后由LLML后台自动生成
  • 基于向量嵌入的语义搜索

🔄 间隔重复回顾

  • 艾宾浩斯遗忘曲线算法:1/2/4/7/15/30 天
  • 每日待回顾卡片,一键标记完成

✍️ AI 写作辅助

  • 联机补全:打字停顿后模型实时预测补全,Tab 键采纳,像在IDE里写代码一样记笔记
  • AI 助手:摘要生成、基于笔记库和知识库的RAG检索,SSE 流式输出
  • 跨源关联推荐:编辑笔记时,从笔记库和知识库双向检索 Top 3 相关文档

🤖 Agent 工具扩展

  • 新增 6 个笔记相关 Agent 工具:搜索笔记、笔记统计、今日回顾、标记回顾、创建笔记、关联推荐
  • 对话中可直接通过Agent管理笔记,无需手动切换页面

🎨 前端重构

  • 全新 UI 设计系统:Noto Serif/Sans 字体,温润色系,双主题切换
  • 底部导航重构,新增笔记/回顾主入口
  • MarkdownEditor、InlineCompletion、RelatedNotes 等组件化

🔧 后端基础设施

  • 笔记 & 回顾数据库模型(MySQL + ChromaDB 双写同步)
  • 笔记 CRUD 服务 + 向量索引自动同步
  • 8 个提示词模板(自动标签、联机补全、写作助手、回顾提问等)

📦 分支说明

分支 说明
master 当前主分支,RAG NoteBook 智能笔记助手
base-rag 基础 RAG 服务(原 master 快照),开箱即用

⚠️ 升级注意

  • 新增 notes / review_records 数据表,需执行数据库迁移(FastAPI应用启动时会自动生成,注意检查控制台输出)
  • 前端新增 bytemd、highlight.js、dompurify 等依赖,需 npm install

v1.4.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 16 May 05:01

LangChain-RAG-FastAPI-Service v1.4.0

发布日期:2026-05-16

✨ 新增特性

  • SSE 实时推送 RAG 思考过程 — Agent 推理中间步骤通过 ContextVar + asyncio.create_task + 队列实时推送到前端,支持流式展示思考链
  • 前端思考过程面板 — 用户界面新增思考过程可视化组件,可实时查看 RAG 各阶段状态
  • 重排序重构为两阶段 — 拆分为计算前/后两个阶段,返回详细打分字段,便于前端展示排序依据
  • 统一 SSE 事件模型 — 新增 SSEEvent dataclass + to_sse() 方法,统一事件序列化
  • 测试用户登录 — 登录接口对测试用户特殊处理,返回正确 token 及虚假个人信息,不写入数据库,方便演示
  • PDF 解析引擎升级 — 使用 LangChain UnstructuredPDFLoader 替换 PyPDFLoader,提升复杂 PDF 解析兼容性
  • "关于我们"页面优化 — 优化展示效果,支持一键跳转项目 GitHub

🏗️ 架构调整

  • 向量库上传流程重构handle_add_vector_multiple_stream 拆分为 9 个 SSE 辅助方法 + 3 个阶段方法,主函数从 275 行压缩至 44 行,消除 8 处重复 yield
  • MD5 操作抽取 — 将 MD5 文件操作从 VectorStoreService 转移到 MD5Store 类,消除 5 处重复文件操作代码
  • 清理废弃模型 — 移除已被 SSEEvent 替代的 UploadProgress Pydantic 模型和 SliceResult 类,减少技术债务

🐛 问题修复

  • 修复 Vite proxy 误匹配导致刷新 /knowledgebase 路由时出现 404 的问题

📦 新增依赖

  • 导出 requirements.txt(从 pyproject.toml 生成),方便习惯使用 pip 的用户安装依赖

📚 文档

  • 新增知识库前端界面展示截图
  • 增加 Django ORM 迁移指令
  • 修复文档中错误的路由

欢迎提交 Issue & PR 参与项目共建

v1.3.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 10 May 07:27
3805ba8

LangChain-RAG-FastAPI-Service v1.3.0

✨ 新增特性

  • 精细化向量数据库数据管理,新增文档原始名称、切片数量、切片详情等字段存储,适配前端可视化展示需求
  • 新增向量数据库完整CRUD接口,支持前端可视化直接修改向量库内容
  • 多文档上传向量库对接 SSE 实现实时进度推送;针对 Chroma(SQLite) 不支持并发写入问题,采用「线程池并发切分文档 + 单线程串行入库」方案,最大化上传效率
  • 新增「关于我们」页面,前端可一键跳转项目 GitHub,方便用户反馈问题、提交建议
  • 支持 Ollama + 阿里云百炼 双平台 LLM / Embedding 模型,通过修改 .env 配置文件即可快速切换模型

🏗️ 架构调整

  • 拆分 vector_store 模块:对外接口保持不变,底层逻辑拆分为独立类,解决原文件近900行过于臃肿、难以维护的问题
  • 重构路由分层:将原RAG对话、向量库管理接口拆分,新增 knowledge_routerknowledge_service,分离路由与业务逻辑,优化项目结构

🐛 问题修复

  • 修复 Unrecognized model, should have a model_type key in its config.json. 报错
    新增 config.json 自动查找函数,解决模型目录不匹配、自动下载后路径异常导致的模型识别失败问题

📦 新增依赖

  • FastAPI 端新增 rank_bm25 依赖,解决使用 user_id 隔离用户知识库时,BM25检索器底层依赖缺失问题

发布日期:2026-05-10 | 欢迎提交 Issue & PR 参与项目共建

v1.2.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 30 Apr 11:57

LangChain-RAG-FastAPI-Service v1.2.0

✨ 新增特性

  • 支持基于SSE + yield生成器的流式对话输出
  • 新增LangSmith全链路监控与调用追踪能力
  • 扩展支持pdf、txt、markdown、ppt、docs多格式文档上传至向量数据库

⚡ 核心优化

  • 文档上传至向量数据库时,使用余弦相似度进行语义切割,避免检索时出现语义不完整的情况
  • RAG全链路升级:HYDE语义前置优化 + BM25+向量检索动态权重融合 + Cross Encoder重排序
  • 多文档批量处理 (多文档上传至向量数据库、多文档总结) 新增线程池并发支持,大幅降低任务耗时
  • 重排序模型禁用梯度运算,显著提升推理性能

🐛 问题修复

  • 修复asyncio is not defined运行时异常,提升服务稳定性

发布日期:2026-04-30 | 欢迎提交Issue & PR参与项目共建

v1.1.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 30 Mar 13:48

LangChain-RAG-FastAPI-Service v1.1.0

📝 更新内容

  • 优化RAG检索召回内容质量
  • 升级前端交互体验
  • 新增BM25关键词检索 + 余弦相似度(Cosine Similarity) 融合算法,实现高精度RAG检索
  • 集成Hugging Face Qwen3-reranker:0.6b重排序模型,结合sentence-transformers实现Cross Encoder检索结果重排
  • 优化用户注册及个人信息修改交互流程

🐛 问题修复

  • 修复模型回复过程中出现无限循环检索的异常问题
  • 修复模型生成回复内容被异常截断的问题
  • 修复服务端用户注册功能异常问题
  • 修复用户个人信息无法修改的功能缺陷

🤝 贡献指南

欢迎提交 Issue 与 Pull Request 参与项目共建!


发布日期:2026-03-30

v1.0.0

Choose a tag to compare

@RMA-MUN RMA-MUN released this 24 Mar 13:19

LangChain-RAG-FastAPI-Service v1.0.0

🚀 发布概述

正式发布企业级智能对话系统 v1.0.0 版本!这是一个基于 RAG(检索增强生成)技术构建的智能问答服务,支持文档上传、智能检索和精准回答。

✨ 核心功能

  • 智能问答 - 基于 RAG 技术,结合文档检索和大语言模型,提供精准的问答体验
  • 会话持久化 - 使用 MySQL 存储会话历史,支持长期保存和回溯
  • 文档管理 - 支持 TXT 和 PDF 文件上传、解析和智能检索
  • 多语言支持 - 集成 i18n,支持中英文界面切换
  • 微服务架构 - 分离的用户服务和对话服务,易于扩展和维护

🛠️ 技术特性

  • 高性能异步 API - 基于 FastAPI 框架,提供毫秒级响应速度
  • 流式响应 - 使用 SSE 技术实现 AI 回答的实时流式输出
  • 向量数据库 - 集成 ChromaDB,实现高效的文档检索
  • JWT 认证 - 安全的用户身份验证机制
  • 现代化前端 - Vue 3 + Vite,支持移动端友好界面

📋 系统架构

  • 后端 - FastAPI + LangChain + ChromaDB + MySQL + Redis
  • 前端 - Vue 3 + Vite + Pinia + Vue Router
  • 用户服务 - Django + JWT

🚀 快速开始

📖 文档

🔧 环境要求

  • Python 3.12+
  • Node.js 16+
  • MySQL 8.0+
  • Redis 6.0+

📝 更新内容

  • ✨ 集成 RAG 核心功能,支持文档检索和智能问答
  • 📱 完成 Vue 3 前端开发,支持移动端访问
  • 🔐 实现 JWT 用户认证和权限控制
  • 💾 会话持久化存储,支持历史记录回溯
  • 🌐 多语言支持,中英文界面切换
  • ⚡ 优化系统性能,提升响应速度
  • 🛡️ 完善的错误处理和日志系统

🔮 未来规划

  • 📚 支持更多文档格式(Word、Excel 等)
  • 🎨 优化 UI/UX 设计,提升用户体验
  • 🤖 集成更多大语言模型,提供多样化服务
  • 📊 添加数据分析和统计功能
  • 🔧 增强系统可配置性,支持更多自定义选项

🤝 贡献

欢迎提交 Issue 和 Pull Request!


发布日期: 2026-03-24
项目地址: https://github.com/RMA-MUN/LangChain-RAG-FastAPI-Service

RAG and FastAPI ChatService

Pre-release

Choose a tag to compare

@RMA-MUN RMA-MUN released this 12 Mar 11:45

🎉 LangChain-RAG-FastAPI-Service v0.1.0 (Pre-release)

这是项目的首个早期预览版本,核心能力已完成基础落地,RAG 检索增强生成、Agent 智能体工具调用、JWT 统一用户认证体系均已可正常跑通;当前前端交互界面与部分 API 细节仍在持续优化调整中, 欢迎大家提供建议和反馈。


✨ 本版本已实现的核心功能

  • 🏗️ 微服务架构雏形:Django 用户管理服务与 FastAPI RAG/Agent 核心服务解耦拆分,双服务独立数据库部署
  • 🤖 Agent 智能体能力:基于 LangChain 实现智能体工具调用,支持灵活扩展多场景自动化处理能力
  • 📚 基础 RAG 检索能力:集成 LangChain + ChromaDB 向量数据库,支持 TXT/PDF 文档上传解析,可基于专属文档内容完成精准智能问答
  • 💬 智能对话与持久化记忆:完整支持上下文多轮对话,会话历史通过 MySQL 实现长期持久化存储与回溯
  • 🔐 JWT 统一身份认证:配套完整的用户注册、登录体系,基于 JWT 实现无状态接口权限校验,保障接口访问安全
  • 💚 Vue 3 前端交互界面:轻量化对话交互界面已完成基础搭建,界面体验与功能细节仍在优化完善中

💡 欢迎交流反馈

如果您在使用过程中遇到 Bug、有功能建议,或是想参与项目,欢迎随时提交 Issue:
GitHub Issues 入口

感谢您的关注与支持,项目会持续迭代优化,不断完善能力与体验!