Amazon Qとは
Amazon Qは、チャットベースのAIサービスで、手元の情報に基づいて回答を出力させたり検索させたりすることができます。既に持っている知識を使ってイノベーションを促進させるために本サービスを活用することができます。
ホーム
マネージメントコンソールからAmazon Qを検索しホーム画面を表示します。
ホーム画面には、見慣れたフォーマットのAWSサービス紹介ページが出てきます。 画面上部にはまだプレビューであることを説明するポップが表示されています。右手のGet Staredから早速使っていきます。
Amazon Qはまだプレビュー段階であり、利用できるリージョンに制限があります。 現時点では、米国西部(オレゴン)と米国東部(バージニア北部)のみとなっています。
Amazon Qの前提条件
Amazon Qの使用を開始するためには、AWS Organizationsで組織が作られている必要があります。個人のAWSアカウントなどで作業をしていて組織を作っていない場合は作成してからの作業開始となります。
AWS OrganizationsではAIサービスに対するオプトアウトを強制するためのポリシーの作成などもできるためこのタイミングで効率的な使い方を学んでおくと良いと思います。
アプリケーション
Amazon Qで何かしようと思ったら、まずはアプリケーションを作成する必要があります。 アプリケーションの名前を設定するくらいで、サービスロールの作成も自動でやってくれます。 Createを押して際に、サービスロールの作成には少し時間がかかるので30秒程度待ちます。
データソース
次はチャットの中で参照させるデータソースを選択します。
サンプルドキュメントも用意されているので、手元にデータがない場合はこちらから試すこともできるようです。
Most PopulerとしてS3、Web crawler、Upload docsがあります。 S3はインデックス化されたデータを格納しておくことですぐにチャットの回答情報源として利用することができます。 Web crawlerはURLを指定してデータの収集とインデックス化を行ってくれます。Upload docsは手元のファイルを個別にアップロードしてあげてインデックス化させることができます。手元のファイルをアップロードする際にはファイル名に日本語が入っている場合やファイルの構造が想定外の内容になっている場合などはうまく処理できないようでした。今後はもっとデータの取り回しがしやすくなると思うので期待しておきたいと思います。
他にも様々な外部サービスと連携させることができます。 CloudだけでなくOn-premとの連携も可能です。
Gmailの例に中身を見ていくと、上の方の項目は認証がらみで違いがあったり最下段のField mappingsに違いがありました。
Gmailはデータ構造がある程度決まっているので、Field mappingsにある程度項目が入っている状態です。
一方で、Dropboxなどのどんなファイルがあるか分からないようなサービスだとカスタムで設定する必要が出てきます。
Chatスタート
アプリケーションの作成と、必要に応じてデータソースの設定が完了したらチャット画面を起動して遊んでみます。
アプリケーション画面のPreview web experienceを押してweb画面を起動します。
ここで開いたweb画面は管理者用の設定画面を兼ねているので、タイトルやサブタイトル、ウェルカムメッセージとサンプルプロンプトの表示が設定できます。
試しにいくつか質問を入れてみます。
日本語で回答できるか聞いたところ、しっかり日本語で回答が返ってきました。 AWSについて聞いたところ、情報が見つからなかったみたいです。モデルがもし知っていたとしてもデータソースに情報があるのかどうかというのが優先的に判断の材料になっているかもしれません。
ここで作成したデータセットを含むチャットwebはインターネットからアクセス可能なアプリとしてデプロイすることができます。
AWS IAM Identity Centerを使用してSAMLによる認証を通ったユーザーだけがアクセスできるように安全にデプロイすることができます。 ユーザー管理と認証を全てAWS上で完結させることができるのでAzureやOpenAIと組み合わせる必要もなく単独でシンプルに構築することができるのはメリットだと思います。
IAM Identity Centerでユーザーを作ってアプリケーションの認証設定を済ませたら、デプロイURLを通じてアクセスしてみます。
この経路でアクセスした場合は、管理者画面の時に表示されたタイトルなどの編集画面は表示されません。また、履歴などもユーザーごとに管理されるためこちらには表示されません。
非常に簡単にデプロイとユーザー管理ができるので嬉しいサービスが出たなという気持ちです。
料金について
プレビューの段階なのでまだ詳細な料金は提示されていないのですが、大きく二つのプランとベース料金は公表されています。
BusinessとBuilderのプランがあり、ベースの価格は$20~25/user/monthになります。
プランの中で共有するところをプラン比較に載せています。データの取り込みとQuick Sightの連携はどちらも備わっています。Builderはさらに下にCode WhispererやCatalystとの連携が備わっていてAWS上で開発作業をする人には個別で支払わずにこのベースプランにしてしまった方がお得かもしれません。
とは言ってもまだプレビュープライスなので今時点で判断する必要はないと思います。 (BedrockのClaudeモデルの一部で料金が2倍になったばかりですし)
料金もよくみるとインデックス化のコストで最小$100/monthかかりそうとか色々ありますが今はそんなに気にしないでおきたいと思います。
わかったこと
Amazon Qはかなり簡単にWebサービスをデプロイできることがわかりました。Azure OpenAI Serviceのプレイグラウンドではできなかったちゃんと独自データを持たせる機能やそのままデプロイする機能はこちらに軍配が上がります。PronptflowやFine tuningなどはまだBedrockやその周辺が追いついていないこともあり見劣りしている部分もありますが今後様々なサービスが追加されてくる感じはありますね。
Lang ChainのLangSmithがとても便利でいいなぁと思っているので、クラウド各社やLLM開発をリードしている会社がLLMやチャット内容の評価を含むWebサービスを簡単にデプロイできるような仕組みを作ってくれることに期待したいと思います。
データのインデックス化はまだまだ課題が多い(データがそもそも色々あるから)ので共通化する仕組みが今後現れたり、取り込み自体をLLMに任せたりみたいな未来があるんだろうなと思っています。
LLM活用サービスを今後も注目していきたいと思います。