【re:Invent 2023】Amazon Q(プレビュー)のWorkShop参加レポート

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

はじめに

現地ラスベガスでre:Invent2023に参加しており、AI/ML系のWorkshopに参加したため、レポートを記載いたします。

Workshopの概要

Workshopの概要としては、昨日プレビューで公開されたAmaozn Qの使い方を学べる内容でした。 また、Amaozn Qの概要説明があった後に、Workshopで実施したことは以下の通りです。

  • Amazon Q内にユーザー作成
  • Amazon Qを使ったRAGアプリの構築
  • データソースとして、File Upload,Web crawler,S3を設定
  • RAGアプリへの質問
  • Amazon QとKeycloak(EC2)を利用したSAML連携
  • ユーザーごとにS3にあるドキュメントへのアクセス制限の設定

補足として、以下にWorkshopのタイトルと概要の原文と和訳を記載いたします。

* 原文
Many enterprises are grappling with fast technological change. In this workshop,
learn how to safely build custom generative AI applications to supercharge employee productivity using Amazon Q.
Explore how to create a conversational generative AI application for employees, powered by your own enterprise content.
With Amazon Q, you can ingest proprietary data through secure connectors and define access policies so the application only responds with information users are allowed to see—and confirm that the response uses only content the user has permission to access.
You must bring your laptop to participate.

* 翻訳
多くの企業が急速なテクノロジーの変化に取り組んでいます。
このワークショップでは、Amazon Q を使用して従業員の生産性を高めるカスタムの生成 AI アプリケーションを安全に構築する方法を学びます。
独自のエンタープライズ コンテンツを活用した、従業員向けの会話型生成 AI アプリケーションを作成する方法を学びます。
Amazon Q を使用すると、安全なコネクタを通じて独自のデータを取り込み、
アプリケーションがユーザーに表示を許可されている情報のみを応答するようにアクセスポリシーを定義できます。
また、その応答では、ユーザーがアクセス許可を持っているコンテンツのみを使用することを確認できます。
参加するにはラップトップを持参する必要があります。

感想

先に感想を記載いたします。

  • Amazon Qはまだプレビュー中ですぐに本番導入はできないが、RAGアプリを容易に作れるため、かなり期待のサービスと感じた。
  • Amazon Qのデータソース追加のUIがAmazon Kendraとほぼ同じため、裏側でKendraが使われていそう。
  • Amazon Qは、簡単にRAGアプリ作れるため、構築は容易だがユーザーごとに$20(2023/11/30時点)かかる予定のため、コストが割とネックになりそうと感じた。 (とはいえ、ChatGPTも$20のため、ChatGPTを利用している場合はあまり気にならないかも?)
  • コストを抑えるために自分達でRAGアプリを作る選択肢も考えられそう。
  • ACLを書くだけでユーザーごとにデータソースのドキュメントへのアクセス制限をするのは簡単にできそう。 (WorkshopではデータソースがS3の場合のみの紹介だったため、他のサービスでも同様にできるかは未確認。)
  • Amazon Qだけでは、ユーザーごとのプロンプトのログを取得することはできなそう。 (ちゃんと確認できていないけど、CloudTrailから追える可能性はある。)

Amazon Q内にユーザー作成

まずは、Amazon Q内にユーザーを作成しました。 ユーザーを作成するためには、ユーザー名とメールアドレスが必要となります。

※Workshop中の画面をスクリーンショットできていなかったため、社内の検証環境での画面になります。

Amazon Qを使ったRAGアプリの構築

次にAmazon Qでアプリケーションを作成しました。 ここで指すアプリケーションは、AmazonQ内の概念でアプリケーションの中では、 データソースの設定やSAML連携の設定などができます。

データソースとして、File Upload,Web crawler,S3を設定

アプリケーションの作成が完了したらデータソース(3種類)の設定を行いました。

  • File Upload
  • Web crawler
  • S3

