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 标志

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:文档摄取 #

原始文档 → 分块 → 嵌入 → 向量存储
  1. 上传 — 以多种格式导入文档(PDF、MD、TXT、DOCX、URL)
  2. 分块 — 使用可配置策略将文档拆分为语义分块
  3. 嵌入 — 使用配置的 AI 提供商为每个分块生成向量嵌入
  4. 存储 — 将嵌入存储在向量数据库中(Qdrant、Weaviate 或 Supabase/pgvector)

阶段 2:问答 #

用户问题 → 嵌入 → 向量搜索 → 上下文组装 → LLM 响应
  1. 查询 — 用户询问关于其文档的问题
  2. 嵌入 — 使用相同模型嵌入问题
  3. 搜索 — 向量相似度搜索找到最相关的文档分块
  4. 上下文组装 — 将相关分块组装到提示上下文中
  5. LLM 响应 — 配置的 AI 提供商生成带来源引用的答案

阶段 3:音频剧集生成 #

文档 → 脚本生成 → 多主持人 TTS → 音频剧集
  1. 文档分析 — 系统分析连接的文档以确定关键主题
  2. 脚本生成 — LLM 生成两个"主持人"之间的对话脚本
  3. TTS 合成 — 文本转语音将每个主持人的行转换为音频
  4. 剧集组装 — 音频片段拼接成精致的剧集
┌──────────────────────────────────────────────────┐
│              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-4oGPT-4o Realtime$20-50/月
Anthropic云端Claude Sonnet 4$15-40/月
Google Gemini云端text-embedding-004Gemini 2.0 ProCloud TTS$5-25/月
Ollama本地nomic-embed-textllama3.2:3bpiper-tts免费
vLLM本地Qwen2.5-7B免费
OpenRouter聚合器多种50+ 模型多种$5-30/月
Mistral云端mistral-embedmistral-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-4o94%96%2%
Anthropic + Claude Sonnet 492%95%1.5%
Ollama + llama3.2:3b78%82%8%
OpenRouter + Claude Haiku89%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-notebookNotebookLMRAGflowLangChain Chat
自托管
AI 提供商15+仅 Google多种多种
音频剧集
文档格式PDF/MD/TXT/URLPDF/Docs/SlidesPDF/MD/TXTPDF/MD/TXT
向量数据库Qdrant/Weaviate/pgvectorElasticsearchLangChain memory
免费层免费(自托管)免费免费免费
多用户手动
API 访问
音频质量可配置固定
设置时间10 分钟(Docker)0 分钟30 分钟1 小时

Limitations / Honest Assessment #

open-notebook 不是适合所有人。这是它不适合的情况:

  1. 零设置需求 — 如果你想立即使用无需配置,使用 Google NotebookLM。open-notebook 需要 Docker 设置和 API key 配置。

  2. 非英语文档 — 嵌入模型和 LLM 针对英语优化。非英语文档(特别是 CJK)可能有降低的检索质量。你可以使用多语言嵌入模型如 text-embedding-3-large 来改进。

  3. 非常大的集合 — 系统虽然能很好地处理数千个文档,但超过 50K 文档的集合可能在没有专用向量数据库服务器时出现慢速。对大规模部署使用独立机器上的 Qdrant 或 Weaviate。

  4. 实时更新文档 — 文档以批量模式处理。新文档只有在显式触发摄取时才会被索引。对于实时文档流式传输,考虑集成消息队列。

  5. 音频 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 持续免费运营。

💬 留言讨论