基于LLM+SearxNG的实时网络搜索agent
LLM时代大量的信息来源于网络,并且具有明显的实时特征,比如热点、股价、新闻。
这里尝试结合开源版本的聚合搜索工具SearxNG,构建实时网络搜索agent。
所用到的示例代码参考和修改自网络资料。
1 SearxNG
SearxNG是开源的网络搜索聚合工具,支持配置bing、github等多款搜索引擎。
这里尝试结合langchain,通过SearxNG访问实时网络信息。
1.1 实例访问
结合langchain_community创建SearxNG,示例网络搜索过程。
from langchain_community.utilities import SearxSearchWrapper
s = SearxSearchWrapper(searx_host="http://172.26.70.16:8080", engines=["bing"])
out = s.run("LLM,large language model?")
print(out)
输出如下
Apr 17, 2023 · 大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。 它们在大量的文本数据上进行训练,可以执行 …
Aug 26, 2025 · 《Build a Large Language Model (From Scratch)》是一本深入探讨大语言模型原理与实现的电子书,适合希望深入了解 GPT 等大模型架构、训练过程及应用开发的学习者。
Dec 26, 2023 · 大语言模型(英语:Large Language Model,简称LLM)是指使用大量文本数据训练的深度学习模型,使得该模型可以生成自然语言文本或理解语言文本的含义。
Feb 8, 2025 · 大语言模型(英文:Large Language Model,缩写LLM),也称大型语言模型,是一种人工智能模型,旨在理解和生成人类语言。 通常,大语言模型 (LLM) 指包含 数百亿(或 …
Aug 30, 2024 · 本文全面梳理了大型语言模型 (LLM)的发展历程、关键技术与应用前景,深入探讨了LLM的训练方法、能力评估、应用场景等核心问题,为读者提供了对LLM领域的系统性认知。
Feb 9, 2024 · In this paper, we review some of the most prominent LLMs, including three popular LLM families (GPT, LLaMA, PaLM), and discuss their characteristics, contributions and …
Mar 5, 2025 · 大语言模型(Large Language Models,LLM)是一种由包含数百亿以上权重的深度神经网络构建的语言模型,使用自监督学习方法通过大量无标记文本进行训练。
5 days ago · 大语言模型(LLM)能够通过处理海量文本数据来理解和生成人类语言的 AI 系统。 了解大语言模型(LLM)在自然语言处理、AI 自动化与企业场景中的应用与发展。
Feb 6, 2025 · 一 定义 Large Language Model,称大规模语言模型或者大型语言模型,是一种基于大量数据训练的统计语言模型,可用于生成和翻译文本和其他内容,以及执行其他自然语言处 …
1.2 工具访问
通过定义基于searx-search的工具,实现对网络资源的访问,示例代码如下所示。
from langchain_community.agent_toolkits.load_tools import load_tools
tools = load_tools(["searx-search"],searx_host="http://localhost:8080",engines=["bing"])
out = tools[0].run("what is a large language model?")
print(out)
输出如下
Feb 10, 2019 · a large amount of 和 large amounts of的区别: 1、a large amount of + 不可数名词,谓语动词用单数;large amounts of+ 不可数名词, 谓语动词用复数 例:A large amount of …
Apr 27, 2019 · 一、词义辨析不一样 big adj. 大的 〔辨析〕常用词,使用广泛,较口语化。多指体积、重量或容量等方面的“大”,有时也用于描写抽象之物。 〔例证〕The box is too big/large …
Apr 15, 2016 · 他有一大笔钱。 3、large强调远远超过标准的”大”,可指”数量、容量、体积和面积的大”,比big正式,反义词是small。 Shall we go to the largest island or the smallest one? 我 …
Nov 16, 2022 · big 、huge、 large 区别: 1、big最通俗、常用,强调比正常程度、范围及规模的标准大,常用于修饰人、物或数量。反义词是little和small。 2、 huge强调尺寸、体积”庞大”, …
Feb 16, 2014 · large函数是excel中的统计函数,可以用来计算区域中从大往小数排名第几的数值。 语法: large(array,k) 其中 array表示我们要统计的数组或区域。 k表示要查询从大往小排名 …
Aug 27, 2017 · a large number of 和 a large amount of 在意思上相同,但用法不一样。 区别: ①所能修饰的名词有区别:a large number of 只可以修饰可数名词复数形式;a large amount …
Aug 20, 2009 · big和large的区别,little和small的区别一、big和large的词义辨析不一样:1、big 〔辨析〕普通用词,主要形容面积、体积、范围之大,可与 large 换用,但更为通俗;形容人的 …
Apr 24, 2019 · EXCEL里large公式的使用步骤如下: 1.以这个成绩的例子计算各名次的分数。 2.在D2单元格中输入=LARGE (B2:B10,1)。 3.结果是91,是所有班级中排名第一的成绩。 4.在D4 …
May 7, 2025 · 谓语动词形式: 无论是”a large number of”还是”large numbers of”,由于它们后面接的是可数名词的复数形式,因此谓语动词通常也使用复数形式。 例如:”A large number of …
May 3, 2019 · 今天要和大家分享的是:LARGE函数和SUMIF函数的嵌套:求前几名的和详见下图动态演示和步骤分解。
如果要求searxNG返回json数据,则可以采用如下所示的基于工具的示例代码。
tools = load_tools(["searx-search-results-json"],searx_host="http://localhost:8080",engines=["bing"],num_results=5)
out = tools[0].run("what is a large language model?")
print(out)
输出如下
[{'snippet': 'Feb 10, 2019 · a large amount of 和 large amounts of的区别: 1、a large amount of + 不可数名词,谓语动词用单数;large amounts of+ 不可数名词, 谓语动词用复数 例:A large amount of …', 'title': 'a large amount of 和 large amounts of的区别_百度知道', 'link': 'https://zhidao.baidu.com/question/1669546059753730427.html', 'engines': ['bing'], 'category': 'general'}, {'snippet': 'Apr 27, 2019 · 一、词义辨析不一样 big adj. 大的 〔辨析〕常用词,使用广泛,较口语化。多指体积、重量或容量等方面的“大”,有时也用于描写抽象之物。 〔例证〕The box is too big/large …', 'title': 'big 和large的用法和区别。_百度知道', 'link': 'https://zhidao.baidu.com/question/511546645.html', 'engines': ['bing'], 'category': 'general'}, {'snippet': 'Apr 15, 2016 · 他有一大笔钱。 3、large强调远远超过标准的”大”,可指”数量、容量、体积和面积的大”,比big正式,反义词是small。 Shall we go to the largest island or the smallest one? 我 …', 'title': '英语中三个”大”字的区别big,huge,large_百度知道', 'link': 'https://zhidao.baidu.com/question/985655048894208179.html', 'engines': ['bing'], 'category': 'general'}, {'snippet': 'Nov 16, 2022 · big 、huge、 large 区别: 1、big最通俗、常用,强调比正常程度、范围及规模的标准大,常用于修饰人、物或数量。反义词是little和small。 2、 huge强调尺寸、体积”庞大”, …', 'title': 'big huge large 区别 - 百度知道', 'link': 'https://zhidao.baidu.com/question/139456564.html', 'engines': ['bing'], 'category': 'general'}, {'snippet': 'Aug 20, 2009 · big和large的区别,little和small的区别一、big和large的词义辨析不一样:1、big 〔辨析〕普通用词,主要形容面积、体积、范围之大,可与 large 换用,但更为通俗;形容人的 …', 'title': 'big和large的区别,little和small的区别 - 百度知道', 'link': 'https://zhidao.baidu.com/question/113076605.html', 'engines': ['bing'], 'category': 'general'}]
2 LLM + SearxNG
这里将SearxNG作为工具,结合LLM实现实时网络搜索agent。
2.1 设置tools
这里基于langchain,结合SearxNG构建实时网络搜索工具,示例代码如下所示。
from langchain_community.agent_toolkits.load_tools import load_toolstools = load_tools(["searx-search-results-json"],searx_host="http://localhost:8080",engines=["bing"],num_results=5)
out = tools[0].run("what is a large language model?")
print(out)
删除参考1.2章节。
2.2 设置agent
这里基于langchain构建agent,
llm采用deepseek-r1,agent提示词为
"You are an agent designed to interact with a SearXNG searching engine."
通过create_react_agent创建agent,示例代码如下所示。
import osos.environ['OPENAI_API_KEY'] = "sk-xxxxx" # LLM令牌
os.environ['OPENAI_BASE_URL'] = "http://llm_provider_url" # LLM的openai兼容的部署urlfrom langchain_openai import ChatOpenAI
from langchain_core.messages import SystemMessage
from langchain_core.messages import HumanMessage
from langgraph.prebuilt import create_react_agentllm = ChatOpenAI(model="deepseek-r1")agent_prefix = """You are an agent designed to interact with a SearXNG searching engine.
"""
system_message = SystemMessage(content=agent_prefix)agent_executor = create_react_agent(llm, tools, prompt=system_message)
2.3 运行agent
运行agent,输入问题为
土味说车
示例代码如下所示,为更详细示例运行过程,这里打印每个action的输出。
for s in agent_executor.stream({"messages": [HumanMessage(content="土味说车")]}
):print(s)print("----")
agent输出如下所示,
首先,agent确定调用工具searx_search_results,输入为"土味说车"
然后,searx_search_results工具调用SearxNG运行实时网络搜索,获取土味说车的资料。
最后,agent结合searx_search_results的返回资料,并不是盲目的整合资料,而是能感知并合理整个多个网页的资料。
{'agent': {'messages': [AIMessage(content='', additional_kwargs={'tool_calls': [{'id': 'call_81908c0ef7fc4600a50b97', 'function': {'arguments': '{"query": "土味说车"}', 'name': 'searx_search_results'}, 'type': 'function', 'index': 0}], 'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 154, 'prompt_tokens': 203, 'total_tokens': 357, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'deepseek-r1', 'system_fingerprint': None, 'id': 'chatcmpl-4daf0687-c889-4fe3-aa8d-e21d4a459490', 'service_tier': None, 'finish_reason': 'tool_calls', 'logprobs': None}, id='run--a9065388-61b8-4a2c-8073-0cb79349f1d3-0', tool_calls=[{'name': 'searx_search_results', 'args': {'query': '土味说车'}, 'id': 'call_81908c0ef7fc4600a50b97', 'type': 'tool_call'}], usage_metadata={'input_tokens': 203, 'output_tokens': 154, 'total_tokens': 357, 'input_token_details': {}, 'output_token_details': {}})]}}
----
{'tools': {'messages': [ToolMessage(content="[{'snippet': '2 days ago · 极目新闻记者 李贤诚 “老板买车吗?这大轱辘你喜欢吗?黢黑式轮毂喜欢吗?”近日,哈尔滨一雷克萨斯汽车经销店保洁阿姨因一条“土味说车 ...', 'title': '哈尔滨一雷克萨斯店保洁阿姨拍“土味说车”视频出圈,播放量 ...', 'link': 'https://news.qq.com/rain/a/20251104A05D8V00', 'engines': ['bing'], 'category': 'general'}, {'snippet': '1 day ago · 保洁阿姨“土味说车”视频火了,“老板买车吗? 这大轱辘你喜欢吗? ”单条播放量最高达500多万,多家品牌经销店纷纷效仿保洁阿姨说车_哔哩哔哩_bilibili', 'title': '保洁阿姨“土味说车”视频火了,“老板买车吗?这大轱辘你 ...', 'link': 'https://www.bilibili.com/video/BV1fJ1sB1EyA/', 'engines': ['bing'], 'category': 'general'}, {'snippet': '1 day ago · 爆火! 58岁保洁阿姨拍“土味说车”视频出圈:这黢黑大轱辘你喜欢吗--快科技--科技改变未来', 'title': '爆火!58岁保洁阿姨拍“土味说车”视频出圈:这黢黑大轱辘你 ...', 'link': 'https://news.mydrivers.com/1/1084/1084562.htm', 'engines': ['bing'], 'category': 'general'}, {'snippet': '1 day ago · 保洁阿姨拍“土味说车”视频出圈。“老板买车吗?这大轱辘你喜欢吗?黢黑式轮毂喜欢吗?”近日,哈尔滨一雷克萨斯汽车经销店保洁阿姨因一条“土味说车”的视频,走红网络。凭借着 …', 'title': '保洁阿姨拍“土味说车”视频出圈:老板买车吗?这大轱辘你 ...', 'link': 'https://news.china.com/socialgd/10000169/20251105/48964299.html', 'engines': ['bing'], 'category': 'general'}, {'snippet': '2 days ago · 【极目新闻】58岁保洁“土味说车”视频出圈,播放量最高达五百多万,经销商竞相模仿,还有门店邀请门卫大爷出镜说车-超过1万粉丝4万作品在等你_资讯视频-免费在线观看-爱 …', 'title': '58岁保洁“土味说车”视频出圈,播放量最高达五百多万,经销 ...', 'link': 'https://www.iqiyi.com/v_ql68obn4w4.html', 'engines': ['bing'], 'category': 'general'}]", name='searx_search_results', id='4b8c380b-c0fd-48b6-9c23-f2d83d058e6b', tool_call_id='call_81908c0ef7fc4600a50b97')]}}
----
{'agent': {'messages': [AIMessage(content='根据搜索结果,“土味说车”近期因哈尔滨一位58岁的保洁阿姨拍摄的视频而走红网络。以下是相关信息的总结:\n\n1. **事件背景**:\n - 哈尔滨一家雷克萨斯汽车经销店的保洁阿姨拍摄了一条“土味说车”视频,以幽默接地气的语言介绍汽车,例如:“老板买车吗?这大轱辘你喜欢吗?黢黑式轮毂喜欢吗?”\n - 视频在网络上迅速传播,单条最高播放量超过500万,引发广泛关注。\n\n2. **视频内容**:\n - 保洁阿姨用方言和夸张的表达方式介绍汽车配置,风格诙谐生动,被网友称为“土味说车”。\n - 视频中提到的“黢黑式轮毂”“大轱辘”等描述成为热点词汇。\n\n3. **后续影响**:\n - 多家汽车品牌经销店纷纷效仿,推出类似风格的视频,甚至有门店邀请门卫大爷参与拍摄。\n - 这一现象被媒体称为“土味营销”,展示了草根创意的传播力。\n\n4. **媒体报道**:\n - 该事件被极目新闻、腾讯新闻、哔哩哔哩等多家平台报道,成为近期热门话题。\n\n如需查看具体视频或报道,可点击以下链接:\n- [保洁阿姨“土味说车”视频(哔哩哔哩)](https://www.bilibili.com/video/BV1fJ1sB1EyA/)\n- [极目新闻详细报道](https://www.iqiyi.com/v_ql68obn4w4.html)', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 720, 'prompt_tokens': 893, 'total_tokens': 1613, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'deepseek-r1', 'system_fingerprint': None, 'id': 'chatcmpl-b274cdbd-a1cb-4572-bc43-16651649fa3f', 'service_tier': None, 'finish_reason': 'stop', 'logprobs': None}, id='run--dfe05868-6bda-47a4-97e5-a074188c0324-0', usage_metadata={'input_tokens': 893, 'output_tokens': 720, 'total_tokens': 1613, 'input_token_details': {}, 'output_token_details': {}})]}}
reference
---
Mac M1探索AnythingLLM + Docker SearXNG
https://blog.csdn.net/liliang199/article/details/150279652
如何在程序中通过API访问SearXNG
https://blog.csdn.net/liliang199/article/details/150354838
SearxNG Search API
https://docs.langchain.com/oss/python/integrations/providers/searx
LangChain-SearXNG
https://github.com/ptonlix/LangChain-SearXNG/tree/main
