NotebookLlama 是一个完全开源的工具,基于 LlamaCloud 技术,旨在帮助用户管理文档并生成类似播客的音频内容。它是 Google NotebookLM 的替代品,适合研究人员、学生和商业用户。用户可以上传文档,创建知识库,并通过智能分析提取关键信息。NotebookLlama 还支持将文档内容转化为自然语音的音频,方便用户在移动场景下获取信息。项目托管在 GitHub 上,代码透明,社区支持强大,安装流程清晰,适合技术爱好者和专业人士使用。
功能列表
- 文档上传与管理:支持上传多种格式的文档(如 PDF),构建个人或团队的知识库。
- 知识提取与总结:通过 LlamaCloud 技术,自动分析文档,提取核心内容并生成总结。
- 音频生成:将文档内容转化为类似播客的音频,支持自然语音输出。
- 开源与可定制:代码完全开源,用户可根据需求修改或扩展功能。
- 多平台支持:通过 Docker 和 Streamlit 运行,支持本地或云端部署。
- 智能搜索:提供基于文档内容的智能搜索,快速定位信息。
使用帮助
安装流程
要使用 NotebookLlama,用户需要先完成安装和配置。以下是详细的安装步骤:
- 克隆代码库
在终端运行以下命令,将 NotebookLlama 项目克隆到本地:git clone https://github.com/run-llama/notebookllama
进入项目目录:
cd notebookllama/
- 安装依赖
使用uv
工具安装必要的依赖包:uv sync
确保你的环境中已安装 Python 和
uv
。如果没有,请先安装 Python 3.8 或以上版本,并通过pip install uv
安装uv
。 - 配置 API 密钥
项目需要三个 API 密钥:OpenAI、ElevenLabs 和 LlamaCloud。操作步骤如下:- 打开项目目录中的
.env.example
文件。 - 获取 API 密钥:
OPENAI_API_KEY
:登录 OpenAI 平台,进入账户设置生成密钥。ELEVENLABS_API_KEY
:在 ElevenLabs 官网的设置页面获取。LLAMACLOUD_API_KEY
:访问 LlamaCloud 仪表板获取密钥。
- 将密钥填入
.env.example
文件,然后重命名文件:mv .env.example .env
- 打开项目目录中的
- 运行初始化脚本
执行以下命令,创建 LlamaCloud 索引和提取代理:uv run tools/create_llama_extract_agent.py uv run tools/create_llama_cloud_index.py
- 启动服务
使用 Docker 启动 Postgres 和 Jaeger 服务:docker compose up -d
启动 MCP 服务器:
uv run src/notebookllama/server.py
- 运行 Streamlit 应用
启动 Streamlit 前端界面:streamlit run src/notebookllama/Home.py
安装
ffmpeg
(如果未安装)以支持音频功能:- 在 Ubuntu 上:
sudo apt-get install ffmpeg
- 在 macOS 上:
brew install ffmpeg
- 在 Ubuntu 上:
- 访问应用
打开浏览器,访问http://localhost:8751/
,即可开始使用 NotebookLlama。
主要功能操作
文档上传与知识库创建
- 操作步骤:
- 登录 Streamlit 界面,点击“上传文档”按钮。
- 选择 PDF 或其他支持的文档格式,上传至系统。
- 系统自动解析文档内容,并将其纳入知识库。
- 功能特点:
- 支持批量上传,适合处理大量研究资料。
- 文档内容会自动索引,便于后续搜索和分析。
知识提取与总结
- 操作步骤:
- 在界面选择已上传的文档。
- 点击“提取信息”或“生成总结”按钮。
- 系统会分析文档,输出关键点、摘要或问答内容。
- 功能特点:
- 基于 LlamaCloud 的智能分析,提取准确且简洁。
- 支持用户自定义提取范围,例如仅提取某章节。
音频生成
- 操作步骤:
- 选择需要生成音频的文档或总结内容。
- 点击“生成播客”按钮,系统调用 ElevenLabs API 转换文本为语音。
- 下载生成的音频文件,或直接在线播放。
- 功能特点:
- 音频自然流畅,接近人类播客效果。
- 支持多语言语音输出,适合国际化需求。
智能搜索
- 操作步骤:
- 在界面输入关键词或问题。
- 系统返回相关文档片段或答案。
- 功能特点:
- 搜索结果基于文档内容,准确性高。
- 支持复杂查询,如“总结某文档的主题”。
注意事项
- 确保网络稳定,API 调用需要联网。
- 如果音频生成失败,检查
ffmpeg
是否正确安装。 - 定期更新代码库以获取最新功能:
git pull origin main
。
应用场景
- 学术研究
研究人员可以上传学术论文,快速提取关键信息或生成总结。音频功能适合在通勤时收听论文内容,提高效率。 - 商业分析
企业用户上传市场报告或内部文档,构建知识库。智能搜索和总结功能帮助快速定位关键数据,辅助决策。 - 教育学习
学生上传教材或讲义,生成总结或音频,方便复习。音频功能尤其适合听觉学习者。 - 内容创作
播客创作者可将文章或笔记转化为音频,快速生成播客内容,节省录制时间。
QA
- NotebookLlama 支持哪些文档格式?
目前支持 PDF、TXT 等常见格式,未来可能扩展更多格式。 - 是否需要付费使用 API?
是的,OpenAI、ElevenLabs 和 LlamaCloud 的 API 需要各自的付费账户。用户需自行注册并获取密钥。 - 本地部署是否需要高性能硬件?
一般家用电脑(8GB 内存,4 核 CPU)即可运行。Docker 部署需要约 10GB 磁盘空间。 - 音频生成的语音效果如何?
语音由 ElevenLabs 提供,接近人类播音员水平,支持多种语言和语调。