
Ollama-Deep-Researcher-本地Mac结合魔搭社区模型搭建网页研究助手
Ollama Deep Researcher 是一款完全本地化的网络研究助手,可使用Ollama托管的任何 LLM 。输入一个主题,它将生成网络搜索查询,收集网络搜索结果(默认通过Tavily),总结
01.Ollama-Deep-Researcher
Ollama Deep Researcher 是一款完全本地化的网络研究助手,可使用Ollama托管的任何 LLM 。输入一个主题,它将生成网络搜索查询,收集网络搜索结果(默认通过Tavily),总结网络搜索结果,反思总结以检查知识差距,生成新的搜索查询以解决差距,搜索并改进总结,循环次数由用户定义。它将为用户提供最终的 markdown 摘要,其中包含所有使用的来源。
02.工作原理
Ollama Deep Researcher 的灵感来自IterDRAG。这种方法会将查询分解为子查询,检索每个子查询的文档,回答子查询,然后通过检索第二个子查询的文档来构建答案。在Ollama Deep Researcher,我们做类似的事情:
-
给定用户提供的主题,使用本地 LLM(通过Ollama)生成网络搜索query
-
使用搜索引擎(配置为DuckDuckGo、Tavily或Perplexity,本文推荐Tavily)查找相关来源
-
使用 LLM 总结与用户提供的研究主题相关的网络搜索结果
-
然后,利用LLM来反思总结,找出知识差距
-
LLM生成新的搜索查询来解决知识空白
-
该过程不断重复,摘要会根据来自网络搜索的新信息不断更新
-
运行可配置的迭代次数(见configuration标签)
03.本地Mac最佳实践
下载ollama并准备模型
点击ollama一键下载。下载后进行启用:
ollama serve
准备需要的模型,在魔搭社区的的模型页(https://modelscope.cn/models?name=gguf&page=1)或者ollama的模型页(https://ollama.com/search)中选择合适的的大模型
以QWQ 32B的模型为例,使用该模型:
ollama run modelscope.cn/Qwen/QwQ-32B-GGUF
下载并配置ollama-deep-researcher
下载ollama-deep-researcher代码库 :
git clone https://github.com/langchain-ai/ollama-deep-researcher.git
cd ollama-deep-researcher
创建环境变量文件.env,配置环境变量
cp .env.example .env
将下面的内容填入.env文件,其中:
OLLAMA_MODEL:使用的模型名称,可以换成你在ollama下载好的模型
SEARCH_API:查找网页使用的浏览器名称,从duckduckgo、tavily、perplexity中选一个,duckduckgo不需要API_KEY,其余两个需要前往对应网站获取API_KEY(由于网络限制,可以先在浏览器中测试是否能打开这几个网站)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=qwq
SEARCH_API=tavily
TAVILY_API_KEY=tvly-xxxxx
PERPLEXITY_API_KEY=pplx-xxxxx
MAX_WEB_RESEARCH_LOOPS=3
FETCH_FULL_PAGE=
本文推荐的网络搜索工具为tavily:https://tavily.com/
04.使用 LangGraph 服务器开始运行
输入下面的命令开始运行:
curl -LsSf https://astral.sh/uv/install.sh | sh
uvx --refresh --from "langgraph-cli[inmem]" --with-editable . --python 3.11 langgraph dev
打开提示的本地网址127.0.0.1:2024,输入问题,开始分析吧~
05.输出
图表的输出是一个 markdown 文件,其中包含研究摘要以及所用来源的引用。
研究期间收集的所有来源都保存到图形状态中。
可以在图形状态中对它们进行可视化,可在 LangGraph Studio 中看到:
更多推荐
所有评论(0)