ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何向 LangGraph 代理添加搜索
教程

如何向 LangGraph 代理添加搜索

将网络搜索 API 集成为 LangGraph 工具节点。使用结构化 JSON(而不是原始 HTML 抓取)为您的代理提供实时搜索结果。

获取免费API密钥API文档

LangGraph 代理需要访问实时网络数据来回答当前问题、验证事实并确定其响应。在 LangGraph 图中添加搜索工具使代理能够按需查询 Google、Reddit、YouTube 和其他平台。本教程演示如何定义 Scadio 搜索工具、将其注册为 LangGraph 工具节点,并将其连接到代理图中。代理将能够在执行期间调用搜索工具并接收可以推理的结构化 JSON 结果。

前置条件

  • 已安装 Python 3.10+
  • 已安装 langgraph 和 langchain-core 软件包
  • 来自 scavio.dev 的 Scavio API 密钥
  • LangGraph状态图的基本理解

操作指南

步骤 1: 定义搜索工具功能

创建一个包装 Scavio API 并返回结构化结果的工具函数。

Python
import os, requests
from langchain_core.tools import tool

API_KEY = os.environ["SCAVIO_API_KEY"]

@tool
def web_search(query: str) -> str:
    """Search the web for current information."""
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": query})
    results = resp.json().get("organic_results", [])[:5]
    return "\n".join(f"- {r['title']}: {r.get('snippet', '')}" for r in results)

步骤 2: 创建代理状态和图

使用绑定到代理节点的搜索工具设置 LangGraph 状态图。

Python
from langgraph.graph import StateGraph, MessagesState
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI

tools = [web_search]
model = ChatOpenAI(model="gpt-4o-mini").bind_tools(tools)

def agent(state: MessagesState):
    return {"messages": [model.invoke(state["messages"])]}

tool_node = ToolNode(tools)

步骤 3: 连接图表

通过基于工具调用的条件路由连接代理和工具节点。

Python
from langgraph.graph import END

def should_continue(state: MessagesState):
    last = state["messages"][-1]
    return "tools" if last.tool_calls else END

graph = StateGraph(MessagesState)
graph.add_node("agent", agent)
graph.add_node("tools", tool_node)
graph.set_entry_point("agent")
graph.add_conditional_edges("agent", should_continue)
graph.add_edge("tools", "agent")
app = graph.compile()

步骤 4: 使用搜索查询运行代理

调用代理并提出需要实时 Web 数据的问题。

Python
from langchain_core.messages import HumanMessage

result = app.invoke({
    "messages": [HumanMessage(content="What are the top CRM tools for startups in 2026?")]
})
print(result["messages"][-1].content)

Python 示例

Python
import os, requests
from langchain_core.tools import tool

@tool
def web_search(query: str) -> str:
    """Search the web for current information."""
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": os.environ["SCAVIO_API_KEY"]},
        json={"platform": "google", "query": query})
    results = resp.json().get("organic_results", [])[:5]
    return "\n".join(f"- {r['title']}: {r.get('snippet', '')}" for r in results)

print(web_search.invoke("best CRM 2026"))

JavaScript 示例

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function webSearch(query) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H,
    body: JSON.stringify({platform: "google", query})
  });
  const results = (await r.json()).organic_results || [];
  return results.slice(0,5).map(r => r.title + ": " + (r.snippet||"")).join("\n");
}
console.log(await webSearch("best CRM 2026"));

预期输出

JSON
A LangGraph agent that can call a web search tool during execution, receiving structured search results and using them to answer questions with current data.

相关教程

  • 如何使用langchain-scavio向LangChain添加实时搜索

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

已安装 Python 3.10+. 已安装 langgraph 和 langchain-core 软件包. 来自 scavio.dev 的 Scavio API 密钥. LangGraph状态图的基本理解. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 LangChain, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

2026年LangGraph智能体最佳搜索API

Read more
Best Of

Google I/O 2026 AI模式变化后最佳搜索API

Read more
Glossary

搜索 API 供应商格局(2026)

Read more
Glossary

免费搜索API层级对比

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more

开始构建

将网络搜索 API 集成为 LangGraph 工具节点。使用结构化 JSON(而不是原始 HTML 抓取)为您的代理提供实时搜索结果。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策