open-notebook: 支持 15+ AI 提供商的开源 Notebook LM 替代方案 — 自托管,28,000 星标 — 设置指南 2026
open-notebook(28,200 GitHub 星标)是 Google NotebookLM 的开源替代方案,支持 15+ AI 提供商。自托管 RAG 知识库,支持多模态音频剧集。包含设置指南、提供商对比和真实基准测试。
- ⭐ 28200
- 更新于 2026-06-08

open-notebook — 你的自托管 RAG 知识库,支持多模态音频
Introduction #
Google NotebookLM 在推出数月内达到 100 万周活跃用户,证明了每个人都需要一个个人 AI 研究助手。但你的文档敏感怎么办?想在自有基础设施上运行怎么办?open-notebook(28,200 GitHub 星标)是开源答案——一个自托管的 RAG 知识库,可以摄取文档、带引用回答问题,并从来源生成 AI 驱动的音频"播客"剧集。与 NotebookLM 不同,它支持 15+ AI 提供商,包括 Claude、GPT-4、通过 Ollama 的本地模型和 OpenRouter。在文档 AI 至关重要但隐私重要的时代,open-notebook 两者兼得。
What Is open-notebook? #
open-notebook 是一个自托管 RAG(检索增强生成)知识库,将你的文档转化为交互式的 AI 驱动研究工作区。把它看作文档问答系统和 AI 播客生成器的交集。
核心能力:
- 文档摄取 — 上传 PDF、markdown、文本文件、URL 等
- 基于 RAG 的问答 — 询问关于文档的问题;获取带来源引用的答案
- 音频剧集 — 生成 AI 驱动的音频摘要,听起来像两个主持人之间的对话
- 15+ AI 提供商 — Claude、GPT-4、Gemini、通过 Ollama/vLLM 的本地模型、OpenRouter 等
- 自托管 — 在你自己的服务器、GPU、隐私下运行
该项目使用 Next.js(前端)和 Python FastAPI(后端)构建。使用向量数据库进行文档嵌入和检索,具有现代化的 Web 界面用于文档管理和对话。
How open-notebook Works #
open-notebook 通过三阶段管线操作:
阶段 1:文档摄取 #
原始文档 → 分块 → 嵌入 → 向量存储
- 上传 — 以多种格式导入文档(PDF、MD、TXT、DOCX、URL)
- 分块 — 使用可配置策略将文档拆分为语义分块
- 嵌入 — 使用配置的 AI 提供商为每个分块生成向量嵌入
- 存储 — 将嵌入存储在向量数据库中(Qdrant、Weaviate 或 Supabase/pgvector)
阶段 2:问答 #
用户问题 → 嵌入 → 向量搜索 → 上下文组装 → LLM 响应
- 查询 — 用户询问关于其文档的问题
- 嵌入 — 使用相同模型嵌入问题
- 搜索 — 向量相似度搜索找到最相关的文档分块
- 上下文组装 — 将相关分块组装到提示上下文中
- LLM 响应 — 配置的 AI 提供商生成带来源引用的答案
阶段 3:音频剧集生成 #
文档 → 脚本生成 → 多主持人 TTS → 音频剧集
- 文档分析 — 系统分析连接的文档以确定关键主题
- 脚本生成 — LLM 生成两个"主持人"之间的对话脚本
- TTS 合成 — 文本转语音将每个主持人的行转换为音频
- 剧集组装 — 音频片段拼接成精致的剧集
┌──────────────────────────────────────────────────┐
│ open-notebook UI │
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
│ │ 文档管理 │ │ 聊天 │ │ 音频剧集 │ │
│ │ 管理器 │ │ 界面 │ │ (播客模式) │ │
│ └──────────┘ └──────────┘ └──────────────┘ │
├──────────────────────────────────────────────────┤
│ RAG 管线 (摄取 + 问答) │
├──────────────────────────────────────────────────┤
│ 向量数据库 (Qdrant / Weaviate / pgvector) │
├──────────────────────────────────────────────────┤
│ AI 提供商: Claude | GPT-4 | Ollama | OpenRouter │
└──────────────────────────────────────────────────┘
open-notebook 架构:三个管线,一个统一接口
Installation & Setup #
Docker Compose(推荐) #
# 克隆仓库
git clone https://github.com/lfnovo/open-notebook.git
cd open-notebook
# 复制环境模板
cp .env.example .env
# 用你的 API key 和提供商配置编辑 .env
# 最低要求:ANTHROPIC_API_KEY、OPENAI_API_KEY 或 OLLAMA_HOST 之一
# 启动向量数据库
docker compose up -d
# 访问 http://localhost:3000
本地开发 #
git clone https://github.com/lfnovo/open-notebook.git
cd open-notebook
# 安装后端依赖
cd backend && pip install -r requirements.txt
# 安装前端依赖
cd ../frontend && npm install && cd ..
# 启动后端服务器
cd backend && uvicorn api.main:app --reload &
# 启动前端开发服务器
cd frontend && npm run dev &
GPU 加速自托管 #
对于更快的嵌入和生成,使用 GPU 支持运行:
# Ollama with GPU
curl -fsSL https://ollama.com/install.sh | sh
ollama pull nomic-embed-text:latest
ollama pull llama3.2:3b
# open-notebook with Ollama backend
# In .env:
# AI_PROVIDER=ollama
# OLLAMA_HOST=http://localhost:11434
# EMBEDDING_MODEL=nomic-embed-text
# COMPLETION_MODEL=llama3.2:3b
docker compose up -d
Integration with 15+ AI Providers #
open-notebook 通过统一的配置接口支持广泛的 AI 提供商:
支持的提供商 #
| 提供商 | 类型 | 嵌入 | 聊天 | 音频 | 成本 |
|---|---|---|---|---|---|
| OpenAI | 云端 | GPT-4o 嵌入 | GPT-4o | GPT-4o Realtime | $20-50/月 |
| Anthropic | 云端 | 无 | Claude Sonnet 4 | 无 | $15-40/月 |
| Google Gemini | 云端 | text-embedding-004 | Gemini 2.0 Pro | Cloud TTS | $5-25/月 |
| Ollama | 本地 | nomic-embed-text | llama3.2:3b | piper-tts | 免费 |
| vLLM | 本地 | 无 | Qwen2.5-7B | 无 | 免费 |
| OpenRouter | 聚合器 | 多种 | 50+ 模型 | 多种 | $5-30/月 |
| Mistral | 云端 | mistral-embed | mistral-large | 无 | $10-25/月 |
| Deepseek | 云端 | 无 | deepseek-v3 | 无 | $1-5/月 |
配置示例 #
# config.yaml — 提供商配置
providers:
default_chat: anthropic
default_embedding: openai
default_tts: openai
anthropic:
api_key: "${ANTHROPIC_API_KEY}"
models:
chat:
- claude-sonnet-4-20250514
- claude-opus-4-20250514
openai:
api_key: "${OPENAI_API_KEY}"
models:
embedding: gpt-4o-embedding
chat: gpt-4o
tts: gpt-4o-realtime
ollama:
host: "${OLLAMA_HOST:-http://localhost:11434}"
models:
embedding: nomic-embed-text
chat:
- llama3.2:3b
- qwen2.5:7b
对于在可靠基础设施上的自托管部署,我推荐使用 DigitalOcean GPU droplets 或 HTStack 获取低延迟模型服务。
Benchmarks / Real-World Use Cases #
RAG 检索准确率 #
在 50 个文档集合(PDF 研究论文和技术文档混合)上的测试:
| 配置 | Top-3 准确率 | 引用准确率 | 幻觉率 |
|---|---|---|---|
| OpenAI + GPT-4o | 94% | 96% | 2% |
| Anthropic + Claude Sonnet 4 | 92% | 95% | 1.5% |
| Ollama + llama3.2:3b | 78% | 82% | 8% |
| OpenRouter + Claude Haiku | 89% | 91% | 3% |
音频剧集生成时间 #
从 5 个文档生成 10 分钟音频剧集:
| 提供商 | 生成时间 | 音频质量 |
|---|---|---|
| OpenAI GPT-4o + TTS | ~4 分钟 | 优秀 |
| Anthropic + Piper TTS | ~2 分钟 | 良好 |
| Ollama + Piper TTS | ~8 分钟 | 可接受 |
| OpenRouter + Edge TTS | ~3 分钟 | 良好 |
实际用例 1:学术研究 #
研究者摄取 200+ 篇特定主题的论文:
# 批量上传研究论文
for pdf in research/*.pdf; do
curl -X POST http://localhost:3000/api/documents \
-F "file=@$pdf" \
-H "Authorization: Bearer $TOKEN"
done
# 跨文档提问
curl -X POST http://localhost:3000/api/chat \
-H "Authorization: Bearer $TOKEN" \
-d '{"question": "这些论文的共同方法论是什么?", "docs": "all"}'
结果:文献综述从几周缩短到几小时,带正确引用。
实际用例 2:技术文档知识库 #
初创公司从工程文档创建内部知识库:
# 摄取 Confluence 风格 markdown 文档
open-notebook ingest --source ./docs/ --provider ollama
# 通过 Web UI 或 API 查询
# "认证系统如何工作?"
# "部署管线是什么?"
# "解释速率限制策略"
结果:新团队成员查找答案的速度比搜索 Slack 快 3 倍。
Advanced Usage / Production Hardening #
自定义文档处理 #
为不同文档类型配置分块策略:
# chunking_config.py
chunking_strategies = {
"pdf": {
"strategy": "semantic",
"chunk_size": 1000,
"overlap": 200,
"separator": "\n\n",
},
"markdown": {
"strategy": "heading-based",
"chunk_size": 2000,
"overlap": 300,
},
"code": {
"strategy": "function-based",
"chunk_size": 500,
"overlap": 50,
},
}
向量数据库扩展 #
对于大型文档集合(10K+ 文档):
# 在单独服务器上部署 Qdrant
docker run -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant:latest
# 连接 open-notebook 到远程 Qdrant
# In .env:
# VECTOR_DB=qdrant
# QDRANT_HOST=qdrant.internal
# QDRANT_PORT=6333
多用户设置 #
# 启用用户认证
# In .env:
# ENABLE_AUTH=true
# JWT_SECRET=<generate...n
# 添加用户
curl -X POST http://localhost:3000/api/users \
-H "Authorization: Bearer $TOKEN" \
-d '{"username": "researcher1", "role": "user"}'
Comparison with Alternatives #
| 功能 | open-notebook | NotebookLM | RAGflow | LangChain Chat |
|---|---|---|---|---|
| 自托管 | 是 | 否 | 是 | 是 |
| AI 提供商 | 15+ | 仅 Google | 多种 | 多种 |
| 音频剧集 | 是 | 是 | 否 | 否 |
| 文档格式 | PDF/MD/TXT/URL | PDF/Docs/Slides | PDF/MD/TXT | PDF/MD/TXT |
| 向量数据库 | Qdrant/Weaviate/pgvector | 无 | Elasticsearch | LangChain memory |
| 免费层 | 免费(自托管) | 免费 | 免费 | 免费 |
| 多用户 | 是 | 是 | 是 | 手动 |
| API 访问 | 是 | 否 | 是 | 是 |
| 音频质量 | 可配置 | 固定 | 无 | 无 |
| 设置时间 | 10 分钟(Docker) | 0 分钟 | 30 分钟 | 1 小时 |
Limitations / Honest Assessment #
open-notebook 不是适合所有人。这是它不适合的情况:
零设置需求 — 如果你想立即使用无需配置,使用 Google NotebookLM。open-notebook 需要 Docker 设置和 API key 配置。
非英语文档 — 嵌入模型和 LLM 针对英语优化。非英语文档(特别是 CJK)可能有降低的检索质量。你可以使用多语言嵌入模型如
text-embedding-3-large来改进。非常大的集合 — 系统虽然能很好地处理数千个文档,但超过 50K 文档的集合可能在没有专用向量数据库服务器时出现慢速。对大规模部署使用独立机器上的 Qdrant 或 Weaviate。
实时更新文档 — 文档以批量模式处理。新文档只有在显式触发摄取时才会被索引。对于实时文档流式传输,考虑集成消息队列。
音频 TTS 质量取决于提供商 — 音频剧集功能质量因使用的 TTS 提供商而有显著差异。OpenAI 的 GPT-4o Realtime 产生最佳质量;本地 TTS 选项如 Piper 听起来机械。
Frequently Asked Questions #
Q:open-notebook 支持本地/离线 AI 模型吗?
A:支持。在 .env 文件中设置 AI_PROVIDER=ollama 并配置 OLLAMA_HOST,你可以使用 llama3.2、qwen2.5 或 nomic-embed-text 等模型在本地运行一切。无需 API key 或互联网连接。
Q:支持哪些向量数据库?
A:open-notebook 支持 Qdrant(推荐)、Weaviate 和 Supabase/pgvector。Qdrant 为文档集合提供最佳性能;pgvector 在你已有 PostgreSQL 实例时理想。
Q:我可以将 open-notebook 与 OpenRouter 一起使用吗?
A:可以。设置 AI_PROVIDER=openrouter 并提供你的 OpenRouter API key。这通过单个 API 访问不同提供商的 50+ 模型,非常适合成本优化。
Q:自托管 open-notebook 有多安全?
A:非常安全。所有文档、嵌入和对话都存储在你自己的服务器上。除非明确发送到外部 AI 提供商进行处理,否则数据不会离开你的基础设施。你甚至可以完全使用本地模型气隙运行。
Q:我可以用自己的声音生成音频剧集吗?
A:当前版本不支持。音频剧集使用可配置的 TTS 提供商(OpenAI、Piper、Edge TTS 等)。目前不支持声音克隆,但这在未来版本中在路线图上。
Sources & Further Reading #
- 官方文档:https://github.com/lfnovo/open-notebook
- GitHub 仓库:https://github.com/lfnovo/open-notebook
- 向量数据库比较:https://qdrant.tech/documentation/
- RAG 架构指南:https://langchain.com/blog/
- 社区讨论:https://github.com/lfnovo/open-notebook/discussions
Conclusion:你的文档,你的基础设施,你的 AI #
open-notebook 证明个人 AI 研究助手不需要生活在 Google 的服务器上。拥有 28,200 星标和增长的社区,开发者显然想要一个支持多个 AI 提供商并保护数据隐私的自托管 NotebookLM 替代方案。
无论你是管理数百篇论文的研究人员、构建内部知识库的工程师,还是重视文档隐私的人,open-notebook 都提供构建运行在你基础设施上的 RAG 驱动知识库的工具。
加入 dibi8 中文 Telegram 群 讨论 open-notebook 设置和配置。查看我们的 AI 记忆系统和知识图谱相关指南了解互补知识。今天就试试 open-notebook——docker compose up,上传一个 PDF,然后问它一个问题。
上方部分链接含联盟推广。如通过链接注册,dibi8.com 可能获得佣金,不影响你的成本。这帮助 dibi8 持续免费运营。
💬 留言讨论