EdBook 是一个基于人工智能的文档分析与内容生成平台,类似于 NotebookLM。它能够从PDF文档中提取信息,并生成多种形式的内容输出,包括语音概览、视频介绍、智能报告、思维导图和PPT演示。
- 📄 PDF文档解析 - 智能提取文档内容和结构
- 🧠 AI内容分析 - 使用大语言模型深度分析文档
- 🎵 语音概览生成 - 自动生成语音播报内容
- 🎥 视频概览制作 - 创建可视化演示视频
- 📊 智能报告生成 - 生成结构化PDF报告
- 🗺️ 思维导图创建 - 可视化文档结构
- 📺 PPT演示文稿 - 自动生成专业演示
- 后端框架: Flask + Python 3.11+
- AI模型: DeepSeek Chat(默认)/ OpenAI GPT-4(备用)
- 语音合成: Azure Cognitive Services / gTTS
- 视频处理: MoviePy
- 文档处理: pypdf, reportlab, python-pptx
- 可视化: matplotlib, graphviz
- 前端: Bootstrap 5 + 原生JavaScript
edbook/
├── core/ # 核心功能模块
│ ├── ai_client.py # AI客户端
│ ├── content_generator.py # 内容生成器
│ └── pdf_processor.py # PDF处理器
├── generators/ # 内容生成器
│ ├── audio_generator.py # 语音生成
│ ├── video_generator.py # 视频生成
│ ├── report_generator.py # 报告生成
│ ├── mindmap_generator.py # 思维导图生成
│ └── ppt_generator.py # PPT生成
├── web/ # Web应用
│ ├── app.py # Flask应用主文件
│ ├── templates/ # HTML模板
│ └── static/ # 静态资源
├── config/ # 配置文件
├── utils/ # 工具函数
├── uploads/ # 文件上传目录
├── pyproject.toml # 项目依赖配置
├── .env.example # 环境变量示例
└── run.py # 启动脚本
- Python 3.11 或更高版本
- DeepSeek API 密钥(推荐,性价比高)或 OpenAI API 密钥(备用)
- Azure Speech Services 密钥(可选,用于更好的语音合成)
# 使用 uv 包管理器(推荐)
uv sync
# 或使用传统方式
pip install -e .
复制 .env.example
为 .env
并填入您的API密钥:
cp .env.example .env
编辑 .env
文件:
# DeepSeek API配置(主要,推荐)
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
# OpenAI API配置(备用,可选)
OPENAI_API_KEY=your_openai_api_key_here
# Azure语音服务配置(可选)
AZURE_SPEECH_KEY=your_azure_speech_key_here
AZURE_SPEECH_REGION=your_azure_region_here
# Flask配置
FLASK_ENV=development
SECRET_KEY=your_secret_key_here
python run.py
应用将在 http://localhost:5000
启动。
- 访问
http://localhost:5000
- 拖拽或点击上传PDF文件(最大16MB)
- 支持的格式:PDF
- 点击"开始分析文档"按钮
- AI将自动提取文档内容、识别结构并生成基础摘要
- 分析完成后可以看到文档基本信息
根据需要选择生成不同类型的内容:
- 生成适合播报的语音脚本
- 支持Azure语音服务和gTTS
- 输出格式:MP3
- 自动创建可视化幻灯片
- 结合语音解说生成视频
- 输出格式:MP4
- 生成结构化分析报告
- 包含摘要、发现、建议等
- 输出格式:PDF
- 可视化文档结构和要点
- 支持matplotlib和Graphviz渲染
- 输出格式:PNG
- 自动生成专业演示文稿
- 基于文档内容创建幻灯片
- 输出格式:PPTX
生成完成后,可以:
- 📱 在线预览: 思维导图、视频直接在页面显示
- 🎵 音频播放: 语音概览内置播放器
- 🔍 大图查看: 点击思维导图查看高清大图
- 💾 文件下载: 所有内容支持本地下载
- 思维导图: 页面内嵌显示,支持点击放大
- 视频概览: 内置HTML5视频播放器
- 语音概览: 内置音频播放控件
- 智能报告: 提供下载链接
- PPT演示: 提供下载链接
在 config/settings.py
中可以调整:
AI_MODEL
: 使用的模型(默认:deepseek-chat)AI_PROVIDER
: AI提供商(默认:deepseek,可选:openai)TEMPERATURE
: 生成温度(默认:0.7)MAX_TOKENS
: 最大token数(默认:4000)
- 支持Azure Cognitive Services(推荐,质量更高)
- 备用gTTS(免费,质量一般)
- 幻灯片尺寸:1920x1080
- 帧率:可调整
- 编码:H.264
- 在
generators/
目录创建新的生成器类 - 继承基础接口并实现必要方法
- 在
web/app.py
中注册新的路由 - 更新前端界面添加对应按钮
在 core/ai_client.py
中可以修改各种生成任务的提示词模板。
目前支持PDF,可以扩展支持:
- Word文档(.docx)
- PowerPoint文档(.pptx)
- 文本文件(.txt)
-
AI API错误
- 检查DeepSeek或OpenAI API密钥是否正确
- 确认账户有足够余额
- 检查网络连接和API端点
-
语音生成失败
- 检查Azure密钥配置
- 尝试使用gTTS作为备选
-
视频生成慢
- 视频生成需要较多计算资源
- 可以调整视频参数降低质量
-
PDF解析失败
- 确保PDF不是扫描版
- 检查PDF文件完整性
应用日志保存在 edbook.log
文件中。
欢迎提交Issue和Pull Request!
- Fork项目
- 创建功能分支
- 提交更改
- 发起Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- DeepSeek 提供高性价比的AI能力
- OpenAI GPT-4 作为备用AI模型
- Microsoft Azure Cognitive Services 提供语音合成
- 所有开源库的贡献者
如有问题或建议,请:
- 提交GitHub Issue
- 查看文档和FAQ
- 联系开发团队
EdBook - 让AI帮助你更好地理解和展示文档内容 🚀