效率工具

NotebookLM 备考指南:讲义、闪卡、测验和语音概览

用 Gemini Notebook(原 NotebookLM)把一门课的讲义、课件、录音变成一套期末复习包:带引用的学习指南、思维导图、闪卡、测验,再生成一段中文 Audio Overview 通勤时听。教材太大传不上去时,用一个小脚本按页切分。

BINBHO · 图文教程

用 Gemini Notebook(原 NotebookLM)把一门课的讲义、课件、录音变成一套期末复习包:带引用的学习指南、思维导图、闪卡、测验,再生成一段中文 Audio Overview 通勤时听。教材太大传不上去时,用一个小脚本按页切分。

先看清成品

成品是一个“课程复习”笔记本,包含学习指南、思维导图、闪卡、测验和音频概览。本文附带的 split_pdf.py 已用 pypdf 6.21.1 实际测试,3 个测试全部通过:中英文词数统计正确,10 页的测试 PDF 按每份 100 词切成 5 份、页数不丢失,没超限的文件提示直接上传。本文环境没有登录 Google 账号,界面操作没有实际执行,步骤和菜单名称按官方帮助中心编写。

说明:NotebookLM 已更名为 Gemini Notebook,帮助中心和界面都使用新名字,网址为 notebook.google.com。本文按新界面名称编写。

注意:Gemini Notebook 只在官方支持的国家和地区提供,请在可用地区合规使用,不要绕过地区限制。只上传你有权使用的资料(官方帮助中心也这样提示),不要上传盗版教材或别人的付费课程。生成的内容可能出错,答案要点开引用核对原文。

做完之后你会得到什么?

成果 说明
课程笔记本 讲义、PPT、录音集中在一起
学习指南 Studio 里的报告类型之一,可导出到 Google 文档
思维导图 看清章节之间的关系
闪卡和测验 支持简答、多选、填空等题型
Audio Overview 中文播客式讲解,可选深度、简要、点评、辩论
切分脚本 大 PDF 切成符合上限的几份

需要准备哪些环境?

项目 要求 说明
Google 账号 年满当地规定年龄 免费即可
课程资料 PDF、PPTX、DOCX、MP3、网址、公开 YouTube 视频等 官方帮助中心列出的类型
Python 可选,3.10+ 只有需要切分大 PDF 时才用

免费版的主要上限:

项目(免费 Standard) 官方升级页面列出的上限(会调整)
笔记本 100 个
每个笔记本的来源 50 个
每个来源 50 万词或 200 MB
对话 每天 50 次
Audio / Video Overview 每天各 3 个
报告、闪卡、测验、思维导图 每天各 10 个
Deep Research 每月 10 次

第一步:怎样建笔记本并上传资料?

  1. 打开 notebook.google.com,选 Create new notebook。
  2. 在弹窗中选 Upload a source,上传讲义、课件、课堂录音。
  3. 一个笔记本只放一门课。官方说明每个笔记本相互独立,不能跨笔记本提问。
资料 建议
扫描版 PDF 文字识别效果可能不好,尽量用文字版
PPT 直接传 pptx
课堂录音 mp3、wav 都支持,需要老师同意录音
很大的教材 超过上限时先用下面的脚本切分

切分大 PDF(可选)

"""把超出 Gemini Notebook 单个来源上限的大 PDF 按页切分。
官方帮助中心:每个来源最多 50 万词或 200 MB。这里默认留余量:每份不超过 40 万词、150 MB。
用法:python split_pdf.py 教材.pdf [--max-words 400000] [--max-mb 150]
"""
import argparse
import io
import re
from pathlib import Path

from pypdf import PdfReader, PdfWriter


def count_words(text: str) -> int:
    # 中文按字计,英文按单词计
    cjk = len(re.findall(r"[\u4e00-\u9fff]", text))
    latin = len(re.findall(r"[A-Za-z0-9]+(?:['-][A-Za-z0-9]+)*", text))
    return cjk + latin


def size_of(writer: PdfWriter) -> int:
    buf = io.BytesIO()
    writer.write(buf)
    return buf.tell()


