Notex:一个开源 NotebookLM 替代方案的实现
Notex 是一个受 Google NotebookLM 启发的开源替代方案,旨在提供本地优先、数据不外泄的文档智能处理与知识管理体验。其核心是一个基于检索增强生成(RAG)技术的系统,支持 PDF、Word 等多种文档格式的上传解析,并通过 AI 提供内容问答、总结、思维导图及幻灯片生成等功能。 项目采用务实的技术栈,后端使用 Go 语言(Gin + SQLite)以实现单一二进制部署,前端为嵌入式原生 JavaScript 单页应用。AI 调用层通过 LangChainGo 统一管理,支持 OpenAI、Ollama 本地模型及 Google Gemini。其架构的关键创新点在于将 RAG 与高级视觉内容生成深度集成。 具体实现上,系统处理了中英文混合的文档分词与检索策略。对于视觉化功能,幻灯片生成采用两阶段流程:先由 LLM 生成包含叙事与布局的大纲,再调用图像模型为每页生成配图。信息图生成则利用 Prompt Engineering 将文本转化为结构化的视觉描述描述,驱动图像模型输出手绘风格插图。思维导图生成则通过特定提示词模板,直接输出可渲染的 Mermaid.js 代码。整个系统形成了从文档解析、索引、AI 生成到可视化输出的完整闭环,在保证隐私的前提下提供了丰富的文档处理能力。