这个仓库是一个名为 PDF2Audio
的项目,主要功能是将PDF文件转换为音频,如播客、讲座、摘要等。以下是对该仓库的详细介绍:
项目概述
PDF2Audio
利用OpenAI的GPT模型进行文本生成和文本到语音的转换。用户可以上传多个PDF文件,选择不同的指令模板,还能对生成的草稿转录进行多次编辑,并提供特定的评论或整体指导意见。
主要特性
- 上传多个PDF文件:支持一次性上传多个PDF文件进行处理。
- 多种指令模板:提供不同的指令模板供用户选择,如播客、讲座、摘要等。
- 自定义模型:用户可以自定义文本生成和音频模型。
- 选择不同的语音:可以为不同的演讲者选择不同的语音。
- 迭代草稿:通过特定或一般性的评论、对转录的编辑以及对模型的具体反馈来迭代草稿。
使用方式
在Colab中使用
点击 Open In Colab 徽章,可在Colab中打开该项目的Notebook文件(PDF2Audio.ipynb)进行使用。
本地安装
- 克隆仓库:
bash git clone https://github.com/lamm-mit/PDF2Audio.git cd PDF2Audio
- 安装Miniconda(若未安装):
- 从 Miniconda官网 下载安装程序。
- 按照操作系统的安装说明进行安装。
- 验证安装:
bash conda --version
- 创建Conda环境:
bash conda create -n pdf2audio python=3.9
- 激活Conda环境:
bash conda activate pdf2audio
- 安装依赖:
bash pip install -r requirements.txt
- 设置OpenAI API密钥:
在项目根目录下创建一个
.env
文件,并添加你的OpenAI API密钥:OPENAI_API_KEY=your_api_key_here
运行应用
- 激活Conda环境:
bash conda activate pdf2audio
- 运行Python脚本启动Gradio界面:
bash python app.py
- 打开浏览器,访问终端中提供的URL(通常是
http://127.0.0.1:7860
)。 - 使用Gradio界面上传PDF文件并将其转换为音频。
使用步骤
- 上传一个或多个PDF文件。
- 选择所需的指令模板。
- 根据需要自定义指令。
- 点击“Generate Audio”生成音频内容。
通过Hugging Face Spaces访问
可通过 lamm-mit/PDF2Audio 访问该项目。
注意事项
- 该应用需要OpenAI API密钥才能正常运行。
引用信息
该项目受 https://github.com/knowsuchagency/pdf-to-podcast 和 https://github.com/knowsuchagency/promptic 的代码启发并基于其开发。提供了两篇相关论文的引用信息:
@article{ghafarollahi2024sciagentsautomatingscientificdiscovery,
title={SciAgents: Automating scientific discovery through multi-agent intelligent graph reasoning},
author={Alireza Ghafarollahi and Markus J. Buehler},
year={2024},
eprint={2409.05556},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2409.05556},
}
@article{buehler2024graphreasoning,
title={Accelerating Scientific Discovery with Generative Knowledge Extraction, Graph-Based Representation, and Multimodal Intelligent Graph Reasoning},
author={Markus J. Buehler},
journal={Machine Learning: Science and Technology},
year={2024},
url={http://iopscience.iop.org/article/10.1088/2632-2153/ad7228},
}
项目文件结构
该仓库包含以下主要文件和文件夹:
LICENSE
PDF2Audio.ipynb
README.md
SciAgents discovery summary - example.mp3
app.py
logo.png
requirements.txt
依赖项
项目的依赖项在 requirements.txt
文件中列出,主要包括:
gradio
pandas
openai
pypdf
loguru
promptic
tenacity