【書評】Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド]
はじめに
新規事業部 生成AIチームの山本です。
この記事では「Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド]」という本についてご紹介します。4月に山本が登壇したBedrock Claude Nightを主催されていた、みのるんさん(著者名:御田稔さん)から献本をいただいたので、盛り上げ企画として本記事でご紹介します
目次
本書の販売ページは以下です。
目次は以下のとおりです(上記のページに掲載されている内容の引用です)
- 1章:生成AIの基本と動向
- 2章:Amazon Bedrock入門
- 3章:生成AIアプリの開発手法
- 4章:社内文書検索RAGアプリを作ってみよう
- 5章:便利な自律型AIエージェントを作ってみよう
- 6章:Bedrockの機能を使いこなそう
- 7章:さまざまなAWSサービスとBedrockを連携しよう
- 8章:生成AIアプリをローコードで開発しよう
- 9章:Bedrock以外の生成AI関連サービスの紹介
- 10章:Bedrockの活用事例
- 11章:お勧めの最新情報のキャッチアップ方法
特に、(上記太字の)2・3・4・5・8・9章のボリュームが多く、本書のメインの内容になっていて、Bedrockを使った開発を行う上での、基礎知識・開発方法・プログラムが詳細に書かれています。
どんな人にオススメか
以下のような人に、それぞれの章の内容が参考になるなと感じました。
- 生成AIを使い始めてみたい・生成AIについて知りたい(1章)
- Bedrockの内容を知りたい(2章・6章・10章)
- 生成AIに関連するAWSのサービスを知りたい(7・9章)
- 生成AIを使ったアプリを開発したい(3・4・5・8・11章)
以下の点はどちらかというとあまり触れられていない点です。後述の「他、関連する資料などのご紹介」のように、著者の方が別途公開されているような資料を、本著を読みながら一緒に参照するとより理解が深まると思います。
- アプリケーションを構築や開発した後に、業務やユースケースに合わせて改善していくやり方・ポイント・知見
- Bedrockや各生成AIサービスの中(生成AIモデルのニューラルネットワーク構成や、検索エンジンのアルゴリズム等)に関する、技術的な詳細
内容について
全体通して
本書全体を通して、とても読みやすく感じました。特に、以下の点が良い点だと思います。
- 分かりやすいデザインと説明で、スクリーンショットも豊富です。プログラム(スクリプト)・入力プロンプト・出力例の色がそれぞれ分かれていて、パッと見でもわかりやすくなっています。システム構成図もある
- コラムに様々な補足情報が書かれています。本筋はわかりやすくまとめられながら、関連する情報も知ることができます。細かな情報も書かれていて、意外と知らなかったことが多かったです
- 本書の「付録」に書かれていることが地味ながらありがたいです。開発入門と書かれているだけあって、初めての人にも嬉しいポイントになっています。プログラムを書いたことがない人でも、Webブラウザでスタートできるように、Cloud9で環境を構築する方法や、IDEとしての設定する方法も書かれており、とても親切だなと感じました
- キャッチアップの度合いがすごいです。おそらく執筆したと思われる時点での、最新の情報も盛り込まれていて、著者の方の力の入れ具合を感じます
なかなかここまで丁寧に作られている本はないので、大変ありがたい限りです
技術的な目線で
- Bedrockのサービスを網羅的にまとめて書いてあります。生成AIを始めるときに網羅的に知ることは大事です。ある方法だと難しい場合でも、他の方法だとすぐに解決することがあ
- 弊社ブログでは一つのテーマを取りあげるものが多いのに対して、こちらの本では網羅的に記載されているので、BedrockやAWSの生成AIの全体感を把握したいという方にとてもオススメです(弊社内のメンバーにも早速紹介しました)
- サンプルコードも配布されています。すべてを手打ちすることなく、ハンズオンとして理解を進められるようになっています。また、執筆時点以降のアップデートの補足も書かれており、最新情報との差分で迷うことがないように配慮されています
- Githubリポジトリはこちらです
個別の内容について
各章の特に良かった点について記載します。(普段生成AIのエンジニアとしてお仕事をしている観点で、いいと思った点を挙げさせていただきました。他にもいい点はたくさんあるかと思います)
- 1章:生成AIの基本と動向
- 基礎的なところから解説されています。こういった説明は省かれてしまい、読者との共通理解がないまま進んでしまいがちですが、生成AIに関する単語・用語や、APIなどの基本的な考え方が書かれていて、初めて生成AIに触れる人でもわかるようになっています
- 2章:Amazon Bedrock入門
- Bedrockの基本的な説明、各社モデルの紹介、ハンズオンがあり、Bedrockを理解できるようになっています
- たくさんモデルがあると迷ってしまうところですが、2.3.2項にオススメのモデルがまとめられています
- 3章:生成AIアプリの開発手法
- プロンプトとは・トークンとは、といった基礎的な点から、プロンプトの書き方を解説し、実際にAWSのLambda関数で動かすまで手順を、ハンズオンを通して学ぶことができます。ハンズオンでは、Streamlitを使ってフロントエンドを作成し、Langchainを使って生成AIまわりの処理を実装しています
- 4章:社内文書検索RAGアプリを作ってみよう
- RAGに関して、Knowledge basesを使ったハンズオンと、AWSで利用できる検索サービスの紹介、サービス構成の例、改善方法の例が紹介されています
- RAGは、最近話題に上がったり、お客様の課題としても聞くことが多いです。とくに検索サービスとして利用できるAWSのサービスが多くて迷いがちなので、それぞれの検索サービスが紹介されているのは嬉しいポイントでした
- 5章:便利な自律型AIエージェントを作ってみよう
- AIエージェントの説明と、Langchainを使った実装のハンズオン、Agentsを使った実装のハンズオンがあります
- 普段生成AIエンジニアとしてお仕事をしてはいるのですが、なかなかエージェントは手を出せてなく、世の中的にもまだ情報が少ないです。一からの説明とサンプルが一緒になっている解説はありがたいです。特に、ハマりポイントが多いAgentsに関して、ハンズオンでかなり丁寧に解説されているのは嬉しかったです。
- 6章:Bedrockの機能を使いこなそう
- Bedrockの基盤モデル以外の機能について紹介されています
- 7章:さまざまなAWSサービスとBedrockを連携しよう
- 開発したアプリを、サービスとして作り込んでいく上での、他のAWSサービスとの連携について解説されています
- AWS自体はセキュアであるものの、ケースによっては通常の構成ではセキュリティ要件を満たせないことがあり、特にネットワーク部分に関して変更が必要なことが多いです。弊社でもご相談を受けることが多い点です。7.3節では、この観点について、PrivateLink・VPCエンドポイントを利用した設計について解説されていて、より高度な要件に対応する方法を知ることができます。
- 8章:生成AIアプリをローコードで開発しよう
- 生成AIに複数のタスクを行わせて結果をまとめる(統合する)アプリケーションを、Step Functionsを使って実装するハンズオンが用意されています
- Step Functionsの説明自体もわかりやすいです。Step Functionsは、入出力周りがステート間の入出力がわからなくなりがちなのですが、この点も細かく書かれていてイメージが付きやすかったです
- 9章:Bedrock以外の生成AI関連サービスの紹介
- Bedrock以外の、生成AIアプリを作成するためのサービス(Amazon Q・PartyRock・HealthScripbe)と、生成AIモデルを学習するためのサービス(SageMaker・Inferentia・Trainium)について解説されています
- Amazon Qは種類が多く全体がわかりにくくなりがちですが、この9.2.1項で紹介されていて整理ができて助かりました
- 10章:Bedrockの活用事例
- 著者の方が所属されている会社で取り組まれた事例が紹介されています。構築されたアプリ・サービスの概要と、取り組まれている中での課題が書かれており、自社で生成AIを使い始めたいときの参考にできそうです
- 11章:お勧めの最新情報のキャッチアップ方法
- 生成AIの情報のキャッチアップの仕方が紹介されています。技術コミュニティに関しても触れられており、本書らしい印象を受けました
※ 宣伝、弊社ブログも是非ご参考にどうぞ!
他、関連する資料などのご紹介
- みのるんさんが所属されているKDDIアジャイル開発センター(KAG)のブログはこちらです
-
みのるんさんと同じKAGに所属されている、三宅さんのRAGに関するお話がYouTubeにアップロードされており、以前に自分もRAGを実践していた中で大変参考になりました
https://youtu.be/Anz6GCeXeu0?si=aZazMIjeCcvuX_gu&t=1051
(三宅さんのセッションの次に、みのるんさんのBedrockハンズオンのセッションもありますので、ぜひご覧ください)
他社さんの宣伝みたいになってしまいましたが、良い資料だと思ったので、ご紹介させていただきました!
まとめ
AWSで生成AIを開発したい方が、全体感を把握しながら、サンプルコードをもとに細かな点を把握できるため、とてもいい本だなと思いました!
自分も何度も読み返すことになると思います