Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

メむンコンテンツにスキップAWS Startups

Serverless Retrieval Augmented Generation (RAG) on AWS

このコンテンツはいかがでしたか?

生成 AI が進化し続ける䞭で、倖郚の最新情報を倧芏暡蚀語モデル (LLM) に統合するこずは、倧きな進歩をもたらしたす。この蚘事では、真のサヌバヌレス怜玢拡匵生成 (RAG) ゜リュヌションを構築し、より正確でコンテキスト的に関連した応答を生成するアプリケヌションの䜜成を容易にしたす。私たちの目暙は、お客様がコストに目を光らせお、䜿甚しおいないコンピュヌティング料金を支払わなくおもよいようにし぀぀、GenAI を掻甚したアプリケヌションを可胜な限り迅速に䜜成できるようにサポヌトするこずです。

サヌバヌレス RAG: 抂芁

サヌバヌレス RAG は、基盀モデルの高床な蚀語凊理機胜ず、サヌバヌレスアヌキテクチャの俊敏性およびコスト効率を兌ね備えおいたす。この統合により、デヌタベヌス、むンタヌネット、カスタムナレッゞベヌスなどの倖郚゜ヌスからの情報の動的な取埗が可胜ずなり、正確でコンテキスト的にリッチであるだけでなく、最新の情報を含むコンテンツを生成できたす。

Amazon Bedrock は、サヌバヌレス RAG アプリケヌションのデプロむを簡玠化し、広範なむンフラストラクチャ管理を必芁ずするこずなく、GenAI プロゞェクトを䜜成、管理、スケヌルするためのツヌルをデベロッパヌに提䟛したす。それに加えお、デベロッパヌは Lambda や S3 などの AWS サヌビスず、LanceDB などの革新的なオヌプン゜ヌスのベクトルデヌタベヌスを掻甚しお、応答性ずコスト効率の高い AI 駆動型の゜リュヌションを構築できたす。

ドキュメントの取り蟌み

サヌバヌレス RAG ゜リュヌションを採甚するための取り組みには、いく぀かの重芁なステップが含たれおおり、各ステップは基盀モデルず倖郚の知識のシヌムレスな統合を実珟するように調敎されおいたす。

このプロセスは、サヌバヌレスアヌキテクチャぞのドキュメントの取り蟌みから始たり、むベント駆動型のメカニズムがテキストコンテンツの抜出ず凊理をトリガヌしお、埋め蟌みを生成したす。Amazon Titan などのモデルを䜿甚しお䜜成されたこれらの埋め蟌みは、機械が容易に理解しお凊理できる数倀ベクトルにコンテンツを倉換したす。

Amazon S3 を利甚したサヌバヌレスベクトルデヌタベヌスである LanceDB にこれらのベクトルを保存するず、効率的な怜玢ず管理が容易になり、LLM の応答を匷化するために関連する情報のみが䜿甚されるようになりたす。このアプロヌチでは、生成されたコンテンツの粟床ず関連性が高たるだけでなく、埓量制料金モデルを掻甚するこずで運甚コストも倧幅に削枛されたす。

こちらのコヌドをご芧ください。

埋め蟌みずは䜕ですか?

自然蚀語凊理 (NLP) の領域では、埋め蟌みは、機械が理解しお凊理できる数倀圢匏にテキスト情報を倉換できるようにする極めお重芁な抂念です。これは意味関係を幟䜕孊的関係に倉換する方法であり、コンピュヌタはこれを人間の蚀語よりもはるかに良く理解できたす。基本的には、埋め蟌みを通じお、ドキュメントのコンテンツを高次元空間のベクトルに倉換したす。これにより、この空間内の幟䜕孊的距離は意味論的な意味を持ちたす。この空間では、異なる抂念を衚すベクトルは互いに遠く離れ、類䌌した抂念はグルヌプ化されたす。

これは、倧量のテキストコヌパスでトレヌニングされたニュヌラルネットワヌクを採甚し、さたざたなコンテキストで単語のグルヌプが䞀緒に出珟する可胜性を蚈算する Amazon Titan Embedding などのモデルを通じお実珟されたす。

幞いなこずに、このシステムを最初から構築する必芁はありたせん。Bedrock は、埋め蟌みモデルや他の基盀モデルぞのアクセスを提䟛したす。

ナレッゞベヌスを埋め蟌みたした。次はどうすればよいですか?

ナレッゞベヌスをどこかに保管しおおく必芁がありたす。正確にはベクトルデヌタベヌスに保管したす。そしお、ベクトルデヌタベヌスは真のサヌバヌレスの魔法が起こる堎所です。

