Guide · 使用教程
Tavily RAG 搜索 API 教程:给 AI Agent 接入实时网页资料
这篇教程演示如何用 Tavily 设计 RAG 和 AI Agent 搜索流程:定义触发条件、控制来源、处理搜索结果、加入缓存,并把结果交给模型生成回答。
这篇教程会完成什么
这篇教程会带你设计一个 Tavily 搜索 API 工作流,用于 RAG、AI Agent 或研究助手。目标不是写完整代码,而是说明真实产品里应该如何决定什么时候搜索、搜什么、怎么处理结果,以及如何避免成本和事实错误失控。
完成后,你会有一套清晰流程:用户问题进入系统,先判断是否需要实时网页信息,再调用 Tavily 搜索,过滤来源,提取关键内容,把结果交给 LLM 生成回答,并把来源展示给用户。
这套流程适合开发者、AI 产品经理、RAG 工程师和做研究工具的团队。如果你只是普通用户想查资料,直接用 Perplexity AI 更合适。
开始前需要准备
开始前需要准备三件事。
第一,明确你的产品场景。Tavily 可以用于公司研究、竞品监控、技术文档搜索、市场简报、销售情报或开放网页 RAG。不同场景的搜索深度、来源要求和回答格式都不同。
第二,准备 LLM 调用层。Tavily 只负责搜索和返回网页信息,不负责完整产品体验。你还需要一个模型来总结、判断和生成回答。
第三,设计安全边界。开放网页搜索会带来噪声、过期信息、低质量页面和提示注入风险。不要把搜索结果不加处理地塞给模型,更不要让模型在没有来源的情况下输出确定结论。
第一步:判断是否需要搜索
不是所有用户问题都需要调用 Tavily。实时搜索应该有触发条件,否则成本、延迟和噪声都会增加。
适合搜索的问题包括:
- 近期新闻、价格、版本、政策变化。
- 公司、产品、竞品和市场动态。
- 官方文档、API 更新和错误信息。
- 用户明确要求“最新”“来源”“引用”“网页资料”。
不适合搜索的问题包括:
- 通用概念解释。
- 已经在内部知识库里的内容。
- 纯写作润色、格式转换或摘要任务。
- 用户没有要求实时信息的问题。
可以先让模型做一次轻量分类:是否需要联网、需要搜索什么关键词、需要优先哪些来源。这样比每次都盲目搜索更稳。
第二步:设计搜索查询
好的搜索结果来自好的查询。不要直接把用户原问题原样丢给 Tavily。更好的方式是先把问题改写成 1 到 3 个搜索查询。
例如用户问:“这个 CRM 最近有什么新功能?”如果系统知道 CRM 名称,可以生成查询:
[产品名] latest product updates[产品名] changelog 2026[产品名] release notes
如果是技术问题,优先加上官方文档、版本号和错误关键词。如果是公司研究,优先搜索官网、新闻稿、招聘页面和融资信息。
查询设计越具体,后续模型越少胡编。
第三步:控制来源和搜索深度
开放网页搜索最大的问题是来源质量。对于技术文档,应该优先官方 docs、GitHub、包管理页面和可信社区;对于公司研究,优先官网、新闻稿、招聘页、融资数据库和权威媒体;对于政策信息,优先官方机构。
如果 Tavily 支持域名控制或搜索深度设置,就要按场景使用。不要所有问题都用最高深度,也不要让低质量内容站进入关键回答。
建议为不同场景定义来源策略:
- 技术助手:优先官方文档和 GitHub。
- 市场研究:官网、行业媒体、新闻源。
- 销售情报:公司官网、招聘页、新闻稿。
- 学习助手:权威教程、官方资料、可信媒体。
第四步:把搜索结果结构化
Tavily 返回结果后,不要马上让模型写最终答案。先做结构化处理:标题、URL、发布时间、摘要、关键片段、来源可信度、是否重复、是否过期。
对多个结果可以做简单重排序:官方来源优先,发布时间更近优先,内容完整优先,重复内容降权。对于重要任务,可以让模型先提取事实点,再生成回答。
一个实用结构是:
source_titlesource_urlpublished_or_updated_at
常见问题
- Tavily 适合做企业内部知识库吗?
- 它更适合开放网页搜索。企业内部知识库通常需要向量数据库、权限控制和私有文档解析。两者可以结合使用。
- Tavily 搜索结果可以直接给用户看吗?
- 可以展示来源,但最终回答最好经过结构化处理和模型总结。直接展示原始结果通常体验不够好。
- 如何控制 Tavily 成本?
- 设置搜索触发条件、缓存常见查询、限制搜索深度,并对批量任务做队列和限流。
- Tavily 和 Perplexity AI 应该怎么选?
- 做自有产品和 Agent 集成选 Tavily;普通用户自己查资料选 Perplexity AI。