def split(path: Path, max_words: int, max_mb: float):
    reader = PdfReader(str(path))
    parts, start, words = [], 0, 0
    writer = PdfWriter()
    for i, page in enumerate(reader.pages):
        w = count_words(page.extract_text() or "")
        if writer.pages and (words + w > max_words or size_of(writer) > max_mb * 1024 * 1024):
            parts.append((start, i - 1, words, writer))
            writer, start, words = PdfWriter(), i, 0
        writer.add_page(page)
        words += w
    if writer.pages:
        parts.append((start, len(reader.pages) - 1, words, writer))

    outs = []
    for n, (a, b, w, wr) in enumerate(parts, 1):
        out = path.with_name(f"{path.stem}-第{n}部分-p{a + 1}-{b + 1}.pdf")
        with open(out, "wb") as f:
            wr.write(f)
        outs.append(out)
        print(f"{out.name}:第 {a + 1}-{b + 1} 页,约 {w} 词,{out.stat().st_size / 1024 / 1024:.1f} MB")
    if len(parts) == 1:
        print("这个文件没有超出上限,可以直接上传。")
    return outs


if __name__ == "__main__":
    ap = argparse.ArgumentParser()
    ap.add_argument("pdf")
    ap.add_argument("--max-words", type=int, default=400_000)
    ap.add_argument("--max-mb", type=float, default=150)
    a = ap.parse_args()
    split(Path(a.pdf), a.max_words, a.max_mb)
pip install pypdf
python split_pdf.py 教材.pdf

本文测试中的输出格式:

book-第1部分-p1-2.pdf:第 1-2 页,约 80 词,0.0 MB
...

注意:官方“50 万词”对中文如何计算没有详细说明,脚本按“一个汉字算一个词”估算并留了余量。上传后如果仍提示超限,把 --max-words 调小。

第二步:怎样生成复习材料?

1. 先在对话里摸底

在 Chat 面板输入:

请按章节列出这门课的核心概念,每个概念一句话解释,并标注出自哪份资料。

回答里的数字是引用,鼠标悬停能看到原文,点击跳到原文位置。

2. 设置学习风格

Chat 面板选 Configure Chat,风格选 Learning Guide(适合学习新概念)。官方升级页面说明自定义对话对所有用户开放。

3. 在 Studio 面板生成

输出 操作 用法
学习指南 Reports → study guide 三点菜单 Export to Docs 导出
思维导图 Mind Map 点节点可展开追问
闪卡 Flashcards 可以添加或修改卡片
测验 Quiz 做完可以在对话里问“我哪里薄弱”
音频概览 Audio Overview 见下一步

4. 生成中文音频概览

在 Audio Overview 的设置里:

选项 建议
格式 Deep Dive 深度讲解;时间紧选 The Brief(不到两分钟)
语言 选中文
提示词 见下方
听众是明天要考试的大二学生。重点讲第 3、4 章容易混淆的概念,每讲完一个概念举一个生活中的例子。

生成在后台进行,可以同时做别的。官方帮助中心说明长度选项(Shorter/Longer)目前只支持英文。

第三步:怎样检查复习材料的质量?

检查项 做法
学习指南 抽 5 个要点点开引用,对照原文
测验答案 有疑问的题回到讲义确认
音频概览 官方说明主持人是 AI 生成,可能出错
覆盖面 对照课程大纲,看有没有漏章节

出问题时该怎么调?

1. 回答“无法回答这个问题”

官方说明对话只基于来源回答,资料里没有的内容会拒答。补充资料或换个问法。

2. 只想针对某一章提问

在 Sources 面板只勾选那一章的资料,再提问。

3. 音频概览内容太泛

在提示词里写清楚听众是谁、重点讲哪部分、要什么风格。

常见问题怎么处理?

现象 原因 解决方法
上传失败 超过 200 MB 或 50 万词 用 split_pdf.py 切分
今天不能再生成音频 免费版每天 3 个 第二天再试或升级
扫描版识别乱码 图片质量差 先做文字识别或找文字版
打不开网站 所在地区不支持 只能在可用地区使用
测验太简单 默认难度 修改题目或在设置里说明难度

项目资源

用途 地址
Gemini Notebook https://notebook.google.com/
创建笔记本和分享 https://support.google.com/notebooklm/answer/16206563?hl=en
来源类型和限制 https://support.google.com/notebooklm/answer/16215270
对话和对话设置 https://support.google.com/notebooklm/answer/16179559?hl=en
计划和用量上限 https://support.google.com/notebooklm/answer/16206866?hl=en
Audio Overview https://support.google.com/notebooklm/answer/16212820?hl=en
新的学习功能(官方博客) https://blog.google/innovation-and-ai/products/gemini-notebook/three-tips-study-gemini-notebook/
pypdf 文档 https://pypdf.readthedocs.io/

建议先只上传一章的讲义,把学习指南、闪卡、测验、音频概览各生成一次,判断哪些对你最有用。

然后再上传整门课的资料,按“对话摸底 → 学习指南 → 测验查漏 → 音频复习”的顺序准备考试。