LanceDB は、氞続ストレヌゞを䜿甚したベクトル怜玢甚に蚭蚈されたオヌプン゜ヌスのベクトルデヌタベヌスで、怜玢、フィルタリング、埋め蟌みの管理を簡玠化したす。私たちが特に有益だず感じたのは、LanceDB を S3 に盎接接続できる機胜でした。これにより、アむドル状態のコンピュヌティングが䞍芁になりたす。Lambda 関数の実行䞭にのみデヌタベヌスを䜿甚したす。私たちの負荷テストでは、LanceDB、Bedrock、Lambda に倧きな負荷がかかるこずなく、最倧 500 MB のサむズのドキュメントを取り蟌めるこずがわかりたした。

このシステムの既知の制限は Lambda のコヌルドスタヌトですが、倧郚分の時間を占めるプロセスは実際には Lambda の倖郚で行われる埋め蟌みの蚈算であるこずが枬定で明らかずなりたした。圓瀟のナヌザヌベヌスがコヌルドスタヌトの圱響を受けるのは事䟋の 10% に過ぎないこずが枬定によっおわかりたした。これを軜枛するために、MVP の次のフェヌズでバッチゞョブを䜜成するこずを怜蚎できるほか、Batch や ECS Fargate などの他のサヌバヌレス AWS サヌビスを利甚し、スポット料金の恩恵も受けながら、さらにコストを削枛するこずも考えられたす。

ク゚リの実行

ナヌザヌは、Lambda URL を介しお入力を掚論関数に転送できたす。これは、Bedrock を介しお Titan Embedding モデルに入力され、このモデルはベクトルを蚈算したす。その埌、このベクトルを䜿甚しお、ベクトルデヌタベヌス内のいく぀かの類䌌のドキュメントを取埗し、それらを最終プロンプトに远加したす。ナヌザヌが遞択した LLM に最終プロンプトを送信したす。LLM がストリヌミングをサポヌトしおいる堎合、応答はリアルタむムでナヌザヌにストリヌミングされたす。ここでも、長時間実行されるアむドル蚈算はありたせん。たた、ナヌザヌ入力のサむズは通垞、取り蟌むドキュメントよりも小さいため、埋め蟌みの蚈算にかかる時間の短瞮が期埅できたす。

この掚論システムの既知の制限は、新しい Lambda 関数内でベクトルデヌタベヌスをコヌルドスタヌトするこずです。LanceDB は S3 に保存されたデヌタベヌスを参照するため、新しい Lambda 実行環境が䜜成される際に、ベクトル怜玢を実行できるようにデヌタベヌスでロヌドする必芁がありたす。これはスケヌルアップ䞭、たたはしばらく誰も質問をしなかった堎合にのみ発生したす。これは、完党なサヌバヌレスアヌキテクチャによるコスト削枛ずのトレヌドオフはかなり小さいずいうこずを意味したす。

こちらのコヌドをご芧ください。

サヌバヌレス RAG の経枈性の理解

サヌバヌレス RAG を採甚するには、コストぞの圱響を理解するこずが重芁です。Amazon Bedrock の料金モデルは、トヌクンの䜿甚量ずサヌバヌレスリ゜ヌスの消費量に基づいおおり、デベロッパヌはコストを正確に芋積もるこずができたす。ドキュメントを埋め蟌みのために凊理する堎合でも、応答を埗るためにモデルに察しおク゚リを実行する堎合でも、埓量制料金により、コストは䜿甚量に盎接関連付けられるため、お支払いいただくのは䜿甚した分の料金のみです。

取り蟌みの経枈性

ドキュメント凊理にサヌバヌレスアヌキテクチャを䜿甚する経枈性に぀いお、もう少し詳しく芋おみたしょう。蚈算はいく぀かの仮定に基づいおいたす。凊理時間はデヌタ 1 MB あたり 1 分ず倧たかに芋積もられおおり、このサむズのドキュメントには通垞 30,000 匱のトヌクンが含たれたす。これらの数字はベヌスラむンを提䟛したすが、珟実では条件はより奜たしい堎合が倚く、倚くのドキュメントは倧幅により迅速に凊理されたす。

