项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- Python 环境(README 未指定具体版本,需能运行 pip)
- 可访问 Tavily 公开 API 的网络环境
- 有 Tavily API Key 可解锁全部接口(可选,无 Key 可先用 keyless 模式)
安装与启动步骤
-
1安装 SDK
在目标 Python 环境中用 pip 安装官方包 tavily-python,安装完成后即可在代码中导入 TavilyClient。
pip install tavily-python -
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配置 API Key
需要更高限额以及 crawl、map、research 等完整接口时,去 tavily.com 注册获取 Key,并以 api_key 参数传入客户端。
from tavily import TavilyClient tavily_client = TavilyClient(api_key="tvly-xxxxxxxx") -
4调用搜索接口
用配置好的客户端调用 search 查询关键词,返回结构化搜索结果,可直接用于 Agent 或 RAG 流程。
response = tavily_client.search("Who is Leo Messi?") print(response) -
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
下一篇:hyperresearch
同类项目推荐
firecrawl
开源
网页抓取像喝水一样简单,开发者省下整周加班
Supercharge your AI agents with data from the web and beyond. Building the library f···
contoso-chat
开源
一键跑通 Azure RAG 应用,从代码到评估部署全流程
This sample has the full End2End process of creating RAG application with Prompty an···
graphify
开源
整个代码库画成一张图,找问题一眼定位
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···
WeKnora
开源
文档往里一扔,自动变成啥都能答的知识库
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an auto···
