「Amazon Bedrock 生成AIアプリ開発入門 」を読んだ
はじめに
メーカーのコーポレート部門でテックリードをしているmongolyyです。
最近Bedrockを使うことがあったのですが、その場その場で使っていたこともあり、もうちょっと網羅的に学びたいという思いがありました。
そんな時に本書が出版されていたのでやってみました。
気づき
基礎知識としての、生成AIアプリの説明が非常に丁寧で勉強になった
以下のような事柄は割とざっくりした理解だったので、非常に助かりました
- プロンプトエンジニアリング
- ドキュメントの付加情報について、XMLで書ける
- 長いドキュメントをプロンプトに含める場合は、質問や指示は最後に記述するとよい
- 埋め込み
- チャンクとは?
- セマンティック検索とベクトル検索の違い
- Kendraもセマンティック検索はできるが、ベクトル検索とどう違うか?
- Knowledge bases for Amazon Bedrock を使うと何がうれしいのか?
業務利用を想定して、迷いそうなところの解説が多くあって早速役に立った
以下のような部分について解説があり、業務で役立ちました
筆者の考えが入っており、AWSの公式ドキュメントでは突っ込まれなそうなところまで書いてあって良かったです
- AWSのリージョンの選び方について
- リージョンの選定についてのトレードオフやどちらでもいい場合の選定の考え方が書いてありました
- Bedrockのモデル選定について
- テキスト生成、埋め込み、画像生成という観点で各モデルの特徴がわかりやすく解説されており、迷った場合のおすすめが解説されていました
- いままではとりあえずClaude3, 3.5使っておけばいいんでしょ?くらいの認識だったので、他のモデルに関しても状況がしれたり、埋め込みや画像生成だと違うモデルを使うとか基本的な部分の理解も進みました
- Cludeのパラメータの調整のやり方
- おすすめのRAGアーキテクチャの例
- pineconeを使う話など
- カスタムモデルの作り方
- 本書を読むまではファインチューニングしか知らなかったのと、具体的なイメージはあまりなかったので勉強になりました
新しいサービスを色々知った
タイトルとしてはBedrockとなっていますが、Bedrockと組み合わせて使えるライブラリやサービスがいろいろ紹介されていました 特に、以下は今後も使ってみたいなーと思いました
- streamlit
- https://streamlit.io/
- UIのコードを詳細に書かなくても、数行宣言的に書くだけでいい感じにデザインを生成してくれるライブラリ
- 本書でも多用されていましたが、PoCで重宝しそうだと感じました
- 「Dify」や「Bedrock Studio」の採用などにより、これすらも不要になるかもしれませんが、LangChainやPrompt Flowと組み合わせたときに有用そうに感じました
- PartyRock
- https://partyrock.aws/
- 自然言語だけで生成AIのアプリが作れるので、よりカジュアルなアプリをPoCで作りたい場合はこれを使うとよさそうだと思いました
ハンズオンが充実
普段はzennの記事などを読みながら、触りしかやらないことも多かったのですが、本書にはがっつり説明があってよかったです。
また、AWSコンソール上での操作説明が詳細に記述されており、非常に助かりました。
一方、私が購入したkindle版の場合は書籍内のテキストがコピーできず、そこが不便でした。
ただ、本書のサンプルコードがgithub上で公開されているので大きな問題にはなりませんでした。
個人的には、Knowledge bases for Amazon Bedrockは触りしかやったことがなく、こういう設定ができるんだーという学びがあってよかったです。
おわりに
非常に良かったです。
前半(1~3章)を読んだら自分の興味関心部分だけやるとかもありだと思います。
本書が非常にわかりやすかったのと、最近のアップデートにより、LangChainすら使わずに、「Amazon Bedrock StudioやPrompt Flowsが使う」ケースや、「自前でDifyの環境を立ち上げる」ケースが増えてきそうだとも考えており、そういった内容が書かれた、増補版?別の書籍?が出ないかなーと期待しているお気持ちです。