使用LangChain Tavily搜索集成来增强AI代理
Published on
Tavily搜索:使用实时搜索功能来增强AI代理
文章摘要:
- Tavily搜索是一个旨在为AI代理提供实时准确和真实结果的搜索引擎。
- 将Tavily搜索与AI代理集成可以通过让其获得最新信息来增强其功能。
- 本文详细介绍了设置集成的过程,以及如何单独使用Tavily搜索和将其与其他AI工具和平台集成。
引言
想象一下,你正在训练一种语言模型AI代理。你花了很多时间来优化其响应,以确保它生成准确和有用的信息。但有一件事还缺少 - 一个可靠的搜索引擎,可以提供实时准确和真实的结果。这就是Tavily搜索的用武之地,它是一个专门为像你这样的AI代理设计的搜索引擎。在本文中,我们将探讨Tavily搜索如何增强AI代理的能力,并详细介绍其集成的步骤。
设置集成
在我们深入讨论如何使用Tavily搜索的细节之前,让我们先讨论一下初始设置过程。要开始,您需要安装两个Python包:langchain-community
和tavily-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-openai
和langchainhub
。安装完成后,您可以使用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。
-
安装必要的包:为了使用Tavily Search,您需要使用pip安装
langchain-community
和tavily-python
包。在您的终端中运行以下命令:pip install langchain-community tavily-python
-
设置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工具或平台集成,可以按照以下步骤操作:
-
导入
TavilySearchResults
类:首先从langchain.tools.tavily_search
模块导入TavilySearchResults
类。该类提供了与Tavily Search API交互所需的方法。from langchain.tools.tavily_search import TavilySearchResults
-
创建
TavilySearchResults
类的实例:接下来,通过调用其构造函数创建TavilySearchResults
类的实例。tavily_tool = TavilySearchResults(api_wrapper=search)
-
进行搜索:最后,您可以使用
TavilySearchResults
类的invoke()
方法进行搜索。只需将查询作为invoke()
方法的参数即可。query = "最新的Burning Man洪水中发生了什么?" results = tavily_tool.invoke(query)
invoke()
方法将返回一个搜索结果列表,您可以对其进行处理和显示。
将Tavily Search与其他AI工具和平台集成
Tavily Search也可以与其他AI工具和平台无缝集成。以下是如何将Tavily Search与OpenAI Functions和LangSmith Hub集成的示例:
-
安装额外的包:除了
langchain-community
和tavily-python
包之外,您还需要安装langchain-openai
和langchainhub
包。在您的终端中运行以下命令:pip install langchain-openai langchainhub
-
创建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, )
-
运行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代理程序集成,释放实时搜索的力量吧!