こんにちは、エンジニアのyokomachiです。
このブログはギークフィードアドベントカレンダー2023の17日目の記事です。
先日AWS re:Invent 2023に参加した際、生成系AI(Generative AI)に関するワークショップに色々と参加し、
個人的に生成系AIに対する熱が上がっているので、今回はAWSから提供されている『生成系AI体験ワークショップ』をやっていきたいと思います。
目次
『生成系AI体験ワークショップ』とは
このワークショップでは、AWSから提供されているCloudFormationやCDKを利用して生成系AIを利用したWebアプリケーションの構築ができます。
構成図は下記の通りです。
AWSの各サービスと連携できるLLM(大規模言語モデル)を選択・アクセスできるAmazon Bedrockや、
機械学習を利用した検索システムサービスであるAmazon Kendraなどの生成系AI関連のサービスを利用します。
最終的には下画像のようなWebアプリケーションが構築でき、下記の機能を体験することができます。
- 生成系AIによるチャット
- RAG(Retrieval-Augmented Generation)を利用した外部リソースを検索元としたチャット
- 文章生成
- 要約
- 校正
- 翻訳
- 画像生成
各機能の動作確認も本記事の後半でやっていきます。
構築
基盤モデルの有効化
まずはAmazon BedrockでLLMであるAnthropic Claudeと、画像生成モデルであるStable Diffusion XLを利用できるように設定します。
※本ワークショップでは「バージニア北部(us-east-1)」リージョンでAmazon Bedrockを設定します。Amazon Bedrock自体は東京リージョンでも利用できますが、本ワークショップで利用するモデルが提供されていないようです。
Anthropicのモデルを利用するにはユースケースの入力が必要となるので、今回は下記のようにワークショップ利用という内容で入力します。
ユースケース入力後、Anthoropic の Claude と Claude Instant、Stability AI の SDXL 0.8にアクセスできるようにリクエストを行います。
リクエストから数分経つと「Access granted」となってアクセスできるようになります。
アプリケーション構築(CDK)
本ワークショップではアプリケーションの構築手段として、CloudFormationとCDKのどちらかを選択して構築することができます。
ソースコードの確認などがしたい場合はCDKを、ということなので本記事ではCDKを利用して構築していきます。
CDKを利用する場合はCloud9を使用して、本ワークショップ用のGitソースコードをクローンします。
https://github.com/aws-samples/generative-ai-use-cases-jp
このソースコードにCDKやWebアプリのフロントエンドソースが含まれています。
CDKのデプロイには30分ほどかかりました。中でもKendraのデプロイに20分くらいかかっています。
デプロイの完了後、出力されたURLにアクセスしてユーザーアカウントを作成することで無事アプリケーションにアクセスできるようになりました。
AI機能の確認
チャット機能
生成系AIとの対話型チャット機能を体験できます。
次のRAGチャットとの違いを比較するために、弊社製品であるSylphinaについても聞いてみますが、予想通り製品の情報については回答されませんでした。
RAGチャット機能
RAG(Retrieval-Augmented Generation)を利用した外部リソースを検索ベースにしたチャット機能です。
RAGを利用して社内文書などを外部リソースに設定することで、信頼性の高い文書をベースに回答を得られたり、参照元の文書のトラッキングが可能になります。
今回は事前に弊社製品であるSylphinaのWebページをPDFに出力しS3に保存してKendraと連携させておきました。
※Kendraへのデータソースの設定は結構時間がかかります。500KB程度のPDFファイルで10分ほどかかりました。
チャットでSylphinaについて聞くと、先ほどのチャットとは違って製品説明を要約して回答してくれました。
また、検索元のPDF名も出力してくれたのでエビデンスの確認も可能です。
文書生成機能
指定した情報で文章を生成する機能です。
要約機能
入力したテキストを要約してくれる機能です。
以前書いたこちらの記事を要約してみました。
校正機能
入力したテキストの不自然な部分や改善点を指摘する機能です。
本記事の冒頭を入力したところ、改善点を3つ指摘してくれました。結構厳しいこと言われました。
翻訳機能
入力したテキストを翻訳してくれる機能です。
Webコンテンツ抽出機能
ワークショップの説明にはありませんが、Webコンテンツの抽出機能が追加されていました。
入力したWebサイトからテキストを抽出してくれます。
画像生成機能
入力したプロンプトをもとに画像を生成する機能です。
対話型のUIで画像の特徴を指定することで、プロンプトの自動生成までやってくれます。
おまけ
他にもAIを利用したツールとして音声認識とKendraの検索機能を試すことができます。
音声認識
音声ファイルをもとに文字起こしをしてくれます。
今回は事前にAmazon Pollyで出力した音声から文字起こししてみました。
Kendra検索
Kendraのデータソースから指定したワードを検索できます。
まとめ
今回はAWSから提供されている『生成系AI体験ワークショップ』を実際にやってみました。
構築の所要時間としてはたった1時間程度で、様々な生成系AIのユースケースを試してみることができるので、AWSでの生成系AIサービスを試してみたい方や、そもそも生成系AIで何ができるのかを知りたい方には是非お勧めしたいワークショップです。
- Remix SPAモードで静的WebサイトをGithub Pagesにデプロイする - 2024-11-05
- LangGraph入門!LLMアプリ開発ライブラリのQuick StartをAmazon Bedrockでやってみる - 2024-10-10
- AWS ChatbotでSlackからAmazon Bedrock Agentにアクセスしてみる - 2024-09-18
- Amazon Bedrockの新機能「Prompt flows」を試してみた - 2024-07-11
- Amazon ConnectのZero-ETLがGAされたので試してみた - 2024-06-03