OPEA を活用しインテル® Gaudi® AI アクセラレーターにエージェント・ベース RAG を実装

https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html

•	RAG と LLM によるビジネス機能の強化
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-undefined

•	RAG のメリットと課題
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-1

•	課題解決にインテル® Gaudi® プラットフォーム上でエージェント・ベース RAG と OPEA を活用
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-2

•	統合とアーキテクチャー
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-3

•	LLM の実装
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-4

•	LLM の検証
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-5

•	RAG ツールの実装
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-6

•	エージェント・サービスの実装
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-7

•	ユーザー・インターフェイスによる検証
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-8

•	まとめ
https://www.intel.com/content/www/us/en/developer/articles/reference-implementation/deploy-agent-based-rag-opea-gaudi-ai-accelerators.html##inpage-nav-9

＜RAG と LLM によるビジネス機能の強化＞
大規模言語モデル (LLM) に検索拡張生成 (RAG) を統合することで、ビジネス機能は大幅に向上します。動的で信頼性の高い外部ナレッジにより LLM の機能が拡張され、高精度かつ包括的な応答が可能になるからです。統合することで膨大なデータソースの活用も可能になり、企業は最新でコンテキストに即したインサイト溢れるコンテンツを生成できます。さらに、RAG を活用することで、顧客とのコミュニケーションをパーソナライズするなど、エンゲージメントのカスタマイズや効果を高める新たな道が開かれます。企業は今、社内のデータと分野固有の専門知識をさらに効率的に使い、ナレッジリソースを最大限に有効活用できるようになりました。

＜RAG のメリットと課題＞
RAG には多くのメリットがある一方で、課題があるのも事実です。
大きな限界の 1 つに、RAG が取得した情報の関連性や正確性が十分ではない場合、誤情報を生むリスクが挙げられます。また、この仕組みでは、微妙なニュアンスを含むクエリーや深い理解を要する複雑なタスクを効率的に処理することはできません。企業アプリケーションへの RAG の統合は複雑であり、特に多様なソースから取得した構造化データと非構造化データが組み合わさると、複雑さは増大します。データのインデックス付けと保管にも大きな課題が伴い、RAG を使用するデータベースは膨大になることから、ストレージやインデックス管理の問題が発生しかねません。

＜課題解決にインテル® Gaudi® プラットフォーム上でエージェント・ベース RAG と OPEA を活用＞
このブログでは、インテル® Gaudi® プラットフォームとインテル® Xeon® プラットフォームを使用し、オープンソースのソフトウェアとエンタープライズ AI 向けオープン・プラットフォーム (OPEA) を通じて、こうした問題を一つひとつ解決して企業がビジネス価値を引き上げることのできる、エージェント・ベースの RAG を導入する際の複雑さを解消する方法を説明します。OPEA は、パフォーマンス重視の生成 AI テクノロジーとワークフローを組み合わせ、短期間での生成 AI 導入を可能にするエコシステム・オーケストレーション・フレームワークです。エージェント・ベースの RAG では、コンテキストをより深く分析して検索精度を高めるインテリジェント・エージェントを組み込みます。エージェントは取得データをフィルタリングして優先順位を付けることで、応答の関連性と正確性を高めます。
https://github.com/opea-project
https://github.com/opea-project/GenAIComps/blob/main/comps/agent/src/README.md

ここでは、企業データの取得とウェブ検索を連携させて、推論と実行のシナジー効果を生む React エージェントを使用しました。オープンソースの LLM はテキスト生成インターフェイス (TGI) 経由で提供され、インテル® Gaudi® AI アクセラレーター上で実行します。インテル® Gaudi® AI アクセラレーターは、大規模 AI のトレーニングと推論に求められる要件を満たすために設計されており、ほかのハイエンド AI GPU と比較してコスト効率が高く、総保有コスト (TCO) を抑えることができるため、企業にとって経済的な選択肢となります。大規模 AI ワークロードをサポートしている点も、エンタープライズ・レベルのアプリケーションに適していると言える要因です。
https://arxiv.org/pdf/2210.03629
https://www.intel.com/content/www/us/en/products/details/processors/ai-accelerators/gaudi-overview.html?cid=sem&source=sa360&campid=2024_ao_cbu_us_gmocoma_gmocrbu_awa_text-link_brand_broad_cd_HQ-ai-gaudi_3500268603_google_b2b_is_non-pbm_intel&ad_group=AI_Brand-Gaudi_Gaudi_Broad&intel_term=intel+gaudi&sa360id=43700079820169495&gad_source=1&gclid=Cj0KCQjwgrO4BhC2ARIsAKQ7zUl45WTlT5VwomEKUvtFoZ3fPJ2ku0IqhtIt4znRvsgpNOoPEM69Z9IaAqJsEALw_wcB&gclsrc=aw.ds

