一. 前言
前段时间NotebookLM爆火,一直也想自己DIY一个,由于工作太忙只能每天挤牙膏式的更新一点,最终终于完成EEnhance 0.0.1-命令行版本。可以通过在命令行根据提示一步步完成研究报告和播客生成。
让我们一起来看看这个项目吧
二. 项目介绍
项目地址: github.com/ptonlix/EEn…
采用 DeepSeek和LangGraph 通过 5 个 Sub-Agent 组合构建出一个研究和创作工具 Agent,能够完成从在线网站提取文章内容,确定研究主题到生成研究报告、播客文案和音频合成等全工作流。
核心流程
- Content Agent: 给定一个文章 URL 地址获取文章内容
- Topic Agent: 生成进一步研究主题并选择
- Research Agent: 基于研究主题,通过采访提问的方式生成研究报告
- create_analysts: 基于研究主题,生成一组专家角色
- conduct_interview: 通过采访交流的方式分别向这组专家提问,并生成采访内容
- write_conclusion\write_introduce\write_report: 通过整合采访内容生成一个研究报告文件
- Blog_Agent: 基于研究报告文件,针对性生成对应的播客文案(双人对话)
- Tts_Agent: 将播客文案合成音频
部署运行
[!Warning]
💡 目前本项目暂时只支持终端运行,Web 版正在路上
- 安装依赖
# 克隆项目代码到本地
git clone https://github.com/ptonlix/EEnhance.git
conda activate eenhance # 激活环境
cd EEnhance # 进入项目
poetry install # 安装依赖
- 配置 API KEY
vim .env
TAVILY_API_KEY=xxx ## Tavily 搜索API
DEEPSEEK_API_BASE=https://api.deepseek.com/v1
DEEPSEEK_API_KEY=xxx # Topic Agent & Research Agent 用到,可以尝试使用其它模型
FISH_API_KEY=xxx # 音频合成推荐
音频合成支持平台包括: openai edge fish audio等
Fish TTS 中文音频合成效果较好,本项目推荐使用
具体模型配置请结合项目配置文件config.yaml conversation_config.yaml使用
- 启动程序
python -m eenhance
根据终端指示,复制粘贴 URL 地址,随后一步步完成整个工作流
🚩 Roadmap
- [] 构建网页版本,方便流程体验
🌏 项目交流讨论
🎉 扫码联系作者,如果你也对本项目感兴趣
🎉 欢迎加入 LangChain-X (帝阅开发社区) 项目群参与讨论交流
💥 贡献
欢迎大家贡献力量,一起共建 EEnhance,您可以做任何有益事情
- 报告错误
- 建议改进
- 文档贡献
- 代码贡献
...
👏👏👏