tavily-python

几行代码让 Python 应用接入联网搜索与内容提取

开源 pay_as_you_go 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1422
维护状态 活跃
是否开源 是
定价模式 pay_as_you_go

项目预览

项目数据

分类搜索知识
开发团队tavily-ai
所属国家
官网地址
定价模式pay_as_you_go
价格说明Tavily API按量计费,提供免费额度试用,具体价格见官网
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型agent,crawl,extract,map,python,search,tavily
GitHub 星标★ 1422
30天Star增速
HF 下载量
上线时间2023-09-01 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-11
浏览次数0

项目介绍

tavily-python 是 Tavily 官方提供的 Python SDK,用于在 Python 程序中直接调用 Tavily API 的搜索、提取、爬取、映射和研究能力。它解决的是开发者需要为 AI 应用接入实时、可编程网页搜索与内容抽取时,自己维护爬虫、解析和检索链路的成本问题。核心能力包括:search 执行智能搜索并返回结构化结果,extract 从指定 URL 提取正文内容,crawl 按规则爬取站点,map 快速获取站点链接结构,research 面向深度研究任务做多步检索与信息汇总。SDK 封装了鉴权、请求构造和响应解析,让 Agent、RAG、问答系统可以几行代码获得联网检索能力,适合需要把外部实时信息接入 LLM 工作流的场景。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 5 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境(README 未指定具体版本,需能运行 pip)
  • 可访问 Tavily 公开 API 的网络环境
  • 有 Tavily API Key 可解锁全部接口(可选,无 Key 可先用 keyless 模式)

安装与启动步骤

  1. 1安装 SDK

    在目标 Python 环境中用 pip 安装官方包 tavily-python,安装完成后即可在代码中导入 TavilyClient。

    pip install tavily-python
  2. 2免 Key 试用搜索

    不传任何参数实例化 TavilyClient 即进入 keyless 模式,仅支持 search() 与 extract(),且受速率限制。

    from tavily import TavilyClient, TavilyKeylessLimitError
    
    client = TavilyClient()
    
    try:
        response = client.search("Who is Leo Messi?")
        print(response)
    except TavilyKeylessLimitError as e:
        print(e)
        print("retry after:", e.retry_after_seconds, "seconds")
  3. 3配置 API Key

    需要更高限额以及 crawl、map、research 等完整接口时,去 tavily.com 注册获取 Key,并以 api_key 参数传入客户端。

    from tavily import TavilyClient
    
    tavily_client = TavilyClient(api_key="tvly-xxxxxxxx")
  4. 4调用搜索接口

    用配置好的客户端调用 search 查询关键词,返回结构化搜索结果,可直接用于 Agent 或 RAG 流程。

    response = tavily_client.search("Who is Leo Messi?")
    print(response)
  5. 5查询研究额度消耗

    research 任务默认不返回用量数据,需在获取结果时显式开启 include_usage,再从 usage.credits 读取消耗。

    result = tavily_client.get_research(request_id, include_usage=True)
    print(result.get("usage", {}).get("credits"))

关键配置

配置项必填说明示例
api_key否Tavily API Key,用于解锁全部接口与更高调用限额;不填则进入 keyless 模式tvly-xxxxxxxx

如何确认成功

运行 client.search("Who is Leo Messi?") 能打印出结构化结果(或 keyless 模式的限流异常信息)即表示安装与调用链路正常。

常见问题

Q:不申请 API Key 能用吗?

A:可以。TavilyClient() 不带参数即为 keyless 模式,但只支持 search() 和 extract(),且受速率限制,超限会抛出 TavilyKeylessLimitError。

Q:为什么调用 crawl、map、research 报错?

A:这些接口在 keyless 模式下不可用,会提示需要 API Key。请在 tavily.com 注册并传入 TavilyClient(api_key="tvly-...")。

Q:限流后要等多久?

A:捕获 TavilyKeylessLimitError 后,异常对象带有结构化字段,可从 e.retry_after_seconds 读取建议的重试等待秒数。

Q:research 的 credits 为什么取不到?

A:用量返回默认关闭,需要在 get_research 时传 include_usage=True;且部分任务本身没有用量数据。

Q:支持异步调用吗?

A:README 提到 AsyncTavilyClient 支持与同步客户端相同的 include_usage 等选项,可用于异步场景。

注意事项

  • keyless 模式仅支持 search 和 extract,crawl、map、research 必须提供 API Key。
  • Keyless 调用有速率上限,生产环境建议注册正式 Key 以获得更高限额。
  • 示例中的 tvly-xxxxxxxx 是占位值,请替换为你自己的真实 Key,避免泄露。

核心亮点

  • 官方 SDK,接口与 Tavily API 同步更新,鉴权、请求和响应解析都已封装
  • 同时覆盖 search、extract、crawl、map、research,一个库满足多种联网检索需求
  • 返回结构化结果,便于直接接入 RAG、Agent 或问答系统,减少自建爬虫与解析成本

不足之处

  • 依赖 Tavily 云端 API 和 API Key,离线或私有化场景无法直接使用
  • 核心能力受服务端配额与计费限制,免费额度之外需要付费

适用场景

  • 为 LLM Agent 增加实时网页搜索工具,让回答能引用最新信息
  • 构建 RAG 知识库时批量提取指定网页正文并清洗入库
  • 做竞品或行业调研时,用 research 和 crawl 自动收集并汇总多来源资料

替代项目

duckduckgo-search、serpapi-python、langchain-community

上一篇:collective-ai-tools

下一篇:hyperresearch

同类项目推荐

firecrawl 开源

网页抓取像喝水一样简单,开发者省下整周加班

Supercharge your AI agents with data from the web and beyond. Building the library f···

★ 190179 2026-08-09
contoso-chat 开源

一键跑通 Azure RAG 应用,从代码到评估部署全流程

This sample has the full End2End process of creating RAG application with Prompty an···

★ 766 2026-08-09
graphify 开源

整个代码库画成一张图,找问题一眼定位

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···

★ 125239 2026-08-09
WeKnora 开源

文档往里一扔,自动变成啥都能答的知识库

Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an auto···

★ 33023 2026-08-09