1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

各ベンダー(GCP, AWS, Azure)でのRAGマネージドサービスについて

Posted at

目的

  • 当初はGoogle Cloudの Vertex AI Search(AI Applications) でRAGしていた
  • Googleは頻回に破壊的変更を行うため本番運用が怖い
  • AWSやAzureで同様のマネージドRAGサービスがないか調査

結論

先に結論。この表見ればだいたい分かる。

クラウド サービス名 ベクターストア 埋め込みモデル LLM PDF 直接アップロード PDF リンク提示
AWS Amazon Bedrock Knowledge Bases Amazon OpenSearch Serverless AWS独自モデル: Titan もしくは Cohere AWS独自モデル: Titan もしくは Claude Amazon S3 バケットをデータソースとして直接クロール可能 (Amazon Web Services, Inc.) 検索結果にドキュメントIDやメタデータを付与し、回答に出典として含められる (AWS ドキュメント)
Google Cloud Vertex AI Search (AI Applications) Vertex AI Vector Search Vertex AI Embeddings API( text-multilingual-embedding-002 等) Geminiシリーズ Cloud Storage(GCS)にPDFをアップロードし、Vertex AI Searchでインポート・インデックス化 (Google Cloud) 結果メタデータにファイルURI(GCSパス)を含められ、ウィジェットやAPIレスポンスでリンク表示可能 (Google Cloud)
Azure Azure AI Search Azure AI Search OpenAI 埋め込みモデル(text-embedding-ada-003 等) Azure OpenAI のGPTシリーズ Azure Blob StorageにPDFをアップロード後、Cognitive Searchでインデックス (Azure) インデックスフィールド(ファイル名やBlob URL)を回答に含めて、リンクとして表示できる (Azure)

Vertex AI Search

Vertex AI Search は、企業が保有する様々なデータ(ウェブサイト、ドキュメント、データベースなど)に対して、Google検索のような高度な検索機能と、生成AIによるインテリジェントな回答生成機能を簡単に構築できるフルマネージドサービスです。

機能

  • 自社データからの検索: PDF、HTML、ドキュメント、ウェブサイト、構造化データ(BigQueryなど)といった多様な企業内データソースを横断して検索対象にできます。
  • 自然言語での検索: ユーザーが日常会話のような自然な言葉で質問やキーワードを入力すると、関連性の高い情報を探し出します。
  • 生成AIによる回答・要約: 検索結果を単にリスト表示するだけでなく、それらの情報に基づいて直接的な回答を生成したり、内容を要約して提示したりできます。

要するにPDFとかHTMLをぶち込んだらそれを元に、検索やRAGでの解答をよしなにしてくれるサービス

AI Applications

これらを簡単に構築するマネージド・サービスとして AI Applications がある(Vertex AI Searchを基盤としたマネージドサービスと考えて良い)

<!-- Widget JavaScript bundle -->
<script src="https://cloud.google.com/ai/gen-app-builder/client?hl=ja"></script>

<!-- Search widget element is not visible by default -->
<gen-search-widget
  configId="your_config_id"
  triggerId="searchWidgetTrigger">
</gen-search-widget>

<!-- Element that opens the widget on click. It does not have to be an input -->
<input placeholder="ここで検索" id="searchWidgetTrigger" />

スクリーンショット_2025-05-09_12.35.24.png

紐つけたCloud StorageにPDFをアップロードして、コンソールでポチポチするだけで簡単にRAGシステムを構築できる

上記コードを貼り付けるだけで、サクッと検索ウィジェットを自分のサイトに置くことができる

もちろんAPI化して、自分でプログラム的に制御することも可能

検索のみの search メソッドとGeminiと連携して解答してくれる answer メソッドが用意されている

検索結果を取得する  |  AI Applications  |  Google Cloud

問題点

御存知の通り、Googleは頻繁にサービスには快適変更を加える上に、バンバン廃止してくる

生成AI関連は各社スピードが早いということもあり、既に名前の変更やらサービスの破壊的変更が相次いでいる(Vertex AIとGemini APIの2つがあることからも色々察してしまう)

ということで、他のベンダーで同様のマネージドサービスがないか調べる

各社とも、2023年末から2024年初頭にかけてこのあたりのRAGサービスの更新が活発

AWS Bedrock Knowledge Base

AWSの基盤モデルサービスであるAmazon Bedrockの機能拡張として、外部データソースを取り込んでLLMのプロンプトに関連情報を自動付加するフルマネージドRAGシステム
S3に置いたPDFやConfluence、SharePointなど各種データソースと連携し、自動で文書をクロール・テキスト分割し、ベクトル埋め込みを生成して指定のベクトルストアに格納する
開発者向けにはBedrock APIで検索+回答生成を一度に行う RetrieveAndGenerate などが用意されておりLLMにはBedrock経由で提供されるTitanやAnthropic Claudeなど高性能モデルを利用できます

Knowledge bases for Amazon Bedrock - AWS Prescriptive Guidance

ChatGPTにかけてもまだオフチョベット感が否めないので簡単にまとめると

S3とかにアップロードしたPDFやWordなどのデータを元にRAGで答えてくれるシステム。S3にアップロードされた文書をChunking/Embeddingすることでデータ基盤を作成できる。 AWS Berock で動くLLMでRAGが可能。

  1. RAGデータベースは AWS OpenSearch が推奨される
  2. Embedding Modelは AWS独自モデルとCohereのモデルが使える
  3. 回答するLLMは Claude

スクリーンショット_2025-05-09_12.58.04.png

ちなみに御存知の通り OpenSearch はElasticsearchをベースにAWSがフォークしたもの

元々は全文検索サービスだが、近年ではベクトル検索システムも使える(内部ざっくり見た感じ、また別のVectorDBがあるわけではなく、Elasticsearchなどのベクトル検索と近いシステムっぽい)

実際のアプリケーション

ml-15933-archdiag-new2.png

基本的には Amazon Bedrock (Knowledge)OpenSearch についてはフルマネージドなのであまり気にしなくて良さそう

Vector Database

使えるベクトルデータベースたち

基本的には OpenSearch Serverless が推奨される

Azure AI Search

AWSと同じようなサービス

裏側がほとんどOpenAI

Luceneベースの全文検索エンジンとのハイブリッドサーチも可能らしい(ただし日本語未対応?)

Luceneベースということはざっくりと、Elasticsearchとかと近しい感じかな

  • Vector store: AI search
  • Embedding Model: OpenAI text-embedding-3-large
  • LLM: OpenAI ChatGPT seriese

おわりに

以上、各ベンダーのRAGサービスの調べでした

ざっくりと、Azure = OpenAI, AWS = Claude(一部自前モデル)、Google Cloud = Geminiという元から知ってる図式が増強された感じ

ちなみに個人的にはRAGまたはベクトル検索するときはQdrantなどを立ち上げて自前ですることが多い

もともとElasticsearchでもHybrid検索していたので、今回調べた限りだと各ベンダーの使い勝手としてはこちらのほうが近そうという印象を受けた

Elasticsearch好きなんだけど、ちょっと最適化とかそのあたり難しんだよなというのと、ベクトル検索に向いてるかといえばちょっと微妙

というわけで、来年頃にはおそらく各社ともベクトル検索専用のDBと連携とかもありそうだけど今のところはなさそう

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?