使用 Tavily Search API 构建智能搜索工具

Tavily Search API 是一种专门为 AI 代理(如大型语言模型)设计的搜索引擎,能够快速、准确地提供实时且符合实际的结果。在本文中,我们将介绍如何集成 Tavily Search API,并通过代码示例展示其实际应用。

技术背景介绍

在 AI 开发中,获取实时、准确的信息是构建智能应用的关键。传统的搜索引擎有时可能无法满足 AI 代理对快速和准确信息的需求。Tavily Search API 提供了这一解决方案,使得开发者可以轻松集成搜索功能,实现高效的信息检索。

核心原理解析

Tavily Search API 通过接口调用,能够返回关于查询的详细信息,包括标题、URL、内容和答案。这些信息对构建智能应用非常有用,因为它们可以被进一步处理或直接展示给用户。

代码实现演示

下面是一个完整的代码示例,演示了如何设置和使用 Tavily Search API:

步骤 1: 安装所需包

首先,我们需要安装 langchain-communitytavily-python 包。

%pip install -qU "langchain-community>=0.2.11" tavily-python

步骤 2: 设置 Tavily API 密钥

获取您的 Tavily API 密钥,并将其设置为环境变量。

import getpass
import os

if not os.environ.get("TAVILY_API_KEY"):
    os.environ["TAVILY_API_KEY"] = getpass.getpass("Tavily API key:\n")

步骤 3: 实例化 Tavily 搜索工具

实例化 TavilySearchResults 实例,并配置其参数。

from langchain_community.tools import TavilySearchResults

tool = TavilySearchResults(
    max_results=5,
    search_depth="advanced",
    include_answer=True,
    include_raw_content=True,
    include_images=True,
)

步骤 4: 直接调用搜索功能

通过提供自然语言查询,直接调用搜索工具:

results = tool.invoke({"query": "What happened at the last Wimbledon"})
for result in results:
    print(f"Title: {result['title']}\nURL: {result['url']}\nContent: {result['content']}\n")

步骤 5: 使用 ToolCall 调用

你还可以使用模型生成的 ToolCall 来调用搜索工具:

model_generated_tool_call = {
    "args": {"query": "euro 2024 host nation"},
    "id": "1",
    "name": "tavily",
    "type": "tool_call",
}
tool_msg = tool.invoke(model_generated_tool_call)

import json
print(json.dumps(tool_msg.artifact, indent=2))

应用场景分析

  • 智能助手: 构建智能助手,为用户提供实时的问答服务。
  • 内容聚合: 收集并展示最新的新闻和信息。
  • 研究工具: 为研究人员提供快速而详尽的信息查询。

实践建议

  1. 优化查询: 尽量使用具体且明确的查询,以获得更精准的结果。
  2. 结果过滤: 通过配置 include_domains 和 exclude_domains 来过滤搜索结果。
  3. 结果展示: 优化结果的展示方式,以提升用户体验。

如果遇到问题欢迎在评论区交流。

你可能感兴趣的:(使用 Tavily Search API 构建智能搜索工具)