大規模な言語モデル(LLM)を使用してアプリケーションを構築する場合、応答の品質は、特定のユーザータスクの効果的な計画と推論機能に大きく依存します。従来のRAG技術は強力ですが、エージェントワークフローを組み込むことで、クエリを処理および応答するシステムの能力が大幅に向上します。
この記事では、Phidataオープンソースエージェントフレームワークを使用してメモリコンポーネントを備えたエージェントRAGシステムを構築し、ベクターデータベース、つまりQDRANT、埋め込みモデル、インテリジェントエージェントを改善するためのインテリジェントエージェントを組み合わせる方法を示します。
学習目標
- エージェントRAGシステムに必要なコンポーネントのアーキテクチャを理解して設計します。
- ナレッジベースの作成のためのベクトルデータベースと埋め込みモデルは、エージェントワークフロー内にどのように統合されますか?
- コンテキスト保持を改善するためのメモリコンポーネントを実装することを学びます
- 複数のツール呼び出しを実行できるAIエージェントを開発し、Phidataを使用したユーザーの質問やタスクに基づいて選択するツールを決定します。
- 実際のユースケースでは、知識ベースとDuckduckgoから個人情報と対話できるドキュメントアナライザーアシスタントエージェントを構築します。
この記事は、データサイエンスブログソンの一部として公開されました。
目次
- エージェントとラグとは何ですか?
- フィダタとは何ですか?
- フィダタを使用したエージェントのユースケース
- エージェントラグのリアルタイムユースケース
- ステップバイステップコードの実装:Qdrant、Openai、およびPhidataを使用したエージェントラグ
- エージェントラグの利点
- 結論
- よくある質問
エージェントとラグとは何ですか?
AIのコンテキストでのエージェントは、人間のような思考と計画能力をエミュレートするように設計されたコンポーネントです。エージェントコンポーネントは次のとおりです。
- 管理可能なサブタスクへのタスク分解。
- 必要なアクションを使用して使用するツールについてのインテリジェントな意思決定。
- 問題を解決するための最良のアプローチについての推論。
RAG(検索された生成)は、知識検索とLLM機能を組み合わせます。エージェントをRAGシステムに統合すると、次のことができる強力なワークフローを作成します。
- ユーザークエリをインテリジェントに分析します。
- ナレッジベースまたはベクトルデータベース内にユーザードキュメントを保存します。
- 指定されたユーザークエリの適切な知識ソースまたはコンテキストを選択します。
- 検索および応答生成プロセスを計画します。
- メモリコンポーネントを介してコンテキストを維持します。
従来のRAGとエージェントラグの重要な違いは、各クエリを処理し、ツールと対話してリアルタイム情報を取得する方法を決定する意思決定レイヤーにあります。
私たちが知っているので、エージェントのぼろきれのようなものがありますが、どのようにそれを構築しますか?それを分解しましょう。
フィダタとは何ですか?
Phidataは、エージェントワークフローを構築、監視、展開するために設計されたオープンソースフレームワークです。メモリ、知識、ツール、および推論機能を備えたマルチモーダルAIエージェントをサポートします。そのモデルに依存しないアーキテクチャは、さまざまな大規模な言語モデル(LLM)との互換性を保証し、開発者が任意のLLMを機能的なAIエージェントに変換できるようにします。さらに、Phidataを使用すると、Bring独自のクラウド(BYOC)アプローチを使用してエージェントワークフローを展開でき、AIシステムの柔軟性と制御の両方を提供できます。
Phidataの主要な機能には、複雑な問題を解決するために協力するエージェントチームを構築する能力、シームレスなインタラクション(Phidata遊び場)のための使いやすいエージェントUI、およびエージェント検索の高度発電(RAG)および構造化された出力の組み込みサポートが含まれます。また、このフレームワークは、監視とデバッグを強調し、堅牢で信頼できるAIアプリケーションを確保するためのツールを提供します。
フィダタを使用したエージェントのユースケース
実際のアプリケーションでエージェントベースのシステムの変革力を探索し、フィダタを活用して意思決定とタスクの自動化を強化します。
財務分析エージェント
Yfinanceなどのツールを統合することにより、Phidataは、リアルタイムの株価を取得し、財務データを分析し、アナリストの推奨事項を要約できるエージェントを作成できます。このようなエージェントは、最新の市場洞察を提供することにより、投資家とアナリストが情報に基づいた意思決定を行うのを支援します。
Web検索エージェント
また、Phidataは、Duckduckgo、Serpapi、Serperなどの検索ツールを使用して、Webからリアルタイム情報を取得できるエージェントの開発にも役立ちます。これらのエージェントは、最新のデータを調達することでユーザークエリに答えることができ、研究や情報収集のタスクに役立つようになります。
マルチモーダルエージェント
Phidataはまた、マルチモーダル機能をサポートし、画像、ビデオ、およびオーディオを分析するエージェントの作成を可能にします。これらのマルチモーダルエージェントは、画像認識、テキストから画像の生成、オーディオ転写、ビデオ分析などのタスクを処理でき、さまざまなドメインで汎用性の高いソリューションを提供します。テキストからイメージまたはテキスト間タスクの場合、Dall-EやReplicateなどのツールを統合できますが、画像からテキスト、ビデオ間タスク、GPT-4、Gemini 2.0、Claude AIなどのマルチモーダルLLMなどを利用できます。
エージェントラグのリアルタイムユースケース
スタートアップのドキュメントがあり、そのドキュメントに基づいてユーザーの質問に答えることができるチャットアシスタントを作成したいと想像してください。チャットボットをよりインテリジェントにするには、リアルタイムデータも処理する必要があります。通常、リアルタイムのデータクエリに答えるには、ナレッジベースの再構築またはモデルを再訓練する必要があります。
これはエージェントが出てくる場所です。ナレッジベースとエージェントを組み合わせることで、正確な回答を取得するチャットボットの能力を向上させるだけでなく、全体的なパフォーマンスを向上させるエージェントRAG(検索された生成)ソリューションを作成できます。
私たちの知識ベースを形成するために一緒になった3つの主要なコンポーネントがあります。まず、ドキュメントページ、PDF、または使用するWebサイトなどのデータソースがあります。次に、ベクターデータベースであるQDrantがあります。これは、同様の情報をすばやく見つけるのに役立つスマートストレージシステムのようなものです。そして最後に、コンピューターがよりよく理解できる形式にテキストを変換する埋め込みモデルがあります。これらの3つのコンポーネントは、システムの脳のような知識ベースに供給されます。
次に、Phidataからエージェントオブジェクトを定義します。
エージェントは3つのコンポーネントに接続されています。
- 考えて計画するのに役立つ推論モデル(GPT-4、Gemini 2.0、またはClaudeなど)。
- 以前の会話を思い出すのに役立つメモリ(sqlagentstorage)
- 情報を見つけるために使用できるツール(duckduckgo検索など)
注:ここで、知識ベースとDuckduckgoは両方ともツールとして機能し、タスクまたはユーザークエリに基づいて、エージェントは応答を生成するために使用するツールについてアクションを実行します。また、埋め込みモデルはデフォルトでOpenAIであるため、OpenAI-GPT-4Oを推論モデルとして使用します。
このコードを作成しましょう。
ステップバイステップコードの実装:Qdrant、Openai、およびPhidataを使用したエージェントラグ
ナレッジベースから個人情報(ウェブサイト)と対話できるドキュメンタナライザーアシスタントエージェントを構築し、知識ベースにコンテキストがない場合にduckduckgoを構築する時が来ました。
ステップ1:依存関係の設定
エージェントRAGワークフローを構築するには、次のようないくつかのライブラリをインストールする必要があります。
- Phidata:エージェントオブジェクトとワークフローの実行を定義します。
- Google Generative AI - 推論モデルIE、Gemini 2.0フラッシュ
- QDRANT - 知識ベースが保存され、後で関連情報を取得するために使用されるベクトルデータベース
- Duckduckgo - リアルタイム情報を抽出するために使用される検索エンジン。
PIPインストールPhidata Google-Generativeai Duckduckgo-Search qdrant-client
ステップ2:初期構成とセットアップAPIキー
このステップでは、環境変数を設定し、必要なAPI資格情報を収集してこのユースケースを実行します。OpenaiAPIキーについては、https://platform.openai.com/から入手できます。アカウントを作成し、新しいキーを作成します。
phi.knowledge.websiteインポートWebサイトKnowledgeBaseから phi.vectordb.qdrantインポートqdrantから Phi.Agent Import Agentから phi.storage.agent.sqliteからsqlagentstorageからインポート Phi.model.openaiからImport openaichatから Phi.tools.duckduckgoからImport duckduckgoから OSをインポートします os.environ ['openai_api_key'] = "<plateg>"</plateg>
ステップ3:ベクトルデータベースのセットアップ - QDRANT
これで、ベクトルデータベースにコレクション名、URL、およびAPIキーを提供することにより、QDRANTクライアントを初期化する必要があります。 QDRANTデータベースは、Webサイトからの知識を保存およびインデックス付けし、エージェントがユーザークエリに基づいて関連情報の取得を実行できるようにします。このステップは、エージェントのデータレイヤーをセットアップします。
- クラスターの作成:https://cloud.qdrant.io/
- クラスターに名前を付け、クラスターが作成されたらAPIキーをコピーします。
- Curlコマンドの下で、エンドポイントURLをコピーできます。
collection_name = "agentic-rag" qdrant_url = "<plateg>" qdrant_api_key = "<plateg>" vector_db = qdrant( collection = collection_name、 url = qdrant_url、 api_key = qdrant_api_key、 ))</plateg></plateg>
ステップ4:知識ベースの作成
ここでは、エージェントがその知識を引き出すソースを定義します。この例では、Webサイトからの質問に簡単に答えることができるドキュメントアナライザーエージェントを構築しています。インデックス作成にはQDRANTドキュメントWebサイトURLを使用します。
WebサイトKnowledgeBaseオブジェクトは、QDRANT Vectorデータベースと対話して、指定されたURLからインデックス化された知識を保存します。その後、エージェントによる検索のために知識ベースにロードされます。
注:ロード関数を使用して、データソースをナレッジベースにインデックス化することを忘れないでください。これは、コレクション名に1回だけ実行する必要があります。コレクション名を変更して新しいデータを追加する場合は、その時間だけがロード関数を再度実行します。
url = "https://qdrant.tech/documentation/overview/" Knowlede_base = websiteknowledgebase( urls = [url]、 max_links = 10、 vector_db = vector_db、 )) knowledge_base.load()#コレクションが作成された後、1回だけ実行してください。
ステップ5:エージェントを定義します
エージェントは、応答生成用のLLM(GPT-4)、情報検索の知識ベース、およびメモリとして相互作用と応答を追跡するSQLiteストレージシステムを構成します。また、必要に応じて追加のWeb検索のためにDuckDuckgo検索ツールをセットアップします。このセットアップは、クエリに答えることができるコアAIエージェントを形成します。
show_tool_callsをtrueに設定して、バックエンドランタイムの実行を観察し、クエリがナレッジベースまたはduckduckgo検索ツールにルーティングされているかどうかを追跡します。このセルを実行すると、メモリストレージを有効にし、add_history_to_messagesをtrueに設定することにより、すべてのメッセージが保存されるデータベースファイルが作成されます。
agent = agent( model = openaichat()、 知識= nkinking_base、 ツール= [duckduckgo()]、 show_tool_calls = true、 マークダウン= true、 ストレージ= sqlagentStorage(table_name = "agentic_rag"、db_file = "agents_rag.db")、 add_history_to_messages = true、 ))
ステップ6:複数のクエリを試してください
最後に、エージェントはユーザークエリを処理する準備ができています。 print_response()関数を呼び出すことにより、ユーザークエリを渡すと、エージェントは知識ベースから関連情報を取得して処理することで応答します。クエリがナレッジベースからのものではない場合、検索ツールを使用します。変更を観察しましょう。
クエリ-1:ナレッジベースから
agent.print_response( 「ドキュメントで言及されているインデックステクニックは何ですか?」 ストリーム= true ))
ナレッジベースの外側のクエリ-2
agent.print_response( 「Virat Kohliは誰ですか?」 ストリーム= true ))
エージェントラグの利点
インテリジェントエージェントとリレーショナルグラフが組み合わさってデータの検索と意思決定を最適化するエージェントラグの重要な利点を発見します。
- より良い応答生成のための推論機能を強化します。
- ナレッジベースやDuckduckgoなどのクエリコンテキスト、またはエージェントに提供できるコンテキストを取得できる他のツールに基づくインテリジェントツール選択。
- 履歴会話メッセージを覚えて抽出できる改善されたコンテキスト認識のためのメモリ統合。
- より良い計画とタスクの分解、エージェントワークフローの主な部分は、タスクを取得してサブタスクに分解し、より良い決定と行動計画を立てることです。
- PDF、Webサイト、CSV、Docsなど、さまざまなデータソースとの柔軟な統合。
結論
メモリコンポーネントを使用してエージェントRAGを実装すると、インテリジェントな知識検索システムと検索エンジンを構築するための信頼できるソリューションが提供されます。この記事では、エージェントとぼろきれが何であるか、どのようにそれらを組み合わせるかを調査しました。エージェントRAGの組み合わせにより、エージェントの意思決定機能により、クエリルーティングが改善されます。
キーテイクアウト
- Phidataを使用したエージェントRAGが、メモリ、ナレッジベース、および動的クエリ処理を統合することにより、AIを強化する方法を発見してください。
- 効率的な情報検索と適応対応の生成のために、Phidataを使用してエージェントRAGを実装することを学びます。
- Phidataデータライブラリは、Gemini 2.0 Flashなどのマルチモーダルとともに、わずか30行のコアコードを備えた合理化された実装プロセスを提供します。
- メモリコンポーネントは、コンテキストを維持し、応答の関連性を改善するために重要です。
- 複数のツール(ナレッジベース、Web検索)の統合により、QDRANTなどの柔軟な情報検索 - ベクトルデータベースが効率的な検索のための高度なインデックス作成機能を提供します。
よくある質問
Q1。 Phidataはマルチモーダルタスクを処理できますか?また、この目的のためにどのツールを統合しますか?A.はい、Phidataは、画像、ビデオ、オーディオを含むタスクを処理できるマルチモーダルAIエージェントをサポートするために構築されています。 DALL-Eなどのツールを統合し、テキストからイメージまたはテキストからビデオへの生成のために複製し、GPT-4、Gemini 2.0、Claude AIなどのマルチモーダルLLMを使用して、画像からテキスト、ビデオ間タスクを使用します。
Q2。エージェントRAGシステムの開発に利用できるツールとフレームワークは何ですか?A.エージェント検索の発電(RAG)システムの開発には、自律エージェントの検索および生成能力の統合を促進するさまざまなツールとフレームワークを利用することが含まれます。この目的のために利用できるツールとフレームワークのいくつかを以下に示します:Langchain、Llamaindex、Phidata、Crewai、およびAutogen。
Q3。 Phidataは外部ツールや知識ベースと統合できますか?A.はい、Phidataはさまざまなツールと知識ベースの統合を可能にします。たとえば、リアルタイムの在庫分析のためにYfinanceなどの財務データツールや、最新情報を取得するためにDuckduckgoのようなWeb検索ツールに接続できます。この柔軟性により、特定のユースケースに合わせた専門エージェントの作成が可能になります。
この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。
以上がフィダタでエージェントラグを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

