项目简介
这个 NVIDIA AI 蓝图展示了开发者如何构建一个将 PDF 转换为引人入胜的音频内容的应用程序。基于 NVIDIA NIM,此蓝图灵活,可以在私有网络上安全运行,提供可操作的见解,而无需共享敏感数据。
蓝图接受一个目标 PDF 文件,并可选项地接受多个上下文 PDF 文件。目标 PDF 文件将是生成转录本的主要信息来源,而上下文 PDF 文件将作为代理使用的额外参考资料。用户还可以可选地指定一个引导提示,这将给代理生成的转录本提供一个焦点(例如:“关注 NVIDIA 第三季度收益报告的关键驱动因素”)。
关于 PDF、代理和 TTS 服务流程的更多信息,请参阅 mermaid 图
硬件要求
以下是硬件要求,这些要求取决于您如何选择部署蓝图。部署此蓝图有两种方式:
-
默认 - 使用 NVIDIA API 目录 NIM 端点
-
8 CPU 核心
-
64 GB RAM
-
100GB 磁盘空间
-
公共 IP 地址也是必需的
本地托管 NVIDIA NIM
注意:为了大规模运行蓝图并加快 PDF 的预处理,建议使用 GPU 运行 PDF 摄取/提取流程。
先决条件
快速入门指南
-
Docker Compose
系统要求:基于 Ubuntu 20.04 或 22.04 的机器,具有 sudo 权限
安装软件要求:
-
安装 Docker 引擎和 Docker Compose。请参考 Ubuntu 的说明。
-
确保 Docker Compose 插件版本为 2.29.1 或更高。
-
运行 docker compose 版本以确认。
-
参考 Docker 文档中安装 Compose 插件的部分以获取更多信息。
-
配置 Docker 以支持 GPU 加速容器,请安装 NVIDIA 容器工具包。
-
安装 git
-
获取 API 密钥:
NVIDIA 推理微服务(NIM)
-
有两种方法可以生成 NIM 的 API 密钥:
-
选择登录后下拉菜单中的您的组织。您必须选择已启用 NVIDIA AI Enterprise (NVAIE) 的组织。
-
点击右上角的您的账户,从下拉菜单中选择“设置”。
-
点击“生成个人密钥”选项,然后点击“+ 生成个人密钥”按钮以创建您的 API 密钥。
-
点击“生成 API 密钥”选项,然后点击“+生成 API 密钥”按钮以创建 API 密钥。
-
此内容将用于 NVIDIA_API_KEY 环境变量。
-
点击任何模型,然后点击“获取 API 密钥”,最后点击“生成密钥”。
-
登录 NVIDIA 构建门户,使用您的电子邮件地址。
-
登录 NVIDIA NGC 门户,使用您的电子邮件地址。
重要:此内容将在下面的 NVIDIA_API_KEY 环境变量中使用。
-
Clone the repo
克隆仓库
4. 设置环境变量
echo "ELEVENLABS_API_KEY=your_key" >> .env
echo "NVIDIA_API_KEY=your_key" >> .env
echo "MAX_CONCURRENT_REQUESTS=1" >> .env
-
安装依赖项
我们使用 UV 来管理 Python 依赖项。
这将:
-
安装 UV,如果尚未安装
-
创建虚拟环境
-
安装项目依赖项
如果您打开一个新的终端窗口并希望快速重用相同的环境,可以再次运行 make uv。
-
启动开发服务器
注意:第一次运行 make all-services 时,docling 服务可能需要 10-15 分钟来拉取和构建。后续运行将快得多。
此命令将:
注意:将 DETACH 设置为 1 以在分离模式下运行服务,以便在服务运行时继续使用您的终端。
-
查看 Swagger API 文档
要查看 API 的 Swagger UI,您可以在本地查看它们在
localhost:8002/docs
。如果在虚拟机上运行此程序,您需要在本地上转发 8002 端口或在外部公开该端口。