跳到主要内容
Oxylabs 是市场领先的网络智能收集平台,秉承最高的业务、道德和合规标准,使全球公司能够解锁数据驱动的洞察。

概览

此软件包包含与 Oxylabs 的 LangChain 集成,提供使用 LangChain 框架通过 Oxylabs Web Scraper API 抓取 Google 搜索结果的工具。 此软件包提供以下类:
  • OxylabsSearchRun - 一个以格式化文本返回抓取的 Google 搜索结果的工具
  • OxylabsSearchResults - 一个以 JSON 格式返回抓取的 Google 搜索结果的工具
  • OxylabsSearchAPIWrapper - 用于初始化 Oxylabs API 的 API 包装器
定价
✅ 免费 5,000 个结果,为期 1 周

设置

安装所需的依赖项。
pip install -qU langchain-oxylabs

凭据

设置正确的 API 密钥和环境变量。创建您的 API 用户凭据:在 Oxylabs 仪表板中注册免费试用或购买产品以创建您的 API 用户凭据 (OXYLABS_USERNAME 和 OXYLABS_PASSWORD)。
import getpass
import os

os.environ["OXYLABS_USERNAME"] = getpass.getpass("Enter your Oxylabs username: ")
os.environ["OXYLABS_PASSWORD"] = getpass.getpass("Enter your Oxylabs password: ")

实例化

from langchain_oxylabs import OxylabsSearchAPIWrapper, OxylabsSearchRun

oxylabs_wrapper = OxylabsSearchAPIWrapper()
tool_ = OxylabsSearchRun(wrapper=oxylabs_wrapper)

调用

直接使用参数调用

OxylabsSearchRun 工具接受一个“query”参数,该参数应为自然语言查询,并返回组合的字符串格式结果。
tool_.invoke({"query": "Restaurants in Paris."})

使用 ToolCall 调用

tool_ = OxylabsSearchRun(
    wrapper=oxylabs_wrapper,
    kwargs={
        "result_categories": [
            "local_information",
            "combined_search_result",
        ]
    },
)
from pprint import pprint

model_generated_tool_call = {
    "args": {
        "query": "Visit restaurants in Vilnius.",
        "geo_location": "Vilnius,Lithuania",
    },
    "id": "1",
    "name": "oxylabs_search",
    "type": "tool_call",
}
tool_call_result = tool_.invoke(model_generated_tool_call)

# The content is a JSON string of results
pprint(tool_call_result.content)

在代理中使用

安装所需的依赖项。
pip install -qU "langchain[openai]" langgraph
import getpass
import os

from langchain.chat_models import init_chat_model

os.environ["OPENAI_API_KEY"] = getpass.getpass("Enter API key for OpenAI: ")
model = init_chat_model("gpt-4o-mini", model_provider="openai")
from langchain.agents import create_agent


# Initialize OxylabsSearchRun tool
tool_ = OxylabsSearchRun(wrapper=oxylabs_wrapper)

agent = create_agent(model, [tool_])

user_input = "What happened in the latest Burning Man floods?"

for step in agent.stream(
    {"messages": user_input},
    stream_mode="values",
):
    step["messages"][-1].pretty_print()

JSON 结果

OxylabsSearchResults 工具可以用作 OxylabsSearchRun 的替代品,以 JSON 格式检索结果。
import json

from langchain_oxylabs import OxylabsSearchResults

tool_ = OxylabsSearchResults(wrapper=oxylabs_wrapper)

response_results = tool_.invoke({"query": "What are the most famous artists?"})
response_results = json.loads(response_results)

for result in response_results:
    for key, value in result.items():
        print(f"{key}: {value}")

API 参考

有关此集成包的更多信息,请参阅此处:github.com/oxylabs/langchain-oxylabs Oxylabs Web Scraper API 文档:developers.oxylabs.io/scraper-apis/web-scraper-api
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.