＜統合とアーキテクチャー＞
OPEA は独自の取得アーキテクチャーにハードウェアとソフトウェアの両面で LLM アーキテクチャーを密接に統合します。ここでは LLM をインテル® Gaudi® ソフトウェアで運用する TGI を採用しました。
エージェント・ベース RAG のアーキテクチャーでは、RAG ツールが外部ソースから関連情報を動的に取得する役割を担い、埋め込みとリランクを含め、生成される応答が事実に基づいた最新のものであることを保証しています。このアーキテクチャーの中核となるのがベクトル型データベースであり、効率的かつセマンティクス的な情報検索を可能にする手段です。RAG はこのデータベースにベクトル形式でデータを格納することで、セマンティック類似性に基づき、最も関連性の高いドキュメントやデータポイントに素早くアクセスすることができます。
![１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/ecad245d-ec8d-48f7-ac77-7f221e342d9f.png)
図 1. OPEA フレームワークを活用しインテル® Gaudi® AI アクセラレーターにエージェント・ベース RAG を実装 

＜LLM の実装＞
![２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/1462ff9f-907d-4efa-a83c-4c2f7fac9541.png)

＜LLM の検証＞
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/2f31ad9e-26c6-4dea-87ed-5a334022c669.png)

＜RAG ツールの実装＞
RAG ツールの実装には OPEA コードを使用します。環境変数が設定されていることを確認してから、DocIndexRetriever にアクセスしてください。
https://github.com/opea-project/GenAIExamples/tree/main/DocIndexRetriever/
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/b4f69401-dfbe-44e9-8191-28da9dbd03f5.png)
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/12e353d2-36f0-4b43-81ce-6be78851969c.png)

Docker を構成するコンポーネント
Redis ベクトル型データベース: このデモでは Redis ベクトル型データベースにデータと埋め込みを保存
埋め込みサービス: 実装したモデルに基づいてデータをベクトル埋め込みに変換するサービス
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/dbc53d26-61b3-4e19-81f3-6d1db0a33436.png)

DataPrep サービス: データをベクトル型データベースに取り込み、埋め込みサービスとやり取りして PDF やその他のデータをベクトル型に変換するサービス
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/6033dbe3-7c44-44ee-8a6f-0bf7d7eb9bdc.png)

取得サービス: ユーザーのクエリー要求に応じてデータをベクトル型データベースから取得するサービス。また、埋め込みサービスとやり取りして、ユーザークエリーをベクトル埋め込みに変換します。
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/021b2489-9c46-4ddd-9aa2-f007eef51ab6.png)

テキスト埋め込み推論 (TEI) リランクサービス: ユーザークエリーに応じて取得データをランク付けするサービス
![9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/7bccacb8-2118-4a74-8b12-3e0421f9f70e.png)

RAG ツールとサービスの検証: OPEA プロジェクトの生成 AI サンプル
https://github.com/opea-project/GenAIExamples/tree/main/DocIndexRetriever/docker_compose/intel/hpu/gaudi##4-validation

＜エージェント・サービスの実装＞
エージェント・サービスの検証
https://github.com/opea-project/GenAIComps/blob/main/comps/agent/src/README.md##-3-validate-microservice

＜ユーザー・インターフェイスによる検証＞
ユーザー・インターフェイス (UI) には Gradio を使用しますが、Streamlit や React といったほかのフレームワークにも同様の機能が備わっています。
この例に使用する UI コードについては、GitHub を参照してください。
https://github.com/pallavijaini0525/Agent_Rag_blog/blob/main/agent_blog.ipynb

![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3490396/b459bf0b-4006-4940-91f7-59956fb0a65f.png)

＜まとめ＞
企業が AI 導入の複雑さを乗り越え、継続的に運用していくには、必要なツールとインフラストラクチャーによって AI 活用の課題を解決し目的達成をサポートする、OPEA やエージェント・ベース RAG とインテル® Gaudi® アクセラレーターを組み合わせたソリューションが有効です。企業はこれらのテクノロジーを受け入れることで、AI 主導のイニシアチブにおける効率性、正確性、イノベーションを新たなレベルに引き上げることができます。
こうした進歩をインテルとともに探求していただき感謝します。インテルは数多くの実例を紹介し、今後も RAG パイプラインのイノベーション推進に果敢に取り組んでいく予定です。これらのテクノロジーが進化を続け、企業の未来をけん引していくと期待しています。

【製品およびパフォーマンスに関する情報】
性能は、使用状況、構成、その他の要因によって異なります。詳細については、https://www.Intel.com/PerformanceIndex/ (英語) を参照してください。