なぜ、Tavily Search APIを選ぶか?
ポイント
従来のGoogle/Bing/SerpAPIなどの検索では、結果が検索の目的と関連性が低いことがある。 だからこそ開発者は、スクレイピング -> フィルター -> コンテキストに合わせて最適化 といっためんどくさい処理を行う
Tavily Search APIは、1回のAPIコールで20以上のサイトを集約し、独自のAIを使用して、タスク、クエリ、目標に最も関連性の高いソースとコンテンツをスコア付け、フィルタリング、ランク付けする。 また、フォローアップ検索クエリの提案やエージェント間通信用の短い回答の含有など、AIエージェントがより良い意思決定を行うのにも役立ちます。
感じたこと
普通にすごい。
一回のAPI callだけで、20以上のサイトを集約化するなんて...
スクレイピング -> 前処理が不要になるってことか...
code:python
client.search("What happened in the latest burning man floods?", search_depth="advanced")
一回のAPIcallで、複数(5つ)の結果を得ている
https://scrapbox.io/files/6633a1d92bf8eb0024fd0c21.png
search_depth params: basicとadvancedの2つがある。basicはクイック、advancedは、より深く質の高い検索結果が得られますが、レスポンスタイムが長くなります。advancedは2リクエストに相当する。
response = tavily.search(query="蒲田でおすすめのランチは?", search_depth="advanced")
この設定(advanced)を用いると、フォローアップクエスチョンが表示されるようになります。これは、Google検索で提案される検索候補に似ており、複数の角度からの検索を可能にすることで、検索の精度を向上させます。
例えば、以下のようなフォローアップクエスチョンが得られます:
・蒲田で人気のランチメニューは何ですか?
・蒲田のランチで予算はどのくらい見積もるべきですか?
・蒲田でベジタリアン向けランチスポットはありますか?
これらのフォローアップクエスチョンにより、ユーザーはより詳細な情報を求めることができ、結果として検索の精度が向上します。
include raw-content params をつけて、完全なHTMLを取得し、条件分岐をつけてあげることで、token数を節約でき性能を上げることができる。
ただ、裏側でどういう仕組みなのか、ドキュメントには書かれていない...
概要
目的に特化
LLMエージェントのために特別に調整され、RAGに最適化された検索結果を保証します。 オンラインソースからの情報の検索、スクレイピング、フィルタリング、抽出に関するすべての負担を引き受けます。
すべてが単一のAPIコールで実現します!返された検索結果をコンテキストとしてLLMに渡すだけです。
汎用性
結果の取得だけでなく、Tavily Search APIは精度も提供します。
カスタマイズ可能な検索の深さ、ドメイン管理、HTMLコンテンツの解析制御により、あなたが主導権を握ることができます。
どうやって、検索の深さを指定して、解析制御するのだろう?
パフォーマンス
迅速性と効率性にこだわり、当社のAPIはリアルタイムで信頼できる情報を保証します。
まだ始まったばかりですので、パフォーマンスは変動し、時間とともに改善される可能性があることにご注意ください。
統合しやすさ
適応性の本質を大切にしています。そのため、当社のAPIを既存の設定に統合するのは簡単です。Pythonライブラリや単純なAPIコール、あるいはLangchainやLLamaIndexなどのサポートされているパートナーを選択できます。 透明性と情報提供
詳細なドキュメントにより、決して暗闇に置き去りにされることはありません。セットアップの基本から微妙な機能まで、しっかりとサポートします。
Search APIはどのように機能するのか?
Google、Serp、Bingなどの現在の検索APIは、ユーザークエリに基づいて検索結果を取得します。しかし、結果は検索の目的と関連性が低いことがあり、単純なサイトのURLとコンテンツのスニペットを返しますが、必ずしも関連性が高いとは限りません。
このため、開発者は関連コンテンツを取得するためにサイトをスクレイピングし、無関係な情報をフィルタリングし、コンテンツをLLMのコンテキスト制限に合わせて最適化するなどの作業が必要になります。このタスクは負担が大きく、適切に行うためのスキルが必要です。
Tavily Search APIは、1回のAPIコールで20以上のサイトを集約し、独自のAIを使用して、タスク、クエリ、目標に最も関連性の高いソースとコンテンツをスコア付け、フィルタリング、ランク付けします。さらに、Tavilyでは、開発者がコンテキストなどのカスタムフィールドを追加し、レスポンストークンを制限して、LLMに最適な検索エクスペリエンスを実現できます。
Tavilyは、フォローアップ検索クエリの提案やエージェント間通信用の短い回答の含有など、AIエージェントがより良い意思決定を行うのにも役立ちます。
覚えておいてください:LLMのハルーシネーションでは、適切なコンテキストと情報でRAGを最適化することが重要です。