激動ゲーム:AIエージェントとのゲーム開発に革命をもたらします BlizzardやObsidianなどの業界の巨人の退役軍人で構成されるゲーム開発スタジオであるUpheavalは、革新的なAIを搭載したPlatforでゲームの作成に革命をもたらす態勢を整えています。

UberのRobotaxi戦略:自動運転車用の乗車エコシステム 最近のCurbivore Conferenceで、UberのRichard Willderは、Robotaxiプロバイダーの乗車プラットフォームになるための戦略を発表しました。 で支配的な位置を活用します

ビデオゲームは、特に自律的なエージェントと現実世界のロボットの開発において、最先端のAI研究のための非常に貴重なテストの根拠であることが証明されています。 a

進化するベンチャーキャピタルの景観の影響は、メディア、財務報告、日常の会話で明らかです。 ただし、投資家、スタートアップ、資金に対する特定の結果はしばしば見落とされています。 ベンチャーキャピタル3.0:パラダイム

Adobe Max London 2025は、アクセシビリティと生成AIへの戦略的シフトを反映して、Creative Cloud and Fireflyに大幅な更新を提供しました。 この分析には、イベント以前のブリーフィングからの洞察がAdobeのリーダーシップを取り入れています。 (注:ADOB

MetaのLlamaconアナウンスは、Openaiのような閉じたAIシステムと直接競合するように設計された包括的なAI戦略を紹介し、同時にオープンソースモデルの新しい収益ストリームを作成します。 この多面的なアプローチはBOをターゲットにします

この結論に関して、人工知能の分野には深刻な違いがあります。 「皇帝の新しい服」を暴露する時が来たと主張する人もいれば、人工知能は普通の技術であるという考えに強く反対する人もいます。 それについて議論しましょう。 この革新的なAIブレークスルーの分析は、AIの分野での最新の進歩をカバーする私の進行中のForbesコラムの一部です。 一般的な技術としての人工知能 第一に、この重要な議論の基礎を築くためには、いくつかの基本的な知識が必要です。 現在、人工知能をさらに発展させることに専念する大量の研究があります。全体的な目標は、人工的な一般情報(AGI)を達成し、さらには可能な人工スーパーインテリジェンス(AS)を達成することです

企業のAIモデルの有効性は、現在、重要なパフォーマンス指標になっています。 AIブーム以来、生成AIは、誕生日の招待状の作成からソフトウェアコードの作成まで、すべてに使用されてきました。 これにより、言語modが急増しました


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ホットトピック









