LangChain Tavily Searchの統合によりAIエージェントを強化しよう
Published on
Tavily Search:リアルタイム検索機能によるAIエージェントの強化
記事の要約:
- Tavily Searchは、AIエージェント向けにリアルタイムかつ正確な検索結果を提供する検索エンジンです。
- Tavily SearchをAIエージェントと統合することで、最新の情報にアクセスできるようになり、AIエージェントの機能を向上させることができます。
- この記事では、統合の設定方法、Tavily Searchの個別の使用方法、および他のAIツールやプラットフォームとの統合方法についてまとめています。
はじめに
言語モデルのAIエージェントのトレーニングに取り組んでいると想像してください。正確で役立つ情報を生成するために、時間をかけてその反応を微調整してきました。しかし、ひとつだけ欠けているものがあります - リアルタイムで正確かつ事実に基づいた結果を提供する信頼性のある検索エンジンです。そこで登場するのが、Tavily Searchです。Tavily Searchは、あなたのようなAIエージェントを専門とするために設計された特化型の検索エンジンです。本記事では、Tavily SearchがAIエージェントの機能をいかに強化できるかを探求し、統合の手順をステップバイステップで説明します。
統合の設定
Tavily Searchの使用方法の詳細に入る前に、まず最初に統合の初期設定プロセスについて説明しましょう。始めるには、langchain-community
とtavily-python
の2つのPythonパッケージをインストールする必要があります。これらのパッケージはpip
を使用して簡単にインストールできます。インストールが完了したら、Tavily Search APIへのリクエストを認証するためのTavily APIキーを環境変数として設定する必要があります。
個別にTavily Searchを使用する
統合の設定が成功したら、Tavily Searchを個別に使用することができます。これを行うには、langchain_community.tools.tavily_search
モジュールからTavilySearchResults
クラスをインポートする必要があります。
Tavily Searchを使用して検索を実行するには、まずTavilySearchResults
クラスのインスタンスを作成する必要があります。このインスタンスは、Tavily Searchの機能へのエントリーポイントとなります。作成したら、このインスタンスのinvoke()
メソッドを使用して検索を実行することができます。このメソッドは、"query"
キーを含む辞書を入力として受け取り、検索結果のリストを返します。
たとえば、最新のBurning Manでの洪水に関する情報を検索したいとしましょう。単にTavilySearchResults
クラスのインスタンスを作成し、クエリ"What happened in the latest Burning Man floods?"
を引数としてinvoke()
メソッドを呼び出せば、検索結果のリストが返されます。それぞれの検索結果には、クエリに関連するコンテンツのURLとスニペットが含まれています。
他のAIツールやプラットフォームとのTavily Searchの統合
Tavily Searchを個別に使用することは非常に役立ちますが、その真のポテンシャルは他のAIツールやプラットフォームとの統合にあります。次に、OpenAI FunctionsとLangSmith Hubとの統合の例を見てみましょう。
これらのツールとTavily Searchを統合するには、langchain-openai
とlangchainhub
という2つの追加のPythonパッケージをインストールする必要があります。インストールが完了したら、langchain.agents
モジュールからAgentExecutor
クラスを使用してAIエージェントを作成できます。このクラスを使用すると、ChatOpenAI言語モデル(LLM)とTavilySearchResultsツールを使用してAIエージェントを構成することができます。
さて、agent_executor.invoke()
メソッドを使用してエージェントチェーンを実行し、検索結果を取得することができます。このメソッドは、AIエージェントの実行をトリガーとし、ChatOpenAI LLMを使用して応答を生成し、Tavily Searchを使用して関連情報を取得します。
出力の理解
Tavily Searchからの検索結果を受け取ると、URLとクエリに関連するコンテンツスニペットを含む構造化された形式であることに気付くでしょう。例えば、「What happened in the latest Burning Man floods?」というクエリとそれに対応する出力を考えてみましょう。
出力には、Burning Manでの最新の洪水に関する情報を提供するニュース記事やブログ投稿などの関連情報へのリンクが含まれています。各検索結果には、クエリに関連するコンテンツのURLとスニペットが含まれており、クエリに関連する情報のプレビューを提供しています。
Tavily Searchから得られる出力は、特定の検索クエリに合わせてカスタマイズされている点に注意してください。つまり、検索エンジンはクエリの文脈を考慮し、最も関連性の高い正確な結果を提供するように努めています。
AIエージェントにTavily Searchを統合することで、リアルタイムかつ正確で事実に基づいた情報にアクセスできます。言語モデルのAIエージェントのトレーニングや研究目的に利用する場合でも、Tavily Searchはその能力を大幅に向上させることができます。
次のセクションでは、Tavily Searchの利点と欠点、および潜在的な制限について説明します。さらに探求するための追加リソースも提供します。
Tavily Searchを使用する利点:
- AIエージェントのニーズに合わせたリアルタイムかつ正確な検索結果を提供します。
- 他のAIツールやプラットフォームと容易に統合できます。
- セットアッププロセスが簡単でリアルタイムな検索機能があります。
欠点と潜在的な制限:
- 特定の機能や能力に関するドキュメントが限られています。
- ドキュメントに提供されている例は基本的なものであり、すべての潜在的なユースケースをカバーしているとは限りません。
Tavily Searchの設定プロセスと個別の使用方法を探求したので、いくつかのベンチマーク比較やTavily Searchを他のAIツールやプラットフォームと統合するための詳細なステップバイステップチュートリアルを詳しく見ていきましょう。
AIエージェントとのTavily Searchの統合:ステップバイステップガイド
はじめに
リアルタイムで正確かつ事実に基づいた情報を提供できるAIエージェントがあると想像してください。開発者であろうとユーザーであろうと、AIエージェント専用の検索エンジンにアクセスできることは、AIアプリケーションの機能を大幅に向上させることができます。それがTavily Searchです。Tavily SearchはAIエージェントに最適化されたパワフルな検索エンジンです。本ガイドでは、Tavily SearchをAIエージェントと統合する手順を詳しく説明します。これにより、エージェントがウェブ上にある豊富な情報にアクセスできるようになります。
統合の設定
統合のプロセスに入る前に、Tavily Searchを設定するために必要ないくつかの初期ステップがあります。
-
必要なパッケージをインストールする:Tavily Searchを使用するには、
langchain-community
とtavily-python
のパッケージをpipを使用してインストールする必要があります。ターミナルで次のコマンドを実行します。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キーに置き換えてください。
これらの初期ステップが完了したら、AIエージェントとTavily Searchを使用する準備が整いました。
個別に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 = "What happened in the latest Burning Man floods?" results = tavily_tool.invoke(query)
invoke()
メソッドは検索結果のリストを返しますので、それを処理して表示することができます。
他のAIツールやプラットフォームとのTavily Searchの統合
Tavily Searchは他のAIツールやプラットフォームともシームレスに統合することができます。以下に、Tavily SearchをOpenAI FunctionsとLangSmith Hubと統合する方法の例を示します。
-
追加のパッケージをインストールする:
langchain-community
とtavily-python
パッケージに加えて、langchain-openai
とlangchainhub
パッケージもインストールする必要があります。ターミナルで次のコマンドを実行します。pip install langchain-openai langchainhub
-
AIエージェントを作成する:次に、
langchain.agents
モジュールのAgentExecutor
クラスを使用してAIエージェントを作成する必要があります。このクラスを使用すると、エージェントに実行するアクションのシーケンスを定義することができます。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, )
-
エージェントを実行する:最後に、
AgentExecutor
クラスのrun()
メソッドを呼び出してエージェントを実行し、クエリを引数として指定します。query = "What happened in the latest Burning Man floods?" response = agent_chain.run(query)
run()
メソッドは、Tavily Searchアクションを含むエージェントのアクションシーケンスを実行し、最終的な応答を返します。
出力の理解
Tavily Searchを使用して検索を実行すると、検索結果のリストが返されます。各検索結果には、URLとページの内容の要約を提供するコンテンツスニペットが含まれています。出力は検索クエリに合わせてカスタマイズされており、最も関連性の高い情報を提供します。
たとえば、クエリ「What happened in the latest Burning Man floods?」で検索を実行した場合、以下のような出力になるでしょう。
[{'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の最新の洪水に関連するニュース記事やウェブページへのリンク、およびそれらのページに関する情報の要約などが含まれていることが分かります。
まとめると、Tavily SearchをAIエージェントと統合することで、リアルタイムで正確かつ事実に基づいた情報にアクセスできるようになります。Tavily Searchを個別に使用する場合でも、他のAIツールやプラットフォームと統合する場合でも、AIアプリケーションの機能を向上させ、ユーザーに必要な情報を提供することができます。さあ、なぜ待つ必要がありますか?今日からAIエージェントとTavily Searchを統合し、リアルタイム検索の力を活用しましょう!