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调用工具,此时将返回一个@[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