Thanks to visit codestin.com
Credit goes to github.com

Skip to content

j0rGeT/edbook

Repository files navigation

EdBook - AI驱动的文档分析与内容生成平台

EdBook Logo Python License

🚀 项目简介

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                  # 启动脚本

🚀 快速开始

1. 环境要求

  • Python 3.11 或更高版本
  • DeepSeek API 密钥(推荐,性价比高)或 OpenAI API 密钥(备用)
  • Azure Speech Services 密钥(可选,用于更好的语音合成)

2. 安装依赖

# 使用 uv 包管理器(推荐)
uv sync

# 或使用传统方式
pip install -e .

3. 配置环境变量

复制 .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

4. 启动应用

python run.py

应用将在 http://localhost:5000 启动。

📖 使用指南

1. 上传PDF文档

  • 访问 http://localhost:5000
  • 拖拽或点击上传PDF文件(最大16MB)
  • 支持的格式:PDF

2. 文档分析

  • 点击"开始分析文档"按钮
  • AI将自动提取文档内容、识别结构并生成基础摘要
  • 分析完成后可以看到文档基本信息

3. 内容生成

根据需要选择生成不同类型的内容:

🎵 语音概览

  • 生成适合播报的语音脚本
  • 支持Azure语音服务和gTTS
  • 输出格式:MP3

🎥 视频概览

  • 自动创建可视化幻灯片
  • 结合语音解说生成视频
  • 输出格式:MP4

📊 智能报告

  • 生成结构化分析报告
  • 包含摘要、发现、建议等
  • 输出格式:PDF

🗺️ 思维导图

  • 可视化文档结构和要点
  • 支持matplotlib和Graphviz渲染
  • 输出格式:PNG

📺 PPT演示

  • 自动生成专业演示文稿
  • 基于文档内容创建幻灯片
  • 输出格式:PPTX

4. 预览和下载

生成完成后,可以:

  • 📱 在线预览: 思维导图、视频直接在页面显示
  • 🎵 音频播放: 语音概览内置播放器
  • 🔍 大图查看: 点击思维导图查看高清大图
  • 💾 文件下载: 所有内容支持本地下载

预览功能

  • 思维导图: 页面内嵌显示,支持点击放大
  • 视频概览: 内置HTML5视频播放器
  • 语音概览: 内置音频播放控件
  • 智能报告: 提供下载链接
  • PPT演示: 提供下载链接

⚙️ 配置选项

AI模型配置

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

🔧 开发指南

添加新的内容生成器

  1. generators/ 目录创建新的生成器类
  2. 继承基础接口并实现必要方法
  3. web/app.py 中注册新的路由
  4. 更新前端界面添加对应按钮

自定义AI提示词

core/ai_client.py 中可以修改各种生成任务的提示词模板。

扩展文件支持

目前支持PDF,可以扩展支持:

  • Word文档(.docx)
  • PowerPoint文档(.pptx)
  • 文本文件(.txt)

🐛 故障排除

常见问题

  1. AI API错误

    • 检查DeepSeek或OpenAI API密钥是否正确
    • 确认账户有足够余额
    • 检查网络连接和API端点
  2. 语音生成失败

    • 检查Azure密钥配置
    • 尝试使用gTTS作为备选
  3. 视频生成慢

    • 视频生成需要较多计算资源
    • 可以调整视频参数降低质量
  4. PDF解析失败

    • 确保PDF不是扫描版
    • 检查PDF文件完整性

日志查看

应用日志保存在 edbook.log 文件中。

🤝 贡献指南

欢迎提交Issue和Pull Request!

  1. Fork项目
  2. 创建功能分支
  3. 提交更改
  4. 发起Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

  • DeepSeek 提供高性价比的AI能力
  • OpenAI GPT-4 作为备用AI模型
  • Microsoft Azure Cognitive Services 提供语音合成
  • 所有开源库的贡献者

📞 支持

如有问题或建议,请:

  1. 提交GitHub Issue
  2. 查看文档和FAQ
  3. 联系开发团队

EdBook - 让AI帮助你更好地理解和展示文档内容 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published