AI Agent 15 分钟阅读

使用SERP API构建AI Agent:完整教程 | SearchCans

使用SERP API构建实时搜索AI Agent。Dify平台配置、集成步骤、实战代码。解决大模型知识截止问题。提升准确性50%。

5,665 字

AI Agent正变得越来越强大,但它们有一个根本性的限制:知识被冻结在训练截止日期。通过集成SERP API,你可以赋予AI Agent实时网络搜索能力,使其无限更有用。

快速开始什么是SERP API | API文档 | 进阶教程

为什么AI Agent需要网络搜索

知识截止问题

像GPT-4、Claude和Llama这样的大语言模型(LLM)是在某个日期之前的数据上训练的。它们无法:

  • 回答关于最近事件的问题
  • 提供当前价格或统计数据
  • 访问新发布的研究
  • 验证实时信息

解决方案:搜索增强生成

通过将AI Agent连接到SERP API,你可以实现:

  • 实时信息访问:获取任何查询的当前数据
  • 事实验证:用实时搜索结果交叉检查AI响应
  • 知识扩展:访问训练数据之外的信息
  • 来源引用:提供原始来源链接

架构概述

以下是支持搜索的AI Agent的工作原理:

用户查询 → AI Agent → 判断是否需要搜索
                ↓
         SERP API调用 → 搜索结果
                ↓
         AI处理结果 → 增强响应

AI Agent充当智能协调器,决定何时搜索以及如何整合结果。

构建你的搜索增强AI Agent

步骤1:设置环境

import requests
import openai
from typing import List, Dict

# 配置
SEARCHCANS_API_KEY = "your_searchcans_api_key"
OPENAI_API_KEY = "your_openai_api_key"

openai.api_key = OPENAI_API_KEY

步骤2:创建搜索函数

def web_search(query: str, num_results: int = 5) -> List[Dict]:
    """
    使用SearchCans SERP API搜索网络
    """
    response = requests.post(
        "https://searchcans.youxikuang.cn/api/search",
        headers={"Authorization": f"Bearer {SEARCHCANS_API_KEY}"},
        json={
            "s": query,
            "t": "bing",
            "n": num_results
        }
    )
    
    if response.status_code == 200:
        data = response.json()
        return data.get("results", [])
    return []

def format_search_results(results: List[Dict]) -> str:
    """
    格式化搜索结果供AI处理
    """
    formatted = []
    for i, result in enumerate(results, 1):
        formatted.append(
            f"{i}. {result.get('title', '无标题')}\n"
            f"   URL: {result.get('url', '')}\n"
            f"   摘要: {result.get('snippet', '无描述')}\n"
        )
    return "\n".join(formatted)

步骤3:构建AI Agent

def ai_agent(user_query: str) -> str:
    """
    能够在需要时搜索网络的AI Agent
    """
    
    # 首先,询问AI是否需要搜索
    decision_prompt = f"""
    用户问题:{user_query}
    
    你需要搜索网络来准确回答这个问题吗?
    如果问题涉及以下内容,考虑搜索:
    - 最近的事件或新闻
    - 当前价格、统计数据或数据
    - 可能已更改的具体事实
    - 你不确定的信息
    
    回复以下格式之一:
    搜索:<搜索查询>
    或
    回答:<你的直接回答>
    """
    
    decision = openai.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": decision_prompt}]
    ).choices[0].message.content
    
    if decision.startswith("搜索:"):
        # 提取搜索查询并执行搜索
        search_query = decision.replace("搜索:", "").strip()
        search_results = web_search(search_query)
        formatted_results = format_search_results(search_results)
        
        # 使用搜索结果生成答案
        answer_prompt = f"""
        用户问题:{user_query}
        
        我搜索了网络,找到了这些结果:
        {formatted_results}
        
        根据这些搜索结果,提供全面的答案。
        引用具体信息时包含相关来源。
        """
        
        final_answer = openai.chat.completions.create(
            model="gpt-4",
            messages=[{"role": "user", "content": answer_prompt}]
        ).choices[0].message.content
        
        return final_answer
    else:
        # 不搜索直接回答
        return decision.replace("回答:", "").strip()

步骤4:添加URL内容提取(可选)

对于更深入的研究,从相关Reader API完整内容:

def extract_url_content(url: str) -> str:
    """
    从Reader API干净的文本内容
    """
    response = requests.post(
        "https://searchcans.youxikuang.cn/api/url",
        headers={"Authorization": f"Bearer {SEARCHCANS_API_KEY}"},
        json={"url": url, "b": True}
    )
    
    if response.status_code == 200:
        data = response.json()
        return data.get("content", "")[:2000]  # 限制内容长度
    return ""

高级模式

多步研究Agent

对于复杂问题,实现迭代搜索:

def research_agent(question: str, max_iterations: int = 3) -> str:
    """
    执行多次搜索以构建全面答案的Agent
    """
    context = []
    
    for i in range(max_iterations):
        # 根据问题和现有上下文生成搜索查询
        # 执行搜索
        # 提取相关内容
        # 检查是否需要更多研究
        pass
    
    # 从所有收集的信息综合最终答案
    return synthesize_answer(question, context)

事实核查Agent

验证AI生成的声明:

def fact_check(claim: str) -> Dict:
    """
    使用网络搜索验证声明
    """
    search_results = web_search(f"事实核查:{claim}")
    # 分析结果以确定声明有效性
    return {
        "claim": claim,
        "verdict": "已验证/有争议/未验证",
        "sources": search_results
    }

最佳实践

1. 选择性搜索

并非每个查询都需要网络搜索。训练你的Agent识别何时搜索有价值:

  • ✅ "比特币现在的价格是多少?"
  • ✅ "AI监管的最新新闻"
  • ❌ "什么是光合作用?"(通用知识)
  • ❌ "写一首关于自然的诗"(创意任务)

2. 优化搜索查询

将用户问题转换为有效的搜索查询:

  • 移除填充词
  • 聚焦关键实体和概念
  • 尽可能使用具体术语

3. 处理速率限制和成本

使用SearchCans,你没有速率限制,但仍然:

  • 缓存频繁搜索的查询
  • 尽可能批量处理相关搜索
  • 控制台监控积分使用

4. 引用来源

始终为搜索派生的信息提供来源:

  • 建立用户信任
  • 允许验证
  • 提高透明度

AI Agent搜索成本对比

提供商 每千次搜索成本 速率限制 最适合
SearchCans ¥4 高频AI Agent
SerpApi ~¥70 企业级
Serper ~¥35 中等用量

对于频繁搜索的AI Agent,SearchCans提供最佳性价比且无速率限制。

开始使用

准备好构建你的搜索增强AI Agent了吗?

  1. 创建免费账户 — 包含100积分
  2. 控制台获取API密钥
  3. 演练场测试API
  4. 阅读文档了解所有可用参数

总结

为AI Agent添加网络搜索能力,将其从静态知识库转变为动态、实时的助手。借助SearchCans实惠的SERP API和无速率限制,你可以构建强大的AI Agent而不会超出预算。

AI的未来是互联的——今天就开始构建你的搜索增强Agent吧。


相关资源

AI应用

基础知识

成本优化

开始使用

SearchCans为AI开发者提供最具性价比的SERP API。免费试用 →

标签:

AI Agent SERP API 大模型集成 教程

准备好用 SearchCans 构建你的 AI 应用了吗?

立即体验我们的 SERP API 和 Reader API。每千次调用仅需 ¥0.56 起,无需信用卡即可免费试用。