跳到主要内容
Bright Data 提供了一个强大的 SERP API,允许您使用地理定位和高级自定义选项查询搜索引擎(Google、Bing、DuckDuckGo、Yandex),这对于需要实时网络信息的 AI 代理特别有用。

概览

集成详情

类别可序列化JS 支持版本
BrightDataSERPlangchain-brightdataPyPI - Version

工具特性

原生异步返回工件返回数据定价
标题、URL、摘要、位置和其他搜索结果数据需要 Bright Data 账户

设置

该集成位于 `langchain-brightdata` 包中。`pip install langchain-brightdata`

凭据

您需要一个 Bright Data API 密钥才能使用此工具。您可以将其设置为环境变量
import os

os.environ["BRIGHT_DATA_API_KEY"] = "your-api-key"
或者在初始化工具时直接传入
from langchain_brightdata import BrightDataSERP

serp_tool = BrightDataSERP(bright_data_api_key="your-api-key")

实例化

这里我们展示如何实例化 BrightDataSERP 工具。该工具允许您使用 Bright Data 的 SERP API 执行搜索引擎查询,并提供各种自定义选项,包括地理定位、语言偏好、设备类型模拟和特定搜索类型。 该工具在实例化时接受各种参数:
  • bright_data_api_key(必需,str):用于身份验证的 Bright Data API 密钥。
  • search_engine(可选,str):用于查询的搜索引擎。默认为“google”。其他选项包括“bing”、“yahoo”、“yandex”、“DuckDuckGo”等。
  • country(可选,str):用于本地化搜索结果的两位国家代码(例如,“us”、“gb”、“de”、“jp”)。默认为“us”。
  • language(可选,str):用于搜索结果的两位语言代码(例如,“en”、“es”、“fr”、“de”)。默认为“en”。
  • results_count(可选,int):要返回的搜索结果数量。默认为 10。最大值通常为 100。
  • search_type(可选,str):要执行的搜索类型。选项包括
    • None(默认):常规网页搜索
    • “isch”:图片搜索
    • “shop”:购物搜索
    • “nws”:新闻搜索
    • “jobs”:职位搜索
  • device_type(可选,str):用于搜索的设备类型模拟。选项包括
    • None(默认):桌面设备
    • “mobile”:通用移动设备
    • “ios”:iOS 设备 (iPhone)
    • “android”:Android 设备
  • parse_results(可选,bool):是否返回解析后的 JSON 结果。默认为 False,即返回原始 HTML 响应。

调用

基本用法

from langchain_brightdata import BrightDataSERP

# Initialize the tool
serp_tool = BrightDataSERP(
    bright_data_api_key="your-api-key"  # Optional if set in environment variables
)

# Run a basic search
results = serp_tool.invoke("latest AI research papers")

print(results)

带参数的高级用法

from langchain_brightdata import BrightDataSERP

# Initialize with default parameters
serp_tool = BrightDataSERP(
    bright_data_api_key="your-api-key",
    search_engine="google",  # Default
    country="us",  # Default
    language="en",  # Default
    results_count=10,  # Default
    parse_results=True,  # Get structured JSON results
)

# Use with specific parameters for this search
results = serp_tool.invoke(
    {
        "query": "best electric vehicles",
        "country": "de",  # Get results as if searching from Germany
        "language": "de",  # Get results in German
        "search_type": "shop",  # Get shopping results
        "device_type": "mobile",  # Simulate a mobile device
        "results_count": 15,
    }
)

print(results)

自定义选项

BrightDataSERP 工具接受多个参数进行自定义
参数类型描述
查询str要执行的搜索查询
search_enginestr要使用的搜索引擎(默认:“google”)
countrystr用于本地化结果的两位国家代码(默认:“us”)
languagestr两位语言代码(默认:“en”)
results_count整数要返回的结果数量(默认:10)
search_typestr搜索类型:None(网页)、“isch”(图片)、“shop”、“nws”(新闻)、“jobs”
device_typestr设备类型:None(桌面)、“mobile”、“ios”、“android”
parse_resultsbool是否返回结构化 JSON(默认:False)

在代理中使用

from langchain_brightdata import BrightDataSERP
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.agents import create_agent


# Initialize the LLM
llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash", google_api_key="your-api-key")

# Initialize the Bright Data SERP tool
serp_tool = BrightDataSERP(
    bright_data_api_key="your-api-key",
    search_engine="google",
    country="us",
    language="en",
    results_count=10,
    parse_results=True,
)

# Create the agent
agent = create_agent(llm, [serp_tool])

# Provide a user query
user_input = "Search for 'best electric vehicles' shopping results in Germany in German using mobile."

# Stream the agent's output step-by-step
for step in agent.stream(
    {"messages": user_input},
    stream_mode="values",
):
    step["messages"][-1].pretty_print()

API 参考


以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.