当前位置: 首页 > news >正文

SERP API + LangChain:10 行代码做实时搜索 Agent

背景

LangChain 的 agent 需要工具,Google 搜索是最常见的一个。SERP API 的/google/search包装成 LangChain Tool 只需要几行。

安装

pipinstalllangchain langchain-anthropic requests

Tool 定义

importrequestsfromlangchain.toolsimportTool API_KEY="your-serpbase-key"ENDPOINT="https://api.serpbase.dev/google/search"defserp_search(query:str)->str:r=requests.post(ENDPOINT,headers={"X-API-Key":API_KEY},json={"q":query,"gl":"us","hl":"en","num":5},timeout=10,)r.raise_for_status()data=r.json()parts=[]fori,iteminenumerate(data.get("organic",[]),1):parts.append(f"[{i}]{item['title']}\n{item['link']}\n{item.get('snippet','')}")paa=data.get("people_also_ask",[])ifpaa:parts.append("\nRelated Questions:")forqinpaa[:3]:parts.append(f"-{q.get('question',q)}")return"\n\n".join(parts)serp_tool=Tool(name="Google Search",func=serp_search,description="搜索 Google 实时结果,输入是查询关键词字符串",)

接入 Agent

fromlangchain_anthropicimportChatAnthropicfromlangchain.agentsimportinitialize_agent,AgentType llm=ChatAnthropic(model="claude-sonnet-4-5")agent=initialize_agent(tools=[serp_tool],llm=llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True,max_iterations=3,)result=agent.run("2026 年 SERP API 的最新定价是多少?")print(result)

Agent 内部会:

  1. 识别需要搜索
  2. serp_search("SERP API pricing 2026")
  3. 拿到 5 条 organic 结果
  4. LLM 总结 + citation

一个完整 demo:研究助手

defresearch(query):returnagent.run(f"用 Google 搜索回答这个问题,引用 source 用 [1] [2] 这种格式:"f"问题是:{query}")print(research("What is SerpBase?"))print(research("Cheapest SERP API 2026?"))print(research("How to monitor AI Overviews?"))

几个细节

1. Tool description 要写清楚。

LangChain agent 根据 description 判断什么时候用这个 tool。description 写"搜索 Google 实时结果,输入是查询关键词字符串"比写"google search"好得多。description 越具体,agent 越不会乱调。

2. 返回格式要 LLM-friendly。

把 JSON 转成纯文本 + 编号,LLM 解析起来更准。[1] title\nlink\nsnippet这种格式是最稳的。直接在 tool func 里拼好,不要让 LLM 解析嵌套 JSON。

3. max_iterations 卡死循环。

Agent 调 tool 后 LLM 再决定下一步,可能无限循环。设max_iterations=3防止失控。

4. timeout 设小一点。

SERP API 默认 P50 ~1.4s,但偶发 5s+。timeout=10给点 buffer,但不要太大否则 agent 等不及。

成本

研究助手 100 次 / 天 = 100 SERP 调用 = 3,000 / 月 = 0.9 美元(Starter Boost)。

LLM 部分(Claude Sonnet)按 token 计费,每次 tool 调用 + final answer 约 3,000-5,000 token,约 0.015 美元 / 次。100 次 / 天 = 1.5 美元 / 天 = 45 美元 / 月。

SERP 部分成本可忽略,大头是 LLM token。

跟直接调 API 比的差异

直接调 API:

  • 你自己写 prompt、自己管 context、自己拼 citation
  • 全控,代码量多

LangChain agent:

  • agent 自己决定什么时候调 SERP
  • 跟其他 tool(chrome、wikipedia、计算器)组合容易
  • 调试简单(verbose=True看每一步)

如果你的应用是"一个固定 RAG 流程",直接 API 更合适。如果你的应用是"开放域问答 + 多 tool 调度",LangChain 强。

6 个 endpoint 全部包装

不只是/google/search,6 个 endpoint 都能包装成 LangChain tool:

  • google_search:1 credit
  • google_images:2 credit
  • google_news:1 credit
  • google_videos:1 credit
  • google_maps_search:2 credit
  • google_maps_detail:2 credit

完整 demo 代码 + 6 endpoint 实现,在github.com/serpbase-dev/serpbase-mcp仓库(参考 MCP 实现,改一下就是 LangChain tool)。

一个高阶用法:ReAct 多步推理

# 复杂问题,agent 多次调 SERP 拼信息result=agent.run("对比 2026 年 6 月 5 家主流 SERP API 的价格和速度,""给一个综合推荐。要求每个数据点都有 source 引用。")

Agent 内部会:

  1. 调 SERP 查"SerpApi pricing 2026"
  2. 调 SERP 查"DataForSEO pricing 2026"
  3. 调 SERP 查"Serper pricing 2026"
  4. 调 SERP 查"SERP API latency benchmark 2026"
  5. 综合 4 次结果 + 自己推理 + citation

4 次 SERP 调用 = 4 credit,几乎免费。

100 次免费试用:serpbase.dev 注册,不用绑卡。

http://www.jsqmd.com/news/1080007/

相关文章:

  • 中电港数字FAE_器件选型指南:一个数字FAE小技巧,帮我告别了选型焦虑
  • 【课程设计/毕业设计】基于物联网感知的菇房智能环境管理小程序应用设计与实现 SpringBoot后端驱动的微信小程序菇房物联网管控系统设计与实现【附源码、数据库、万字文档】
  • 通过MANUS Metagloves Pro Haptic将人类手部动作映射到23自由度灵巧手
  • okbiye 数据分析模块:自动生成论文数据报告,实证研究不用再死磕 SPSS
  • 当线粒体基因组遇到PacBio HiFi数据:MitoHiFi的完美解决方案
  • NVIDIA JetPack 7.2 官宣支持 Yocto:Jetson 从开发板系统走向量产系统
  • 通信套餐如何提升竞争力?微石星梦云康提出新思路
  • 官网建设官方网站710 套全行业 PbootCMS 源码快速建站实战指南
  • 为napi-rs项目生成JUnit测试报告:打通Rust与Node.js的CI/CD质量门禁
  • 【操作系统】临界区与临界资源
  • 小程序计算机毕设之移动端驱动的SpringBoot物联网菇房环境数据管理系统设计与实现 食用菌栽培专用物联网菇房环境监测小程序系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • Python+Appium搭建Android自动化测试环境:从零到一实战指南
  • Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
  • 企业出海进入系统化开发时代了吗?
  • OpenAI收购Ona:Codex持久化沙箱如何改变Agent开发范式
  • 解码时间序列记忆:LSTM核心结构与门控机制详解
  • 开源中国完成数亿元 C 轮融资:Gitee 加速智能化研发效能革新
  • 关于毕业多年后再次投身研究的感触与未来展望!
  • 注册商标R标怎么标注才合规?企业品牌用标必备常识
  • HPCC 仿真代码分析(一)——pfc帧的触发
  • 软件测试之黑盒测试/白盒测试详解
  • 2026工业散热白皮书 高静压风扇化解设备高密度部署热失效难题
  • 革命性AI机器人框架IB-Robot:如何快速搭建智能具身机器人开发环境
  • 服务治理未来展望
  • 怎样用KeymouseGo实现自动化操作:5个高效录制秘诀
  • Redis 大量 Key 删除慢的根因与系统化解决方案
  • 计算机毕业设计之基于微信小程序的上门维修系统
  • 三维拟线性波动方程全局解存在性:加权Strichartz估计与能量控制
  • GitHub Desktop中文汉化:让Git操作像使用微信一样简单
  • input 设备 - kernel 和 应用数据 交互