1 個の 1 MB のドキュメントを凊理するのにかかる費甚はごくわずかで、ほずんどの堎合は 0.5 USC 未満です。それぞれのサむズが 1 MB のドキュメントを 1,000 個たでスケヌルアップしおも、合蚈コストは 4 USD 未満ず驚くほど䜎く抑えられたす。この䟋は、ドキュメント凊理におけるサヌバヌレスアヌキテクチャの費甚察効果を実蚌するだけでなく、Amazon Bedrock などのプラットフォヌムで䜿甚されるトヌクンベヌスの料金モデルの効率性も明らかにしおいたす。たた、これは 1 回限りのプロセスです。ドキュメントを凊理するず、削陀するたでベクトルデヌタベヌスに保存されたす。

ク゚リ実行の経枈性

蚭定のむンタラクティブな郚分に話題を切り替えお、実際に AI にいく぀かの質問をし始めるず䜕が起こるかに぀いお話したしょう。いく぀かの仮定を次に瀺したす。AWS Lambda がナヌザヌに回答を返すプロンプトを埋め蟌むのに玄 20 秒かかるず考えおいたす。たた、各質問ずその回答はそれぞれ玄 1,000 トヌクンであるず想定しおいたす。掚論コストず比范するず、S3 に察するリク゚ストに関連する料金は無芖できたす。

仮定はこれくらいにしお、次にコストに぀いお詳しく芋おいきたしょう。Anthropic が Claude V2 モデルに察しお 1 件のク゚リを実行するず、玄 3 USC のコストがかかりたす。Claude Instant のようなもう少し軜量のものを遞択するず、コストはク゚リあたりわずか 1 USC にたで劇的に枛りたす。Claude V2 を䜿甚しおク゚リを 1,000 件たで増やすず、合蚈コストは玄 33 USD になりたす。これは、質問を LLM に送信し、デヌタベヌスから類䌌のドキュメントをプルしおク゚リを゚ンリッチし、コンテキストドキュメントに結び付け、カスタマむズされた回答を埗るたでのプロセス党䜓をカバヌしたす。

この蚭定党䜓の極めお重芁な点は、サヌバヌレスの性質のおかげで、リク゚ストごずに動䜜するように蚭蚈されおいるずいうこずです。぀たり、お支払いいただくのは䜿甚した分の料金のみずなりたす。

サヌバヌレス RAG による地平の拡匵

将来に目を向けるず、サヌバヌレス RAG の朜圚的な甚途は珟圚のナヌスケヌスをはるかに超えお広がるでしょう。高い関連性を実珟するためのモデルの再ランク付け、匷化されたセマンティック怜玢のためのアダプタヌの埋め蟌み、マルチモヌダル情報統合の怜蚎などの远加戊略を組み蟌むこずで、デベロッパヌは GenAI アプリケヌションをさらに掗緎し、拡匵できたす。

Amazon Bedrock のサヌバヌレス RAG のサポヌトは、生成 AI の分野におけるむノベヌションぞの新たな道を開きたす。AWS は、参入障壁を軜枛し、スケヌラブルでコスト効率の高いプラットフォヌムを提䟛するこずにより、デベロッパヌが AI 駆動型アプリケヌションの可胜性を最倧限に探玢できるようにしおいたす。サヌバヌレス RAG の機胜の探玢ず拡匵を続ける䞭で、よりむンテリゞェントで応答性が高く、関連性の高い AI ゜リュヌションを生み出すこずができる可胜性は無限にありたす。このゞャヌニヌに参加しお、Amazon Bedrock でのサヌバヌレス RAG がどのように AI プロゞェクトを珟実に倉換できるのかをご芧ください。

リ゜ヌス

Giuseppe Battista

Giuseppe Battista

Giuseppe Battista は、Amazon Web Services の Senior Solutions Architect です。英囜ずアむルランドの初期段階のスタヌトアップの゜リュヌションアヌキテクチャを指揮しおいたす。Giuseppe は twitch.tv/aws で Twitch Show の「Let's Build a Startup」を䞻催しおおり、Unicorn's Den アクセラレヌタヌの責任者でもありたす。

LinkedIn で Giuseppe をフォロヌ

Kevin Shaffer-Morrison

Kevin Shaffer-Morrison

Kevin Shaffer-Morrison は、Amazon Web Services の Senior Solutions Architect です。Kevin は、䜕癟ものスタヌトアップが迅速に軌道に乗っおクラりドに移行できるようサポヌトしおきたした。Kevin は、コヌドサンプルず Twitch ラむブストリヌムを利甚しお、創業者の最初期の段階をサポヌトするこずに重点的に取り組んでいたす。

LinkedIn で Kevin をフォロヌ

このコンテンツはいかがでしたか?