news 2026/6/23 19:33:02

LangChain 提供的搜素工具SerpAPIWrapper介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain 提供的搜素工具SerpAPIWrapper介绍

SerpAPIWrapper 概述

SerpAPIWrapper 是LangChain Community​ 提供的实用工具,用于通过SerpAPI​ 获取结构化搜索结果(如Google、Bing​ 等),屏蔽底层 HTTP 请求与结果解析细节,便于在LangChain 智能体/链​ 中直接作为搜索能力使用。它支持自定义搜索引擎、地区与语言等参数,返回内容可按需加工为纯文本或结构化片段,适合问答、检索增强与自动化工作流。

安装与配置

  • 安装依赖

    • 建议安装包含 SerpAPI 客户端的包:pip install google-search-results

  • 设置密钥

    • SERPAPI_API_KEY​ 配置为环境变量,或在构造器中显式传入

    • 示例:os.environ["SERPAPI_API_KEY"] = "your_api_key"

  • 导入方式

    • 推荐导入路径:from langchain_community.utilities import SerpAPIWrapper

  • 最小可用示例

    • from langchain_community.utilities import SerpAPIWrapper

    • search = SerpAPIWrapper()

    • print(search.run("Obama's first name?")) # -> 简洁答案字符串

核心用法

  • 基本搜索

    • 直接调用run(query)​ 执行查询,返回经过处理的答案字符串(非原始 JSON)

  • 自定义引擎与参数

    • 通过params​ 指定搜索引擎与地区/语言等,例如使用Bing、设置gl=ushl=en

    • 示例:

      • params = {"engine": "bing", "gl": "us", "hl": "en"}

      • search = SerpAPIWrapper(params=params)

  • 作为工具整合到 LangChain

    • 可包装为Tool​ 供智能体调用,或配合load_tools(["serpapi"])​ 使用(旧式 Agents)

    • 示例:

      • from langchain_core.tools import Tool

      • tool = Tool(name="web_search", func=search.run, description="使用 SerpAPI 执行网页搜索")

  • 结果加工与扩展

    • 通过继承并重写_process_response​ 定制返回内容(如提取answer_box、knowledge_graph、organic_results​ 等片段,或只返回链接/摘要)

常见问题与建议

  • 访问与网络

    • 部分地区访问SerpAPI​ 可能不稳定,可评估使用合规的API 代理/加速​ 方案;同时优先排查密钥与网络连通性

  • 配额与限流

    • 免费/入门套餐存在调用配额与速率限制,必要时升级套餐或在调用间加入延迟/退避​ 策略

  • 参数正确性

    • 自定义参数需与SerpAPI 文档保持一致(如engine、gl、hl​ 等),否则可能导致结果不符合预期

  • 结果格式

    • run()​ 返回的是已处理的字符串;如需原始 JSON 或细粒度字段,请基于包装器进行二次封装或在子类中调整_process_response

  • 密钥安全

    • 避免硬编码密钥,推荐使用环境变量​ 或密钥管理服务进行注入

相关替代方案

  • GoogleSerperAPIWrapper + Serper API:面向Google​ 搜索的低成本替代,同样可在 LangChain 中作为工具使用,适合问答与摘要场景

  • GoogleSearchAPIWrapper / BingSearchAPIWrapper:分别封装Google Custom Search API​ 与Bing Search API,在需要直连官方搜索 API 时可选

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 16:02:21

c语言 ---static关键字

static修饰局部变量:延长生命周期至程序结束 static修饰全局变量:限制在当前源文件可见 static修饰函数:限制在当前源文件可见 extern关键字的作用:声明外部符号 static的核心作用:控制变量和函数的可见性

作者头像 李华
网站建设 2026/6/23 6:34:06

ChatTTS x OpenVoice安装模型下载失败?一招搞定

ChatTTS x OpenVoice安装模型下载失败?一招搞定 在AI语音领域,ChatTTS的自然对话语音生成能力与OpenVoice的多语言、多风格语音克隆功能相结合,能实现诸多有趣的应用场景。但很多朋友在安装配置这两个工具时,都会卡在“模型下载失…

作者头像 李华
网站建设 2026/6/11 15:58:15

手残党狂喜!ChatTTS-OpenVoice保姆级教程

手残党狂喜!ChatTTS-OpenVoice保姆级教程,3分钟解锁专属声线自由 谁还没经历过这些“声音尴尬”?发语音怕自己声音像“砂纸磨玻璃”,做短视频找配音嫌太贵,想给游戏角色配专属台词却奈何“声线单一”——别愁了&#x…

作者头像 李华
网站建设 2026/6/23 18:10:44

猴子爬山od

100分题目一天一只顽猴想要从山脚爬到山顶&#xff0c;途中经过一个有 n 个台阶的阶梯&#xff0c;但是这个猴子有个习惯&#xff0c;每一次只跳 1 步或 3 步。试问猴子通过这个阶梯有多少种不同的跳跃方式。输入输入只有一个数 n&#xff0c; 0 < n < 50&#xff0c;代表…

作者头像 李华
网站建设 2026/6/22 23:19:22

期末算法题

文章目录项目结构一、案例Algorithm01二、案例Algorithm02三、案例Algorithm03四、案例Algorithm04五、案例Algorithm05项目结构 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、案例Algorithm01 要求:使用冒泡排序算法对数组a{9, 7, 4, 6, 3, 1,1…

作者头像 李华
网站建设 2026/6/19 22:35:41

宝济药业港股上市:上半年亏1.8亿 大涨超100% 市值189亿港元

雷递网 雷建平 12月10日上海宝济药业股份有限公司&#xff08;简称&#xff1a;“宝济药业”&#xff0c;股票代码&#xff1a;“2659”&#xff09;今日在港交所上市。宝济药业此次发行价为26.38港元&#xff0c;发行37,911,700股&#xff0c;募资总额为10亿港元&#xff0c;扣…

作者头像 李华