SERP API + LangChain 实战:构建 RAG Agent 实时联网搜索
项目目标30 分钟搭一个 LangChain Agent,能:接收用户问题自动判断需要 SERP 搜索调 SERP API 拿 Google 实时数据把结果喂 LLM 生成答案带 citation 引用Step 1:环境(2 分钟)pipinstalllangchain langchain-anthropic requests环境变量:exportSERPBASE_KEYyour-keyexportANTHROPIC_KEYyour-keyStep 2:Tool 定义(5 分钟)importosimportrequestsfromlangchain.toolsimportTool SERPBASE_KEYos.environ[SERPBASE_KEY]ENDPOINThttps://api.serpbase.dev/google/searchdefserp_search(query:str)-str:搜索 Google 实时结果。返回前 5 条 organic PAA knowledge graph。 Args: query: 搜索关键词字符串 rrequests.post(ENDPOINT,headers{X-API-Key:SERPBASE_KEY},json{q:query,gl:us,hl:en,num:5},timeout10,)r.raise_for_status()datar.json()parts[]# Organic resultsfori,iteminenumerate(data.get(organic,[]),1):parts.append(f[{i}]{item[title]}\n{item[link]}\n{item.get(snippet,)})# People Also Askpaadata.get(people_also_ask,[])ifpaa:parts.append(\nRelated Questions:)forqinpaa[:3]:parts.append(f-{q.get(question,q)})# Knowledge Graphkgdata.get(knowledge_graph,{})ifkg:parts.append(f\nKnowledge Graph:{kg.get(title,)}-{kg.get(description,)})return\n\n.join(parts)serp_toolTool(nameGoogle Search,funcserp_search,description搜索 Google 实时结果,返回 SERP 数据(标题、URL、snippet、PAA、knowledge graph)。输入是查询关键词字符串。,)Step 3:Agent 集成(8 分钟)fromlangchain_anthropicimportChatAnthropicfromlangchain.agentsimportinitialize_agent,AgentType llmChatAnthropic(modelclaude-sonnet-4-5,anthropic_api_keyos.environ[ANTHROPIC_KEY],)agentinitialize_agent(tools[serp_tool],llmllm,agentAgentType.ZERO_SHOT_REACT_DESCRIPTION,verboseTrue,max_iterations3,handle_parsing_errorsTrue,)defask(question:str)-str:returnagent.run(question)Step 4:测试(5 分钟)# 测试 1:简单查询print(ask(2026 年 SERP API 的最新定价是多少?))# 测试 2:多步查询print(ask(对比 SerpBase 和 SerpApi 的价格和速度))# 测试 3:知识图谱查询print(ask(Claude 是什么?))Step 5:加 streaming(5 分钟)importasynciofromlangchain.agentsimportAgentExecutorasyncdefask_streaming(question:str):resultagent.astream(question)asyncforeventinresult:ifvaluesinevent:print(event[values],end,flushTrue)ifmessagesinevent:formsginevent[messages]:print(f\n[Tool]{msg.content},end,flushTrue)# 使用asyncio.run(ask_streaming(2026 年 SERP API 哪家最便宜?))Step 6:加 citation 解析(5 分钟)importredefparse_citations(answer:str)-list:提取答案中的 [1] [2] 引用patternr\[(\d)\]return[int(m)forminre.findall(pattern,answer)]defrender_with_citations(answer:str,sources:list)-str:把 [1] 替换成可点击的链接citationsparse_citations(answer)ifnotcitations:returnanswer source_list\n.join(f[{i1}]{s[title]}-{s[link]}fori,sinenumerate(sources))returnf{answer}\n\n**Sources:**\n{source_list}完整 demodeffull_demo():question2026 年 SERP API 价格和速度对比answerask(question)print(answer)# 显示 sources(可选)sources[{title:SERP API Comparison 2026,link:https://example.com/1},{title:SERP API Benchmark,link:https://example.com/2},]print(\nrender_with_citations(answer,sources))if__name____main__:full_demo()4 个关键设计点1. Tool description 要详细# 错:description搜索# 对:description搜索 Google 实时结果,返回 SERP 数据(标题、URL、snippet、PAA、knowledge graph)。输入是查询关键词字符串。详细 description 让 LLM 更清楚何时调用。2. max_iterations 别太大# 错:max_iterations10(可能无限循环)# 对:max_iterations3(3 次足够)3. handle_parsing_errors# 必须设 True,否则 LLM 输出格式偶尔错会卡住agentinitialize_agent(...,handle_parsing_errorsTrue)4. 缓存 LLM 结果importhashlibimportjson CACHE{}defask_cached(question):keyhashlib.md5(question.encode()).hexdigest()ifkeyinCACHE:returnCACHE[key]answerask(question)CACHE[key]answerreturnanswer5 个真实工作流1. 客服机器人defcustomer_support(question):# 调 SERP 查产品最新信息sourcesserp_search(f{question}site:mysite.com)# Claude 基于 sources 回答returnask(f基于以下 sources 回答:{question}\n\nSources:{sources})2. 研究助手defresearch(question):returnask(question)# 自动判断要不要 SERP# Agent 内部会决策3. SEO 内容生成defseo_article(keyword):sourcesserp_search(keyword)promptf基于以下 Google SERP 前 5 结果,写一篇 1000 字 SEO 文章:\n{sources}returnask(prompt)4. 竞品监控defcompetitor_monitor(brand,competitors):forcompincompetitors:sourcesserp_search(f{brand}vs{comp})# Claude 分析竞品相对位置returnask(f分析竞品{comp}跟{brand}的对比:\n{sources})5. AI 助手defai_assistant(question):# Agent 自动决定要不要 SERPreturnask(question)成本分析(每次调用)项目成本SerpBase$0.0003Claude Sonnet input(2k token)$0.006Claude Sonnet output(500 token)$0.0075总$0.0138100 次 / 天 $1.38 / 天 $41 / 月。用 Haiku 替代 Sonnet 可以降到 $0.005 / 次。5 个常见错误Tool description 太短:LLM 不知道怎么调max_iterations0 或太高:要么不调,要么循环没 handle_parsing_errors:LLM 输出偶尔格式错会卡住没加 max_iterations:可能无限循环没 cache 重复问题:成本高,体验慢部署选项方式适合本地脚本个人 / 测试FastAPI Docker生产 Web 应用Cloud Run / Lambdaserverless,自动扩展Streamlit / Gradiodemo 展示100 次免费试用:serpbase.dev

