Want to Become a Sponsor? Contact Us Now!🎉

langchain-tutorials
使用LangChain Tavily搜索集成来增强AI代理

使用LangChain Tavily搜索集成来增强AI代理

Published on

Tavily搜索:使用实时搜索功能来增强AI代理

文章摘要:

  • Tavily搜索是一个旨在为AI代理提供实时准确和真实结果的搜索引擎。
  • 将Tavily搜索与AI代理集成可以通过让其获得最新信息来增强其功能。
  • 本文详细介绍了设置集成的过程,以及如何单独使用Tavily搜索和将其与其他AI工具和平台集成。
Anakin AI - The Ultimate No-Code AI App Builder

引言

想象一下,你正在训练一种语言模型AI代理。你花了很多时间来优化其响应,以确保它生成准确和有用的信息。但有一件事还缺少 - 一个可靠的搜索引擎,可以提供实时准确和真实的结果。这就是Tavily搜索的用武之地,它是一个专门为像你这样的AI代理设计的搜索引擎。在本文中,我们将探讨Tavily搜索如何增强AI代理的能力,并详细介绍其集成的步骤。

设置集成

在我们深入讨论如何使用Tavily搜索的细节之前,让我们先讨论一下初始设置过程。要开始,您需要安装两个Python包:langchain-communitytavily-python。这些包可以使用pip轻松安装。安装完成后,您需要将Tavily API密钥设置为环境变量。这个密钥是需要进行身份验证的请求Tavily搜索API的必需品。

单独使用Tavily搜索

一旦您成功设置集成,您就可以开始单独使用Tavily搜索。要做到这一点,您需要从langchain_community.tools.tavily_search模块中导入TavilySearchResults类。

要使用Tavily搜索进行搜索,您首先需要创建TavilySearchResults类的一个实例。这个实例将作为您访问Tavily搜索功能的入口点。创建完成后,您可以使用此实例的invoke()方法来执行搜索。此方法接受一个具有“query”键的字典作为输入,并返回一个搜索结果列表。

假设您想搜索有关Burning Man最新洪水的信息。您只需创建一个TavilySearchResult类的实例,并使用查询“最新的Burning Man洪水发生了什么?”调用invoke()方法。该方法将返回一个搜索结果列表,每个结果包含一个URL和与您的查询相关的内容片段。

将Tavily搜索与其他AI工具和平台集成

单独使用Tavily搜索可能非常有帮助,但它的真正潜力在于与其他AI工具和平台的集成。让我们来看看与OpenAI Functions和LangSmith Hub的集成示例。

要将Tavily搜索与这些工具集成,您需要安装另外两个Python包:langchain-openailangchainhub。安装完成后,您可以使用langchain.agents模块中的AgentExecutor类创建一个AI代理。这个类允许您使用ChatOpenAI语言模型(LLM)和TavilySearchResults工具配置您的AI代理。

现在,您可以使用agent_executor.invoke()方法来执行代理链并检索搜索结果。此方法触发AI代理的执行,其中包括使用ChatOpenAI LLM生成响应和使用Tavily搜索获取相关信息。

理解输出

当您从Tavily搜索获得搜索结果时,您会注意到一个结构化的格式,其中包含与您的查询相关的URL和内容片段。让我们以查询“最新的Burning Man洪水发生了什么?”和相应的输出为例。

输出可能包括指向新闻文章,博客文章或其他相关来源的链接,这些来源提供了有关Burning Man最新洪水的信息。每个搜索结果还包括一个内容片段,让您预览提供的URL上的信息。

需要注意的是,从Tavily搜索获得的输出是针对您具体的搜索查询进行了定制。这意味着搜索引擎考虑到了您查询的上下文,并努力提供最相关和准确的结果。

通过将Tavily搜索与您的AI代理集成,您可以确保它们能够访问实时准确和真实的信息。无论您是在训练语言模型AI代理还是将其用于研究目的,Tavily搜索都可以显著增强其功能。

在下一节中,我们将探讨使用Tavily搜索的优缺点,并讨论其潜在限制。我们还将提供一些额外的资源供进一步探索。

使用Tavily搜索的优点:

  • 提供针对AI代理需求的实时准确和真实的结果。
  • 可以轻松与其他AI工具和平台集成。
  • 提供简单的设置过程和实时搜索功能。

缺点和潜在限制:

  • 对特定功能和能力的文档有限。
  • 文档提供的示例是基础的,可能不涵盖所有潜在的用例。

现在我们已经探讨了设置过程和单独使用Tavily搜索,让我们更详细地了解一些基准比较,并提供有关如何将Tavily搜索与其他AI工具和平台集成的详细逐步教程。

