>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Python

如何将本地神经网络转变为自主互联网研究助手

标准网络访问聊天机器人的工作模式很简单:你提出问题,模型执行一次搜索查询,获取几条摘要,然后生成快速回复。如果主题很复杂,浅层的搜索远远不够。你最终还是要手动打开链接、重新调整查询、一点一点地拼凑事实。

Automated-AI-Web-Researcher-Ollama项目采用了不同的方式。这是一个Python控制台工具,可以将运行在Ollama上的本地语言模型转变为自主研究代理。你只需提出一个问题,运行脚本,然后就可以悠闲地去喝咖啡了。程序本身会将主题分解为子任务,通过DuckDuckGo搜索文章、解析网站、提取文本,并基于发现的资料进行迭代深入研究。

My Project Demo

核心原理与工作机制

项目作者将此工具作为开源原型,用于与开源模型配合工作。所有文本处理都在你的机器上完成,因此查询和下载的文本不会发送到OpenAI或Anthropic等第三方服务器。

算法流程如下:

  1. 你提出研究主题。例如:@В каком году население Земли начнет сокращаться по прогнозам демографов?
  2. 模型分析问题并创建五个具体搜索方向的列表,按优先级排序。
  3. 脚本依次针对每个方向生成搜索查询、发送到DuckDuckGo、选择合适的页面并解析其内容。
  4. 所有找到的文本及链接立即保存到本地文本文件。
  5. 完成第一轮后,模型分析收集的数据,识别不足,并创建下一轮搜索方向列表。

循环持续进行直到你停止进程。在短时间内,脚本能够执行数十次搜索查询并下载数十个页面。

当你按下停止命令时,LLM会审查整个累积的文件,并撰写一份带有来源链接的详细最终报告。随后立即激活交互模式,你可以就收集的知识库提出后续问题。

安装与配置

你需要安装Ollama和Python 3.10或更高版本。由于脚本需要收集大量文本,模型需要较长的上下文窗口。作者推荐使用具有128k上下文窗口的Phi-3系列(例如,phi3:3.8b-mini-128k-instructphi3:14b-medium-128k-instruct)。

克隆仓库并创建虚拟环境:

git clone https://github.com/TheBlewish/Automated-AI-Web-Researcher-Ollama
cd Automated-AI-Web-Researcher-Ollama
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Windows用户需要切换到feature/windows-support分支。

然后打开llm_config.py文件并配置与Ollama的连接:

LLM_CONFIG_OLLAMA = {
    "llm_type": "ollama",
    "base_url": "http://localhost:11434",
    "model_name": "phi3:3.8b-mini-128k-instruct",
    "temperature": 0.7,
    "top_p": 0.9,
    "n_ctx": 55000,
    "stop": ["User:", "\n\n"]
}

n_ctx参数用于设置以token为单位的上下文窗口大小。根据你可用的RAM和显存进行调整。

启动Ollama服务器和脚本本身:

ollama serve
python Web-LLM.py

在控制台中输入@符号,编写你的问题,然后按CTRL+D开始运行。

管理研究过程

脚本执行期间终端会显示状态指示器。整个过程是完全交互式的。你可以随时向工具传递单字符命令(每个命令都需要按CTRL+D确认):

  • s显示当前状态和收集材料的统计信息。
  • f输出模型当前正在思考的搜索方向。
  • p暂停收集。模型快速评估累积的材料,并报告是否有足够的信息来给出全面的回答。然后你选择是继续收集(c)还是结束收集(q)。
  • q立即停止研究并触发最终摘要生成。

停止后,所有源材料、链接和结构化摘要都保留在工作文件夹中的文本文件里。

注意事项

项目处于工作原型阶段。代码写得相当直接,没有使用LangChain或AutoGen等重型框架,这实际上是一个优点:解析逻辑和与Ollama的交互易于阅读和修改以适应你自己的任务。

有几个细节需要注意:

  • 速度直接取决于你的硬件配置。如果你在CPU上运行具有50k token上下文的14B参数模型,生成中间步骤将需要相当长的时间。在具有12-16 GB显存的GPU上,这个工具运行得非常快。
  • 对于深度分析,最好使用具有良好长上下文支持的模型。除了Phi-3,现代的Mistral NeMo或Qwen 2.5也非常适合。
  • 页面解析器比较基础,因此具有大量客户端JavaScript的复杂网站可能返回不完整的内容。

谁会发现这个工具很有用

这个脚本对需要快速深入研究新技术的开发者和分析师很有帮助,比如收集稀有库的技术文档或分析市场趋势。代替单调的浏览器浏览,你可以将任务委托给本地代理,并立即获得一份带有经验证链接的现成摘要。

如果你正在尝试基于Ollama的代理管道,这个项目是一个很好的示例,展示了如何用最少的依赖在开源模型上构建自主研究循环。

相关项目