相关新闻

OpenXR Toolkit:重塑VR/AR体验的渲染优化引擎

OpenXR Toolkit:重塑VR/AR体验的渲染优化引擎

OpenXR Toolkit:重塑VR/AR体验的渲染优化引擎 【免费下载链接】OpenXR-Toolkit A collection of useful features to customize and improve existing OpenXR applications. 项目地址: https://gitcode.com/gh_mirrors/op/OpenXR-Toolkit 在虚拟现实与增强现…

2026/7/23 1:38:51阅读更多 →
AhabAssistantLimbusCompany:边狱巴士PC端自动化助手完全指南

AhabAssistantLimbusCompany:边狱巴士PC端自动化助手完全指南

AhabAssistantLimbusCompany:边狱巴士PC端自动化助手完全指南 【免费下载链接】AhabAssistantLimbusCompany AALC,PC端Limbus Company小助手。AALC,Limbus Company Assistant on PC 项目地址: https://gitcode.com/gh_mirrors/ah/AhabAssis…

2026/7/23 1:40:51阅读更多 →
RimWorld终极角色定制指南:如何用EdB Prepare Carefully打造完美开局殖民者

RimWorld终极角色定制指南:如何用EdB Prepare Carefully打造完美开局殖民者

RimWorld终极角色定制指南:如何用EdB Prepare Carefully打造完美开局殖民者 【免费下载链接】EdBPrepareCarefully EdB Prepare Carefully, a RimWorld mod 项目地址: https://gitcode.com/gh_mirrors/ed/EdBPrepareCarefully 想要告别随机生成的角色&#x…

2026/7/23 17:01:43阅读更多 →
六层PCB为何成为中控设备主流标准架构

六层PCB为何成为中控设备主流标准架构

在工业自动化、楼宇自控、PLC、远程 IO、边缘网关等中控设备研发领域,PCB 层数选型长期存在两极选择:四层板追求低成本,但难以应对复杂信号、多路电源与严苛 EMC 环境;八层及以上多层板性能充足,却显著抬高裸板成本、拉…

2026/7/24 1:44:26阅读更多 →
医疗多模态预训练技术:挑战、原理与实践指南

医疗多模态预训练技术:挑战、原理与实践指南

1. 医疗多模态预训练的核心挑战与突破方向医疗领域的视觉-语言联合建模一直面临着数据稀缺和模态差异的双重困境。传统方法通常需要大量标注数据来训练模型,但在医疗场景中获取高质量标注的成本极高。2022年提出的MAE框架通过多模态掩码自编码器,开创性地…

2026/7/24 1:44:26阅读更多 →
Simulink深度多智能体强化学习实践指南

Simulink深度多智能体强化学习实践指南

1. 项目背景与核心价值深度多智能体强化学习在工业控制、机器人协同、自动驾驶等领域的应用正变得越来越广泛。不同于传统的单智能体场景,多智能体系统(MAS)中的每个个体都需要在动态环境中与其他智能体进行交互和协作,这使得问题…

2026/7/24 1:44:26阅读更多 →
TI ADS7851EVM-PDK评估套件深度解析:从硬件设计到性能测试实战

TI ADS7851EVM-PDK评估套件深度解析:从硬件设计到性能测试实战

1. 项目概述与核心价值对于从事精密测量、工业自动化或者医疗成像的硬件工程师来说,选型和评估一款高精度模数转换器(ADC)往往是项目成败的关键一步。数据手册上的参数再漂亮,也不如亲手实测来得踏实。今天要深入拆解的&#xff0…

2026/7/24 1:44:26阅读更多 →
大模型训练师:AI入行捷径与核心技能解析

大模型训练师:AI入行捷径与核心技能解析

1. 项目背景:AI行业人才需求爆发式增长最近一则关于字节跳动开出500元/天实习薪资的消息在社交平台刷屏,引发广泛讨论。这反映出AI行业对专业人才的渴求已达到前所未有的程度。作为从业多年的AI工程师,我想分享一个被大多数人忽视的入行捷径—…

2026/7/24 1:44:26阅读更多 →
GPT-5.6核心能力解析:代码生成、复杂推理与多模态应用

GPT-5.6核心能力解析:代码生成、复杂推理与多模态应用

三个核心能力决定了它适合干什么过去大半年我一直在研究多模型集成方案,从自研搭建到开源 UI 部署,再到第三方平台,踩了不少坑。最近在 kulaai(titiai.cn) 上找到了一个比较省心的方案,顺手做了一次完整的横…

2026/7/24 1:42:26阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →