一天一个开源项目(第23篇):PageLM - 开源 AI 教育平台,把学习材料变成互动资源

引言

"把教材和笔记交给 AI,得到测验、闪卡、康奈尔笔记和播客------一个平台搞定输入与输出。"

这是"一天一个开源项目"系列的第23篇文章。今天带你了解的项目是 PageLMGitHub),由 CaviraOSS 开源。

Google 的 NotebookLM 把文档变成可对话、可生成音频的「个人 AI」,但不开源、依赖其生态。PageLM 定位为社区驱动的 NotebookLM 风格教育平台 :上传 PDF、DOCX、Markdown、TXT 等学习材料,即可获得情境对话、智能笔记、闪卡、测验、AI 播客,以及语音转写、作业规划、模拟考试、辩论陪练、学习伴侣等能力。后端支持多 LLM(Gemini、GPT、Claude、Grok、Ollama、OpenRouter)与多 TTS(Edge TTS、ElevenLabs、Google TTS),前端为 Vite + React + Tailwind,可自托管、可扩展,适合学生、教师与研究者。

你将学到什么

  • PageLM 的定位:开源、多模态的「学习材料 → 互动资源」平台
  • 核心能力:情境对话、SmartNotes、闪卡、测验、AI 播客、语音转写、作业规划、ExamLab、辩论、学习伴侣
  • 技术栈:Node.js/TypeScript、LangChain/LangGraph、Vite/React、JSON 或向量库存储
  • 如何本地运行与 Docker 部署,以及环境与配置要点
  • 与 NotebookLM 及同类教育/笔记工具的对比

前置知识

  • 对 RAG(检索增强生成)、LLM API 有基本概念
  • 会用 Node.js、npm/pnpm,了解前后端分离项目结构
  • 若自建部署,需准备 LLM/TTS API Key 或本地 Ollama

项目背景

项目简介

PageLM 是一款开源、AI 驱动的教育平台 ,将学习材料(PDF、DOCX、Markdown、TXT)转化为互动学习资源 :情境问答、康奈尔式笔记、闪卡、测验、AI 播客等,并支持语音转写、作业规划、模拟考试、辩论陪练与个性化学习伴侣。设计上受 NotebookLM 启发,强调「文档即上下文」与多模态输出(文本 + 音频),同时支持多 LLM、多 TTS、JSON 或向量库存储,便于自托管与二次开发。

项目解决的核心问题

  • 希望用「上传文档 + AI」做笔记、测验、播客,但不想依赖闭源产品
  • 需要支持多种文档格式与多种模型/语音引擎,便于按成本与场景选择
  • 教育机构或个人希望在自己的环境中部署、控制数据与合规
  • 希望有一套前后端完整、可扩展的参考实现(RAG、流式输出、文件存储等)

面向的用户群体

  • 学生:复习、做笔记、刷题、通勤听播客
  • 教师与课程设计者:从讲义生成测验、闪卡、补充材料
  • 研究者:文献整理、摘要与问答
  • 开发者:学习 RAG + 多模型 + 教育场景的完整栈实现

作者/团队介绍

  • 组织CaviraOSSGitHub),开源组织,以 PageLM 等教育/工具类项目为主
  • 项目创建时间:2025 年 8 月(GitHub 显示 created_at 2025-08-31)
  • 社区:Discord、GitHub Issues/Discussions,欢迎贡献与反馈

项目数据

  • GitHub Stars: 1.3k+
  • 🍴 Forks: 186+
  • 📦 版本: 无正式版本号,以 main 为主干
  • 📄 License: CaviraOSS Community License(个人与教育用途免费使用与修改;商业使用或转售需 CaviraOSS 书面许可,详见仓库 LICENSE)
  • 🌐 官网: 无独立官网,以 GitHub 为主
  • 💬 社区 : DiscordGitHub Issues

主要功能

核心作用

PageLM 的核心作用是把「静态学习材料」变成「可对话、可测验、可听」的互动资源,并在一个平台内完成上传、解析、检索与多模态生成:

  1. 文档上传与解析:支持 PDF、DOCX、Markdown、TXT(依赖 pdf-lib、mammoth、pdf-parse 等)
  2. 情境对话(Contextual Chat):基于上传文档的 RAG 问答,支持流式输出(WebSocket)
  3. SmartNotes:按主题或上传内容自动生成康奈尔式笔记
  4. 闪卡:从内容中抽取不重叠的闪卡,便于间隔重复
  5. 测验:生成带提示、解析与评分的互动测验
  6. AI 播客:将笔记或主题转为语音(Edge TTS、ElevenLabs、Google TTS),适合通勤学习
  7. 语音转写:将讲课录音、语音笔记转为可搜索的文本材料
  8. 作业规划、ExamLab、辩论、学习伴侣:规划作业、模拟考试、辩论练习与个性化陪伴

使用场景

  1. 学生日常学习

    • 上传教材或讲义,用情境对话答疑、生成笔记与闪卡,通勤时听 AI 播客
  2. 教师备课与出题

    • 从课件生成测验与闪卡,或利用 SmartNotes 做教学补充
  3. 会议/讲座整理

    • 上传录音或文字稿,转写、摘要并做后续问答与笔记
  4. 自托管与隐私

    • 数据留在自己的服务器,搭配 Ollama 等本地模型,满足合规与成本控制
  5. 二次开发与集成

    • 基于 LangChain/LangGraph 与清晰的前后端结构,扩展新模型、新题型或对接现有系统

快速开始

环境要求:Node.js v21.18+、npm 或 pnpm、ffmpeg(播客音频);可选 Docker。

本地开发

bash 复制代码
git clone https://github.com/CaviraOSS/pagelm.git
cd pagelm

