发布时间:2025-08-12 16:13:32编辑:Run阅读(20)
ReAct(Reasoning and Acting)是一种将推理与行动相结合的框架,用于增强智能体在复杂任务中的表现。该框架通过将逻辑推理与实际行动紧密结合,使智能体能够在动态环境中更有效地完成任务。
本文档介绍了如何使用 ReAct 框架在 Ollama 中实现本地代理(Agent)。通过结合 Ollama 的功能与 ReAct 的灵活性,用户能够在本地环境中创建一个高效的交互式代理。此实现能够处理复杂任务,支持多种交互模式,并且优化了任务自动化和用户体验,适合需要高实时性的本地应用场景。
Agent是有推荐决策的能力,能通过用户的问题,得出每一步的Action、Observation、Thought,最终得出的Final Answer。这里就不自行编写相关tools了(也可以自己写个爬虫实现在线联网搜索功能),使用Python库google-search-results来实现Agent在线联网搜索功能。
而在使用google-search之前,需要serpapi.com/注册后获取SERPAPI_API_KEY。
在获取到SERPAPI_API_KEY后,通过代码“os.environ["SERPAPI_API_KEY"]”将key加载到环境变了中,并通过代码加载搜索工具、初始化Agent。
from langchain_community.llms import Ollama from langchain_community.agent_toolkits.load_tools import load_tools from langchain.agents import initialize_agent from langchain.agents import AgentType import os os.environ["SERPAPI_API_KEY"] = "google search api key" #1、加载本地ollama大模型,对中文更友好 llm = Ollama(model="psychology:latest") #2、加载在线搜索工具serpapi。 tools = load_tools(["serpapi"], llm=llm) #3、最后,让工具、模型、代理类型等参数初始化代理,verbose=True打开日志 agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True, handle_parsing_errors=True) #4、由于昨天国足刚刚公布了美加墨世界杯亚洲区预选赛十八强赛的人员名单,我们就用最新的国足名单来测试一下 agent.run("中国男足最新名单,通过表格方式给出所有人员的名单")
结果如下:结果是准确的
本地大模型对比
这是同样的描述,直接通过ollama向qwen3模型进行提问的结果,可以说是一本正经的胡说八道了,因为本地模型没有最新的数据。
下一篇: 没有了
49887
49132
39810
36853
31241
28080
27033
21840
21772
20120
20°
34°
218°
253°
868°
1559°
1463°
1245°
2514°
1515°