Skip to main content
Tavily 的搜索 API 是一个专为 AI 代理(LLM)构建的搜索引擎,能够快速提供实时、准确且基于事实的结果。

概述

集成详情

工具特性

设置

该集成位于 langchain-tavily 包中。

凭证

我们还需要设置 Tavily API 密钥。您可以通过访问此网站并创建账户来获取 API 密钥。

实例化

这里我们展示如何实例化一个 Tavily 搜索工具实例。该工具接受各种参数以自定义搜索。实例化后,我们使用一个简单的查询来调用该工具。此工具允许您使用 Tavily 的搜索 API 端点完成搜索查询。 实例化 该工具在实例化时接受各种参数:
  • max_results(可选,int):要返回的最大搜索结果数。默认为 5。
  • topic(可选,str):搜索类别。可以是 “general”、“news” 或 “finance”。默认为 “general”。
  • include_answer(可选,bool):在结果中包含对原始查询的答案。默认为 False。
  • include_raw_content(可选,bool):包含每个搜索结果的清理和解析后的 HTML。默认为 False。
  • include_images(可选,bool):在响应中包含与查询相关的图片列表。默认为 False。
  • include_image_descriptions(可选,bool):包含每张图片的描述性文本。默认为 False。
  • search_depth(可选,str):搜索深度,可以是 “basic” 或 “advanced”。默认为 “basic”。
  • time_range(可选,str):从当前日期回溯的时间范围以过滤结果 - “day”、“week”、“month” 或 “year”。默认为 None。
  • include_domains(optional, List[str]):要特别包含的域名列表。默认为 None。
  • exclude_domains(optional, List[str]):要特别排除的域名列表。默认为 None。
有关可用参数的全面概述,请参阅 Tavily 搜索 API 文档

调用

直接使用参数调用

Tavily 搜索工具在调用时接受以下参数:
  • query(必需):自然语言搜索查询
  • 以下参数也可以在调用时设置:include_imagessearch_depthtime_rangeinclude_domainsexclude_domainsinclude_images
  • 出于可靠性和性能考虑,某些影响响应大小的参数在调用时无法修改:include_answerinclude_raw_content。这些限制可防止意外的上下文窗口问题并确保结果一致。
注意:可选参数可供代理动态设置,如果您在实例化时设置了一个参数,然后在调用工具时使用不同的值,工具将使用您在调用时传递的值。

使用 ToolCall 调用

我们也可以使用模型生成的 ToolCall 来调用该工具,这种情况下将返回一个 ToolMessage:

在代理中使用

我们可以通过将工具绑定到代理,直接将我们的工具与代理执行器一起使用。这使代理能够动态设置 Tavily 搜索工具的可用参数。 在下面的示例中,当我们要求代理查找“哪个国家举办了 2024 年欧洲杯?仅包含维基百科来源。”时,代理将动态设置参数并调用 Tavily 搜索工具:使用 {'query': 'Euro 2024 host nation', 'include_domains': ['wikipedia.org'] 调用 tavily_search
我们需要安装 langgraph:

API 参考

有关所有 Tavily 搜索 API 功能和配置的详细文档,请前往 API 参考:docs.tavily.com/documentation/api-reference/endpoint/search