# Linux
chmod +x ./setup.sh
./setup.sh

# 或手动:安装依赖并配置
cd backend && npm install
cd ../frontend && npm install
cd ..
cp .env.example .env
# 编辑 .env,填入 LLM/TTS 等 API Key

# 分别启动(两个终端)
cd backend && npm run dev
cd frontend && npm run dev

浏览器访问:http://localhost:5173

Docker

bash 复制代码
# 开发
docker compose up --build

# 生产
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
  • 前端:开发 5173 / 生产 8080;后端:5000

核心特性

  1. 多 LLM 支持

    • Google Gemini、OpenAI GPT、Anthropic Claude、xAI Grok、Ollama(本地)、OpenRouter,可在配置中切换
  2. 多 TTS 与播客

    • Edge TTS、ElevenLabs、Google TTS,将笔记/主题转为可听内容
  3. 多嵌入与存储

    • 嵌入可选 OpenAI、Gemini、Ollama;存储支持 JSON(默认)或向量数据库,便于扩展
  4. WebSocket 流式输出

    • 对话、笔记、播客生成等支持实时流式返回,体验更顺畅
  5. Markdown 与结构化输出

    • 笔记与答案以 Markdown 为主,便于导出与二次编辑
  6. 模块化配置

    • 通过环境变量选择 LLM、TTS、数据库、上传限制等,见 .env.example

项目优势

对比项 PageLM NotebookLM(Google) 通用笔记 + 单点 AI 工具
开源与部署 开源、可自托管 闭源、仅 Google 生态 视产品而定
文档→测验/播客 内置测验、闪卡、播客、笔记 有对话与音频 多需组合多个工具
模型与 TTS 多 LLM、多 TTS 可配置 固定模型与能力 依赖各产品支持
数据与隐私 可完全本地(Ollama + 自托管) 数据在 Google 视产品而定
扩展与二次开发 LangChain/LangGraph、清晰前后端 不可扩展 视产品而定

为什么选择 PageLM?

  • 一站式教育 AI:上传即得对话、笔记、闪卡、测验、播客与更多学习工具,无需在多个应用间切换
  • 开源可改:适合学习 RAG/多模型架构,也适合按学校或机构需求定制
  • 多模型与自托管:可按成本与合规选择云端 API 或本地 Ollama,数据可控

项目详细剖析

技术栈概览

  • 后端:Node.js、TypeScript、LangChain、LangGraph;负责文档解析、嵌入、检索、LLM 调用、TTS、流式响应与持久化
  • 前端:Vite、React、TailwindCSS;提供上传、对话、笔记、闪卡、测验、播客播放等界面
  • 文档解析:pdf-lib、mammoth、pdf-parse 等处理 PDF/DOCX/Markdown/TXT
  • 存储:默认 JSON 文件持久化;可接向量库做大规模检索
  • 部署:Docker / Docker Compose,支持开发与生产两套配置

核心流程简述

  1. 上传与解析:用户上传文件,后端解析为文本并可选做分块与嵌入,写入 JSON 或向量库
  2. 检索与生成:情境对话、SmartNotes、闪卡、测验等均基于当前文档(或选定主题)做检索 + LLM 生成,部分结果可再经 TTS 转为播客
  3. 流式与持久化:WebSocket 推送生成过程与结果;生成内容可按项目/文档做文件级持久化,便于复用与导出

配置与扩展

  • 环境变量 :LLM 提供商、TTS 引擎、数据库后端、上传大小与格式限制等均在 .env 中配置,参考 .env.example
  • 扩展方向:README 列出 AI 模型接入、移动端、性能与无障碍等贡献方向;代码结构便于增加新工具(如新题型、新导出格式)

注意事项

  • License:CaviraOSS Community License,个人与教育用途自由使用与修改;商业使用或转售需事先获得 CaviraOSS 书面许可
  • API 成本:使用云端 LLM/TTS 会产生费用;使用 Ollama 可零 API 成本但需本地算力
  • ffmpeg:生成播客音频需要安装 ffmpeg

项目地址与资源

官方资源

相关资源

  • NotebookLM(Google 产品,PageLM 设计灵感来源)

适用人群

  • 学生与自学者:希望用 AI 把教材、讲义变成对话、笔记、测验与播客
  • 教师与课程设计者:需要从现有材料快速生成测验、闪卡与补充内容
  • 开发者:想学习或复用「文档解析 + RAG + 多 LLM + TTS」的完整实现
  • 机构:需要自托管、多模型、可定制的教育 AI 平台

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
汐汐咯2 小时前
残差块学习笔记
人工智能
式5162 小时前
深度学习常见问题
人工智能·深度学习
天竺鼠不该去劝架2 小时前
RPA 平台选型指南(2026):金智维 vs 来也RPA vs 艺赛旗 vs 阿里云 RPA 深度对比
大数据·数据库·人工智能
aircrushin2 小时前
具身智能开源生态:小米机器人VLA模型如何推动物理AI产业化?
人工智能·机器人
DN20202 小时前
AI销售:从不迟到早退,永远秒回,您的忠实员工
人工智能·python
人工智能AI技术2 小时前
手机就是你的AI实验室:AutoGLM开源实战,用智谱GLM-4.7控制手机完成自动打卡
人工智能
美酒没故事°2 小时前
在扣子平台创建智能体demo
人工智能·ai
MaoziShan3 小时前
CMU Subword Modeling | 09 Lexemes, or What Dictionaries Know about Morphology
开发语言·人工智能·机器学习·语言模型·自然语言处理·c#
liu****3 小时前
3.RNN及其变体
人工智能·python·rnn·深度学习