今回は入門書のハンズオンをやる予定でしたが変更しAWSの 「生成AI体験ワークショップ」 のレポートを書きたいと思います。
https://catalog.workshops.aws/generative-ai-use-cases-jp/ja-JP
AWS上に生成AIを活用したアプリケーションを構築して、それを使ってチャットボットなどの機能を体験してみるというもの。
>所要時間の目安は60-90分です。
ほんとか~~~??
…結論から言うと90分どころか2日くらいかった。非エンジニアの素人にはちょっと難易度高めかも。
概要~事前準備
使用するアプリケーションの機能や構成についての紹介の章。図はチャットや画像生成など、各種機能を使うのにどのサービスを使っているかの紹介。図解入りなのはありがたいのだが、エンジニア用語や略語が頻出するので検索あるいは別リンクを踏むなどして確認するのに時間を要した。用語の意味は理解してもエンジニアの概念的なコンテキストを有していないので、どういう目的をもってどういう結果を欲しているのかが推測に頼るところが多く、この理解のまま進んでよいのか迷う場面が多かった。書いてある手順を踏むだけならなるほど数分で済むだろうが、内容を理解してないと意味がないのでここに一番時間をかけたような気もする。
事前準備ではAmazon Bedrockのモデルを使えるようにアクセス権を得る。ここは簡単。
アプリケーションの構築
AWS CloudFormationかAWS CDKを使用して構築する。正直どこがどう違うのか分からないがCDKのほうが難度が高くやれることが多いらしいので(無謀にも)CDKで進めることに。
スタックを生成してAmazon SageMakerでコードを編集していくのだが、このエディタが非常に使いづらい。僕の経験不足もあるのだろうがレイアウトが直観的によくわからないし、20分ほど離席しただけでログアウト的な処理がされて大変面倒である。おちおち飯も食べられない。
ターミナル上のコマンドを見る限りgithubからアプリをダウンロードしてインストールしているっぽい。RAG機能を使うために指定のファイルを開いてコードを編集し、ターミナルに戻ってデプロイする。書いてある通りにやればいいだけだが初心者にはしんどそう。一応プログラム経験者なので助かった。
RAG用データの追加
RAGチャット機能を使うためのデータをAWSのストレージサービスであるS3に格納する。例えば自社の規約とかをチャット機能に聞くときのために自社の規約を教えておく、みたいなことをやる。これも指示通りやればいいだけなので簡単。やっていることが理解できていると早い。
アプリケーションの確認
スタックに表示されているURLに行きアプリを確認する。
アプリの外観はこんな感じ。
機能は以下の通り。
- チャット
- RAGチャット
- 文章生成
- 要約
- 校正
- 翻訳
- Webコンテンツ抽出
- 画像生成
これらを一つずつ体験していく。ひとくくりにテキスト生成AIと言ってもできることは多岐にわたることがわかる。具体例が列挙されたことで今後の使用に引き出しが増えた。
[実践]プロンプトエンジニアリング入門
LLMに質問する時にコンテキストを添えて回答の精度を上げるというもの。コンテキストの例としては
- AIに役割やシチュエーションを与えるとそれに応じた精度になる
- XMLタグに例を書いておくとその例の中から回答してくれる
- 校正のガイドラインを書いておくとそれに応じて校正する
などなど。実例が列挙されているのが大変ありがたく、学びの多い章だった。
[発展]IPアドレスの制限~サインアップの無効化
アプリのセキュリティを強固にする実践。サインアップの無効化はできたがIPアドレス制限はうまくいかず、このあたりは僕の目的からズレるので飛ばし。何をやっているのかさえ分かればよく、実装についてはその時が来たときに学ぶことにする。
[発展]AIエージェントの活用
「やるべきことを考える」のが人間で「やる」のがAIだが、AIエージェントは「やるべきことを考える」までもやってくれる…らしい。これはぜひ実践しておきたくてAPIキーを取得もしてきたのだが、デプロイのエラーがどうしても解消できず、今の僕のレベルでは無理と判断して終了。とりあえず概念は理解したと思う。
感想
内容としては大変ためになったが、「AmazonのUXは最悪」が定評らしくそれを実感した。
この画面が何十回出たか分からない。別にF5で進むのだがストレスフル。
終わってまとめてみると、なんで二日もかかったんだろうという感想にもなった。つまり今現在は、開始時に分かっていなかった概念が理解できている、ということだろう。いい経験になったと思いたい。
次回こそ入門書ハンズオンの予定。