Skip to main content
Tavily的搜索API 是专为AI智能体(LLM)构建的搜索引擎,能够实时、精准、快速地提供事实性结果。

概述

集成细节

工具特性

设置

集成位于@langchain/tavily包中,您可以通过以下方式安装:

凭证

设置Tavily API密钥并将其设置为名为TAVILY_API_KEY的环境变量。
此外,设置LangSmith有助于实现最佳级别的可观察性(但非必需):

实例化

该工具在实例化期间接受各种参数:
  • maxResults(可选,数字):返回的最大搜索结果数量。默认值为5。
  • topic(可选,字符串):搜索类别。可以是"general"、"news"或"finance"。默认值为"general"。
  • includeAnswer(可选,布尔值):在结果中包含对原始查询的答案。默认值为false。
  • includeRawContent(可选,布尔值 | "markdown" | "text"):包含每个搜索结果的清理和解析内容。默认值为false。
  • includeImages(可选,布尔值):在响应中包含与查询相关的图片列表。默认值为false。
  • includeImageDescriptions(可选,布尔值):包含每张图片的描述性文本。默认值为false。
  • searchDepth(可选,字符串):搜索深度,为"basic"或"advanced"。默认值为"basic"。
  • timeRange(可选,字符串):从当前日期过滤结果的时区范围 — "day"、"week"、"month"或"year"。默认值为undefined。
  • includeDomains(可选,字符串[]):要特别包含的域名。默认值为[]。
  • excludeDomains(可选,字符串[]):要特别排除的域名。默认值为[]。
有关可用参数的全面概述,请参阅Tavily搜索API文档。

调用

使用参数直接调用

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

使用ToolCall调用

我们也可以使用模型生成的ToolCall调用工具,此时将返回一个@[ToolMessage]:

在智能体中使用

我们可以通过将其传递给createAgent直接使用搜索工具与LangChain智能体。智能体可以动态设置includeDomains、searchDepth和timeRange等参数作为其工具调用的一部分。 在以下示例中,当我们要求智能体查找“哪个国家举办了2024年欧洲杯?仅包含维基百科来源。”时,智能体会动态设置参数并使用{ query: "Euro 2024 host nation", includeDomains: ["wikipedia.org"] }调用Tavily搜索工具。

API参考

有关Tavily搜索API所有特性和配置的详细文档,请前往API参考:docs.tavily.com/documentation/api-reference/endpoint/search
官方原文:src/oss/javascript/integrations/tools/tavily_search.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026