📚

Open NotebookLLM 教學系列

Part 1: 專案概覽與核心功能

認識開源版 NotebookLM,了解其核心功能與應用場景

RAG 檢索 多 AI 提供商 Podcast 生成 工作室輸出

🤔 什麼是 Open NotebookLLM?

Open NotebookLLM 是 Google NotebookLM 的開源複刻版本,讓你能夠:

📄 智能筆記管理

上傳各種文件(PDF、Word、Excel)、網頁、YouTube 影片,統一管理知識來源。

💬 RAG 智能問答

基於你上傳的內容進行對話,AI 會根據來源資料準確回答問題。

🎙️ Podcast 生成

將你的資料自動轉換為多人對話播客,支援 TTS 語音合成。

📊 多種輸出格式

生成摘要、心智圖、學習卡、測驗、簡報、資訊圖表等。

✨ 為什麼選擇開源版?

特點 Google NotebookLM Open NotebookLLM
AI 提供商 僅 Gemini 6 種提供商可選
資料隱私 雲端儲存 本地部署,完全掌控
自訂性 固定功能 開源可擴展
費用 依使用量計費 自選 API,可用免費模型
離線使用 需連網 支援 Ollama 本地模型
核心優勢:完全掌控你的資料,選擇最適合的 AI 模型,無限制的自訂可能!

🤖 支援的 AI 提供商

🌟 Gemini

Google 多模態模型,支援嵌入向量和圖片生成。

🧠 OpenAI

GPT-4o/4.1 + DALL-E 3,業界標竿。

🎯 Anthropic

Claude Sonnet/Opus,超長上下文處理。

🏠 Ollama

本地模型,免費無限使用,完全離線。

⚡ Groq

超高速推理,極低延遲回應。

🔮 DeepSeek

R1 推理模型,深度思考能力。

📁 支援的來源類型

類型 說明 支援格式
📄 PDF PDF 文件解析 .pdf
📝 Text 純文字文件 .txt, .md
📋 Word Word 文件 .docx, .doc
📊 Excel 試算表 .xlsx, .xls, .csv
🌐 Web 網頁內容擷取 URL
🎬 YouTube 影片字幕/轉錄 YouTube URL
🎤 音檔 語音轉文字 (STT) .mp3, .wav, .m4a, .ogg

🎨 工作室輸出類型

📝 摘要

自動生成來源內容的精簡摘要。

🧠 心智圖

Mermaid 視覺化,支援 SVG 匯出。

📊 流程圖/架構圖

Draw.io 格式,可編輯匯出。

🃏 學習卡

Bloom 認知層次 + 難度分級。

❓ 測驗

5 種題型:選擇/判斷/填空/配對/簡答。

📈 資訊圖表

Chart.js 7 種圖表類型。

📽️ 簡報

自動配圖 + PPTX 匯出。

🎙️ Podcast

多人對話 + TTS 語音合成。

🛠️ 技術棧概覽

後端 Backend

  • Flask 3.0 - Web 框架
  • SQLite + FTS5 - 資料庫
  • SQLAlchemy - ORM

前端 Frontend

  • React 18 - UI 框架
  • TypeScript - 型別安全
  • TailwindCSS - 樣式
  • Zustand - 狀態管理

視覺化 Visualization

  • Chart.js - 資訊圖表
  • Mermaid.js - 心智圖
  • react-drawio - 流程圖

AI 整合

  • RAG - 檢索增強生成
  • Whisper - 語音轉文字
  • TTS - 文字轉語音

📂 專案結構

open-notebookllm/
├── backend/                    # Flask 後端 (Python)
│   ├── app.py                 # 應用入口
│   ├── config.py              # 配置管理
│   ├── models/                # 資料庫模型
│   ├── services/              # 商業邏輯服務
│   │   ├── ai_providers/      # AI Provider 抽象層
│   │   ├── rag_service.py     # RAG 檢索服務
│   │   ├── podcast_service.py # Podcast 生成
│   │   └── studio_service.py  # 工作室輸出
│   └── controllers/           # API 端點
│
├── frontend/                   # React 前端 (TypeScript)
│   ├── src/
│   │   ├── pages/             # 頁面元件
│   │   ├── components/        # UI 元件
│   │   ├── store/             # 狀態管理
│   │   └── api/               # API 客戶端
│   └── package.json
│
└── uploads/                    # 上傳檔案儲存
                

🎯 Part 1 總結

在本單元中,我們了解了:

專案定位

開源版 NotebookLM,完全掌控資料與 AI 選擇。

核心功能

RAG 問答、多種來源、工作室輸出、Podcast 生成。

技術棧

Flask + React + 多 AI 提供商整合。

優勢

隱私保護、可自訂、支援離線、開源免費。

下一步:Part 2 將深入介紹技術架構與 AI 提供商的詳細配置!
➡️ 前往 Part 2:技術架構與AI提供商