![langchain tavily ai

将Tavily Search与AI Agent集成:一步一步指南

简介

想象一下,如果有一个能够为您提供实时、准确、事实信息的AI Agent。无论您是开发者还是用户,通过使用专门为AI Agent设计的搜索引擎,可以极大地增强您的AI应用程序的功能。Tavily Search就是这样一款功能强大的搜索引擎,专为AI Agent优化。在本指南中,我们将带您逐步了解如何将Tavily Search与您的AI Agent集成,使其能够访问互联网上的丰富信息。

设置集成

在我们深入集成过程之前,您需要执行一些初始步骤来设置Tavily Search。

  1. 安装必要的包:为了使用Tavily Search,您需要使用pip安装langchain-communitytavily-python包。在您的终端中运行以下命令:

    pip install langchain-community tavily-python
  2. 设置Tavily API密钥:要对Tavily Search API发出身份验证请求,您需要将Tavily API密钥设置为环境变量。这可以通过将以下代码添加到您的代码中来完成:

    os.environ["TAVILY_API_KEY"] = "<YOUR_API_KEY>"

    请确保将<YOUR_API_KEY>替换为您的实际Tavily API密钥。

完成这些初始步骤后,您现在可以开始使用Tavily Search与您的AI Agent。

单独使用Tavily Search

如果您想独立使用Tavily Search,而不需要将其与其他AI工具或平台集成,可以按照以下步骤操作:

  1. 导入TavilySearchResults类:首先从langchain.tools.tavily_search模块导入TavilySearchResults类。该类提供了与Tavily Search API交互所需的方法。

    from langchain.tools.tavily_search import TavilySearchResults
  2. 创建TavilySearchResults类的实例:接下来,通过调用其构造函数创建TavilySearchResults类的实例。

    tavily_tool = TavilySearchResults(api_wrapper=search)
  3. 进行搜索:最后,您可以使用TavilySearchResults类的invoke()方法进行搜索。只需将查询作为invoke()方法的参数即可。

    query = "最新的Burning Man洪水中发生了什么?"
    results = tavily_tool.invoke(query)

    invoke()方法将返回一个搜索结果列表,您可以对其进行处理和显示。

将Tavily Search与其他AI工具和平台集成

Tavily Search也可以与其他AI工具和平台无缝集成。以下是如何将Tavily Search与OpenAI Functions和LangSmith Hub集成的示例:

  1. 安装额外的包:除了langchain-communitytavily-python包之外,您还需要安装langchain-openailangchainhub包。在您的终端中运行以下命令:

    pip install langchain-openai langchainhub
  2. 创建AI Agent:接下来,您需要使用langchain.agents模块中的AgentExecutor类来创建一个AI Agent。这个类允许您定义一系列要由Agent执行的操作。

    from langchain.agents import initialize_agent, AgentType
    from langchain.tools.tavily_search import TavilySearchResults
     
    llm = ChatOpenAI(model_name="gpt-4", temperature=0.7)
    search = TavilySearchAPIWrapper()
    tavily_tool = TavilySearchResults(api_wrapper=search)
     
    agent_chain = initialize_agent(
        [tavily_tool],
        llm,
        agent=AgentType.STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION,
        verbose=True,
    )
  3. 运行Agent:最后,您可以通过调用AgentExecutor类的run()方法并提供一个查询作为参数来运行Agent。

    query = "最新的Burning Man洪水中发生了什么?"
    response = agent_chain.run(query)

    run()方法将执行为Agent定义的一系列操作,包括Tavily Search操作,并返回最终的响应。

理解输出内容

当您使用Tavily Search进行搜索时,您将收到一个搜索结果列表。每个搜索结果都包含一个URL和一个提供页面内容简要摘要的内容片段。输出内容根据搜索查询进行了定制,为您提供了最相关和有信息量的结果。

例如,假设您使用查询“最新的Burning Man洪水中发生了什么?”进行搜索。输出内容可能如下所示:

[{'url': 'https://www.theguardian.com/culture/2023/sep/03/burning-man-nevada-festival-floods', 'content': 'More on this story\nMore on this story\nBurning Man revelers begin exodus from festival after road reopens\nBurning Man festival-goers trapped in desert as rain turns site to mud\n\nOfficials investigate death at Burning Man as thousands stranded by floods\n\nBurning Man festivalgoers surrounded by mud in Nevada desert – video\nBurning Man attendees roadblocked by climate activists: ‘They have a privileged mindset’\n\nin our favor. We will let you know. It could be sooner, and it could be later,” said an update on the Burning Man website on Saturday evening.'}, {...}, {...}]

在这个示例中,您可以看到搜索结果包括与Burning Man洪水相关的相关文章或网页的URL,以及提供了这些页面上可用信息的内容片段。 总结一下,将Tavily搜索与您的AI代理程序集成,为访问实时、准确和事实信息打开了无尽可能。无论是单独使用Tavily搜索,还是将其与其他AI工具和平台集成在一起,您都可以增强AI应用程序的功能,并为用户提供所需的信息。那么,为什么要等呢?立即开始将Tavily搜索与您的AI代理程序集成,释放实时搜索的力量吧!

Anakin AI - The Ultimate No-Code AI App Builder