综合介绍
Ollama Deep Researcher 是一个完全本地运行的网页研究和报告生成助手,由 LangChain 团队开发。它通过 Ollama 托管的任意大型语言模型(LLM),让用户输入一个研究主题后,自动生成网页搜索查询、收集信息、总结内容并生成带来源的 Markdown 报告。整个过程无需联网调用外部模型,保护隐私且无需额外费用。它支持 DuckDuckGo、Tavily 或 Perplexity 等搜索工具,用户可自定义研究循环次数,适合需要深入研究并生成结构化报告的用户。安装简单,开源免费。
功能列表
- 本地运行语言模型:通过 Ollama 使用本地 LLM,无需外部 API。
- 自动生成搜索查询:根据用户主题,生成准确的网页搜索关键词。
- 网页信息收集:支持 DuckDuckGo(默认)、Tavily 或 Perplexity 搜索。
- 内容总结与优化:分析搜索结果,找出不足并改进总结。
- 生成 Markdown 报告:输出结构化报告,包含所有来源引用。
- 自定义研究深度:用户可设置循环次数,控制研究详细程度。
- 可视化工作流程:通过 LangGraph Studio 查看每步操作。
- 支持多种模型:兼容 DeepSeek R1、Llama 3.2 等模型。
使用帮助
安装流程
Ollama Deep Researcher 需要本地环境支持。以下是详细步骤,适用于 Mac 和 Windows 用户。
Mac 用户
- 安装 Ollama
- 访问 Ollama 官网,下载 Mac 版安装包。
- 安装后,终端运行
ollama --version
检查版本。
- 拉取模型
- 在终端输入:
ollama pull deepseek-r1:8b
下载推荐模型。 - 也可用
ollama pull llama3.2
。
- 在终端输入:
- 克隆项目
- 运行以下命令:
git clone https://github.com/langchain-ai/ollama-deep-researcher.git cd ollama-deep-researcher
- 运行以下命令:
- 创建虚拟环境(推荐)
- 确保 Python 3.9+ 已安装。运行:
python -m venv .venv source .venv/bin/activate
- 确保 Python 3.9+ 已安装。运行:
- 安装依赖并启动
- 输入:
curl -LsSf https://astral.sh/uv/install.sh | sh uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev
- 启动后,浏览器会打开 LangGraph Studio(默认
http://127.0.0.1:2024
)。
- 输入:
Windows 用户
- 安装 Ollama
- 从 Ollama 官网 下载 Windows 版。
- 安装后,命令行运行
ollama --version
验证。
- 拉取模型
- 输入:
ollama pull deepseek-r1:8b
。
- 输入:
- 克隆项目
- 运行:
git clone https://github.com/langchain-ai/ollama-deep-researcher.git cd ollama-deep-researcher
- 运行:
- 创建虚拟环境
- 安装 Python 3.11(安装时勾选“Add to PATH”),然后运行:
python -m venv .venv .venv\Scripts\Activate.ps1
- 安装 Python 3.11(安装时勾选“Add to PATH”),然后运行:
- 安装依赖并启动
- 输入:
pip install -e . pip install -U "langgraph-cli[inmem]" langgraph dev
- 启动后访问
http://127.0.0.1:2024
。
- 输入:
配置搜索工具(可选)
- 默认使用 DuckDuckGo,无需 API 密钥。
- 若用 Tavily 或 Perplexity:
- 复制
.env.example
为.env
。 - 编辑
.env
,添加密钥:TAVILY_API_KEY=your_tavily_key PERPLEXITY_API_KEY=your_perplexity_key
- 可选配置:
OLLAMA_BASE_URL
(默认http://localhost:11434
)。MAX_WEB_RESEARCH_LOOPS
(默认 3)。
- 复制
如何使用
- 打开 LangGraph Studio
- 启动服务后,访问
http://127.0.0.1:2024
。 - 界面分左右两栏:左侧配置,右侧输入和结果。
- 启动服务后,访问
- 配置参数
- 搜索工具:选择 DuckDuckGo、Tavily 或 Perplexity。
- 模型:输入已下载的模型名(如
deepseek-r1:8b
)。 - 循环次数:设置研究深度,默认 3 次。
- 保存配置。
- 输入主题
- 在右侧输入框输入研究主题,如“机器学习的未来”。
- 点击“Run”开始研究。
- 查看过程与结果
- Studio 会显示每步:生成查询、搜索、总结等。
- 完成后,Markdown 报告保存在项目文件夹的 graph state 中。
特色功能操作
- 调整研究深度
- 在配置中改
MAX_WEB_RESEARCH_LOOPS
,如设为 5 次,结果更全面,但耗时增加。
- 在配置中改
- 切换搜索工具
- DuckDuckGo 免费但结果有限,Tavily 更详细(需密钥)。切换后重启服务。
- 模型兼容性检查
- 若报错(如
KeyError: 'query'
),说明模型不支持 JSON 输出。换用 DeepSeek R1 (8B) 或 Llama 3.2。
- 若报错(如
注意事项
- 硬件要求:8B 模型需 8GB 内存,13B 需 16GB。
- 浏览器兼容性:推荐 Firefox,Safari 可能有安全警告。
- 错误排查:若卡顿,检查终端日志,可能需更新依赖或换模型。
应用场景
- 学术研究
- 场景描述:学生输入“神经网络优化方法”,工具搜索并生成带引用的报告,节省查资料时间。
- 行业分析
- 场景描述:企业研究“2025 年 AI 市场趋势”,工具提供详细总结,助力决策。
- 技术学习
- 场景描述:开发者输入“Python 异步编程”,工具生成教程式报告,方便自学。
QA
- 必须联网吗?
- 本地模型无需联网,但搜索网页需要网络。若离线,只能用已有数据。
- 支持中文吗?
- 支持。输入中文主题,工具生成中文结果,但效果因搜索工具而异。
- 报告能修改吗?
- 可以。Markdown 文件可直接编辑。
- 遇到 JSON 错误怎么办?
- 说明模型不支持结构化输出。换 DeepSeek R1 (8B) 或 Llama 3.2 重试。