MAESTRO 是一个开源的 AI 研究工具,旨在帮助用户处理复杂的科研任务。它通过文档管理、检索增强生成(RAG)和多代理协作,提供从研究规划到报告生成的完整流程。用户可以上传 PDF 文档,借助 AI 代理完成信息检索、分析和报告撰写。MAESTRO 支持自托管,适合需要高效整理和分析大量信息的用户,例如学者、分析师和开发者。项目基于 Python 和 Docker 构建,界面友好,操作灵活,适合个人或团队协作。
功能列表
- 文档管理:上传和管理 PDF 文件,构建可查询的知识库。
- 检索增强生成(RAG):结合文档检索和生成技术,提供精准的响应。
- 多代理协作:包含规划、研究、反思和写作代理,自动分解任务并生成报告。
- 自托管部署:通过 Docker 容器化运行,保护数据隐私。
- 网页界面:基于 Streamlit 的直观界面,方便操作和查看结果。
- 报告生成:自动生成结构化研究报告,支持迭代优化。
- 自定义配置:支持用户设置 API 密钥和网络参数,灵活适配需求。
使用帮助
安装流程
MAESTRO 是一个自托管的工具,推荐使用 Docker 进行部署。以下是详细的安装步骤,确保用户能够快速上手。
- 准备环境
- 确保系统已安装以下软件:
Docker
和Docker Compose
:用于容器化运行。Git
:用于克隆代码仓库。- NVIDIA GPU(可选):提高嵌入和排序模型的性能。
- 磁盘空间:约 5GB 用于存储 AI 模型(首次运行自动下载)。
- 检查系统是否支持 Python 3.x。
- 确保系统已安装以下软件:
- 克隆代码仓库
在终端中运行以下命令,下载 MAESTRO 的源代码:git clone https://github.com/murtaza-nasir/maestro.git cd maestro
- 配置环境变量
- 运行提供的配置脚本,生成
.env
文件:./setup-env.sh
- 脚本会引导用户设置网络参数和 API 密钥。用户需要提供必要的 API 密钥(例如语言模型或外部服务的密钥)。
- 也可以手动复制
.env.example
文件并编辑:cp .env.example .env
编辑
.env
文件,填入 API 密钥和其他配置,例如:API_KEY=your_api_key_here PORT=3030
- 运行提供的配置脚本,生成
- 构建并运行
- 使用 Docker Compose 构建和启动服务:
docker compose up --build -d
- 此命令会在后台启动 MAESTRO 的容器。首次运行会自动下载所需的 AI 模型。
- 等待容器启动完成,通常需要几分钟。
- 使用 Docker Compose 构建和启动服务:
- 访问 MAESTRO
- 打开浏览器,访问配置的地址(默认是
http://localhost:3030
)。 - 使用默认登录凭据:用户名
admin
,密码adminpass123
。 - 登录后立即更改默认密码,以确保安全。
- 打开浏览器,访问配置的地址(默认是
使用主要功能
MAESTRO 的核心功能围绕文档管理、研究任务和报告生成展开。以下是详细的操作指南。
文档管理
- 上传文档:登录后,进入“文档库”页面。点击“上传”按钮,选择 PDF 文件,或直接拖放文件到指定区域。系统会自动将 PDF 转换为可查询的知识库。
- 管理文档:在文档库中,用户可以查看已上传的文件列表,支持删除或重新整理文件。每个文件会显示上传时间和大小,方便管理。
- 搜索文档:通过搜索栏输入关键词,系统会基于 RAG 技术返回与关键词相关的文档内容。
研究任务
- 创建任务:在“任务”页面,点击“新建任务”。输入研究目标,例如“分析气候变化对农业的影响”。系统会自动调用规划代理分解任务。
- 执行任务:规划代理会生成子任务,分配给研究代理和反思代理。用户可以在任务页面实时查看进度,代理会从文档和网络中收集信息。
- 反思与优化:反思代理会检查研究结果的完整性和准确性。如果发现不足,系统会自动调整任务计划,重新收集数据。
报告生成
- 生成报告:研究完成后,写作代理会根据收集的数据生成报告草稿。用户可以在“报告”页面预览内容。
- 编辑与优化:点击“编辑”按钮,进入写作界面。用户可以手动修改报告内容,或让反思代理进一步优化,确保报告逻辑清晰、内容准确。
- 导出报告:支持将报告导出为 PDF 或 Markdown 格式,方便分享或存档。
自定义设置
- 在“设置”页面,用户可以调整语言模型参数,例如选择不同的生成模型或调整生成内容的语气。
- 支持多用户管理,管理员可以在“用户管理”页面添加或删除用户,分配权限。
注意事项
- 确保 Docker 服务正常运行,避免端口冲突。
- 首次运行可能因模型下载而较慢,请耐心等待。
- 如果需要更高的性能,推荐使用 NVIDIA GPU 加速。
应用场景
- 学术研究
学者可以上传学术论文,快速提取关键信息并生成综述报告。例如,分析多篇论文中的核心观点,整理成结构化的研究报告。 - 数据分析
分析师可以利用 MAESTRO 处理行业报告,提取数据并生成分析总结,适合快速生成市场趋势报告。 - 内容创作
作家或记者可以上传背景资料,借助 MAESTRO 整理信息,生成文章初稿,节省研究时间。 - 团队协作
研究团队可以通过 MAESTRO 的多用户功能,共享文档和任务,协同完成复杂项目。
QA
- MAESTRO 是否需要联网运行?
MAESTRO 支持离线运行,但首次运行需要联网下载模型。如果任务涉及网络搜索,需保持联网状态。 - 如何确保数据隐私?
MAESTRO 是自托管工具,数据存储在本地服务器,用户完全控制数据。建议定期备份.env
文件和文档库。 - 是否支持非 PDF 文件?
当前版本主要支持 PDF 文件,未来可能扩展到其他格式。用户可将其他格式转换为 PDF 后上传。 - 如何优化报告质量?
用户可以在任务设置中调整模型参数,或手动编辑报告内容。多次运行反思代理也能提高报告的准确性。