設定する際の画面を撮れていなかったため、アプリケーションの詳細画面を載せておきます。

補足

File UploadとS3の違いとしては、File UploadはAmazon Qのデータソースに直接ドキュメントをアップロードするイメージのため、 Amazon Qのデータソースの画面で読み込んでいるドキュメントを管理する必要があります。

S3の場合は、Amazon QがS3からドキュメントを読み込む動きになるため、 S3内でドキュメントの管理を実施することになります。

そのため、S3の場合はS3の機能(ライフサイクル管理など)を使える点がメリットでFile Uploadの場合は、S3を管理しなくて良いのがメリットかなと思います。

RAGアプリへの質問

データソースの同期が完了したら、「Preview web experience」からAmazon Qのチャット画面を開きました。

その後、動作確認としてRAGアプリへ質問しました。

が、、、

データソースの同期に時間がかかるなどにより最後まで正しい応答を得ることができませんでした...

この辺りは、帰国後に検証するため、検証後にアップデートしたいと思います。

Amazon QとKeycloak(EC2)を利用したSAML連携

Amazon QのWeb experience settingsとKeycloakの管理画面で設定を行いました。
(Keycloak(EC2)はAWSの方がWorkshop用に事前に用意いただいていました。)

設定様子の画面が撮れていないですが、設定が完了すると以下のように専用のURLが払い出されます。

専用のURLにアクセスするとIDPの管理画面(今回はKeycloak)にリダイレクトされID/PWを入力しログインします。

ログインができたら、Amazon Q用のチャット画面を開くことができます。

ユーザーごとにS3にあるドキュメントへのアクセス制限の設定

SAML連携が完了したら、最後にユーザーに応じてS3にあるドキュメントへのアクセス制限を行いました。

といっても実は、S3のデータソースの設定をする際にACL記載したjsonファイルのパスを指定していたため、 アクセス権限の設定自体はデータソースの設定のタイミングで完了していました。

※こちらもWorkshopで画面を撮れていなかったため、社内の検証環境の画面になります。

またACLの設定は以下の通りでKeyPrefixとそのPrefixに対してアクセスできるユーザーグループを指定するイメージでした。

[
    {
        "keyPrefix": "s3://xxxxxx/Data/Security/",
        "aclEntries": [
            {
                "Name": "Security",
                "Type": "GROUP",
                "Access": "ALLOW"
            }
        ]
    },
    {
        "keyPrefix": "s3://xxxxxx/Data/Well_Architected/",
        "aclEntries": [
            {
                "Name": "SA",
                "Type": "GROUP",
                "Access": "ALLOW"
            }
        ]
    }
]

最後に複数のユーザーで同様の質問をしてレスポンス(回答や参考ドキュメントの内容)が異なることを確認する予定だったのですが、 ここもWorkshopが完了するまで正しい結果を確認することができませんでした...

この辺りも、帰国後に検証するため、検証後にアップデートしたいと思います。

補足

この設定について補足ですが、本設定はユーザーが質問した際に参考にするドキュメントを ユーザーの権限に応じて変更することが可能な設定ということになります。

この設定ができない場合は、利用する全ユーザーがアクセス可能なドキュメントしかデータソースとして取り込めないですが、 ユーザーの権限に応じて参考にするドキュメントを制限することで取り込めるデータソースが増え、より最適にRAGアプリを利用することができることを意味します。

最後に

冒頭にも記載しましたが、Amazon Qはプレビュー中ですが、かなり期待のサービスかと思うため、アップデートが楽しみです! また、まだまだ触り足りないため、帰国後もっと触ってみたいと思います!

他のre:Invent 2023関連のブログはこちらから

blog.serverworks.co.jp

福島 和弥 (記事一覧)

2019/10 入社

AWS CLIが好きです。

AWS資格12冠。2023 Japan AWS Partner Ambassador/APN ALL AWS Certifications Engineer。