環境準備
- AWSアカウントの作成とルートユーザーでのログインが必要
- 多要素認証(MFA)の設定が必須
- 通常作業用のIAMユーザーを新規作成する
概要
生成AIを活用するための環境を準備するには、まずAWSアカウントを作成する必要があります。アカウント作成後はルートユーザーでログインし、セキュリティ強化のためにMFA(多要素認証)を設定します。そして実際の作業用に、権限を制限したIAMユーザーを新規作成することが推奨されています。
AWSアカウントの作成とログイン
まだAWSアカウントをお持ちでない場合は、AWSの公式サイトからアカウントを新規作成します。クレジットカード情報の登録が必要になります。アカウントが既にある場合は、登録したメールアドレスを使ってルートユーザーとしてログインします。ルートユーザーは最高権限を持つため、セキュリティ上の理由から通常の作業には使用しないことが推奨されています。
ルートユーザーのメールアドレスとパスワードは大切に控えておきましょう。
多要素認証(MFA)の設定
- ルートユーザーでログイン後、マネジメントコンソールの右上からアカウント名をクリックし、「セキュリティ認証情報」を選択
- 「MFAを割り当てる」をクリックし、お使いのデバイス名を入力して「次へ」
- Google Authenticatorなどのアプリをスマホにインストールし、MFAの初期設定を行う
- 設定完了後は、ログイン時にMFAデバイスからのワンタイムコードの入力が必須になる
項目 | 詳細 |
---|---|
ルートユーザー | AWSアカウントの最高権限を持つユーザー。セキュリティ上の理由から通常作業には不向き |
MFA | Multi-Factor Authentication の略。IDとパスワードに加えて物理デバイスを使った認証を行うことで、セキュリティを強化する |
IAMユーザー | 作業用に権限を制限して作成するユーザー。ルートユーザーの代わりに使用する |
Amazon Bedrockの概要
– 高度な自然言語処理能力を備える
– セキュリティとコンプライアンスに配慮された設計
包括的な生成AIプラットフォーム
Amazon Bedrockは、AWSが提供する包括的な生成AIプラットフォームです。テキスト生成、画像生成、音声認識、翻訳など、さまざまな機能を提供しています。高度な自然言語処理能力と、大規模な計算リソースを活用することで、高品質な生成結果を実現します。
実用例: チャットボットの構築
Bedrockを利用すれば、質問に自然な言語で応答するカスタマイズ可能なチャットボットを容易に構築できます。例えば、顧客サポートの自動化や、企業の製品・サービスに関する問い合わせ対応などに活用できます。IDCによると、2025年にはチャットボットの市場規模が102億ドルに達すると予測されています。
セキュリティとコンプライアンス
- データの機密性と整合性を確保するための、厳格なセキュリティ対策が施されている
- HIPAA、PCI-DSS、FedRAMPなど、主要なコンプライアンス規制に準拠
- カスタマイズ可能なコンテンツフィルタリングにより、出力内容を制御可能
- PrivateLink接続によりプライベートネットワークからアクセス可能
- AWS CloudTrailによるAPIコール活動のログ記録と監視が可能
項目 | 詳細 |
---|---|
サポートされる言語 | 英語、中国語、フランス語、ドイツ語、イタリア語、日本語、ポルトガル語、スペイン語 |
リージョン | 米国東部(バージニア北部)、米国西部(オレゴン)、欧州(アイルランド)、アジアパシフィック(シンガポール) |
価格 | モデルの種類と使用量に応じた従量課金制 |
Knowledge Base for Amazon Bedrockの作成
- Amazon Bedrockは、AWS提供の高度な生成AIサービスです
- Knowledge Baseの作成により、高度な質問応答機能を実現できます
- ベクトルストアの簡単な設定で、高度な言語モデルを活用できます
概要
Amazon Bedrockは、AWS提供の生成AI向けマネージドサービスです。従来の自然言語処理(NLP)システムとは異なり、ニューラルネットワークベースの大規模言語モデルを利用することで、高度な言語処理と生成が可能になります。Knowledge Baseは、このAmazon Bedrockの中核機能の一つで、質問応答システムやチャットボットなどの構築に役立ちます。Knowledge Baseを作成することで、事前に用意した文書データからベクトル化された知識ベースを生成し、それに基づいた高度な質問応答が実現できます。
Knowledge Baseの作成手順
Knowledge Baseの作成は、AWSマネジメントコンソールから簡単に行えます。まず、Amazon Bedrockコンソールにアクセスし、「Knowledge Bases」を選択します。「Knowledge Baseの作成」をクリックすると、ウィザードが開始されます。ここで、Knowledge Baseの名前、説明、データソースの指定を行います。データソースには、Amazon S3バケットに格納されたドキュメントファイルを指定できます。PDFやTXT、CSVなど、さまざまな形式をサポートしています。次に、ベクトルストアの設定を行います。ベクトルストアは、文書データからベクトル化された知識ベースを格納する場所で、Amazon Aurora Serverlessなどを選択できます。
ベクトルストアのクイック作成
- ベクトルストアは、Knowledge Baseの中核をなす重要な要素です
- 従来は、Aurora Serverlessクラスターの作成とベクトルストアの構成が必要でした
- しかし、最近のAmazon Bedrockアップデートにより、「ベクトルストアをクイック作成」オプションが追加されました
- このオプションを選択すると、Aurora Serverlessクラスターの作成とベクトルストアの構成が自動化されます
- 結果として、ベクトルストアの構築が格段に簡単になり、コストも削減されます
項目 | 詳細 |
---|---|
ベクトルストアのタイプ | Amazon Aurora Serverless |
ベクトルストア容量 | 1TB (初期設定値) |
自動一時停止 | データ転送が一定時間ない場合、自動でスケールダウン |
Agents for Amazon Bedrockの作成
- Amazon Bedrockを使ってマルチエージェントシステムを構築できる
- 複数のAIエージェントを協調させて高度な作業を実行可能
- ベクトルDBの構築が簡単になり、コストも抑えられる
マルチエージェントシステムとは
マルチエージェントシステムとは、複数のAIエージェントが協力して特定のタスクを遂行するシステムのことです。Amazon Bedrockの新機能「マルチエージェントコラボレーション」を使えば、監督者エージェントが協力者エージェントに指示を出し、それぞれが役割分担しながら高度な作業をこなすことができます。
「生成AIユースケース検討くん」の構築例
具体例として、「生成AIユースケース検討くん」というアプリを構築してみましょう。ユーザーの質問に応じて、監督者エージェントが2体の協力者エージェントに指示を出します。協力者1は社内アンケート結果を参照してユースケース分析を、協力者2はWebAPIを使った市場調査を行い、監督者がそれらを統合して最終的な回答をまとめます。
マルチエージェントシステムは、従来のRAG (Retrieval Augmented Generation)よりも高度な対話が可能になります。
手順と注意点
- 作業用のIAMユーザーを作成し、そのユーザーでAWSコンソールにログイン
- S3バケットを作成し、データソースとしてのファイルをアップロード
- Bedrockの Knowledge Base とAgentsを作成する
- マルチエージェントコラボレーションの設定を行う
- コストが発生するので、ハンズオン後は不要なリソースを削除する
項目 | 詳細 |
---|---|
ベクトルDBの構築 | Aurora Serverlessの新機能を使えば、ゼロスケールで簡単に作れる |
モデル呼び出し料金 | 一部がマーケットプレイス扱いで、AWSクレジットが使えない |
リージョン | オレゴンがクォータ制限が緩いため推奨 |
生成AIチャットボットの動作確認
- 手順を丁寧に追って実際に動作を確認する
- 様々な質問を投げかけて応答の適切さを検証する
- エラーや不具合があれば適切に対処する
生成AIチャットボットとは
生成AIチャットボットとは、自然言語処理(NLP)と生成AIの技術を組み合わせたシステムです。ユーザーからの質問や要求を受け取り、生成AIモデルを使って適切な応答を生成します。質問に対する回答を出すだけでなく、文章の作成やプログラミングのコード生成など、様々なタスクに活用できます。生成AIチャットボットは企業の業務効率化や顧客サポートの向上に役立つと期待されています。
生成AIチャットボットの構築例
AWS Bedrockを使えば、簡単に生成AIチャットボットを構築できます。例えば、Slack上でBotと対話できるチャネルを設置し、ユーザーの質問に応答するBotを作成することができます。BotにはAWS Lambdaと連携させ、ユーザーの質問をLambdaに渡して生成AIモデルを実行し、その応答をSlackに返すような仕組みを構築します。このようなチャットボットを構築すれば、24時間365日の無人対応が可能になり、顧客サポートの負荷を大幅に軽減できます。
動作確認のポイント
- 様々な質問パターンに対して適切な応答ができるか確認する
- 応答の品質が一定の水準を満たしているか評価する
- 応答に不適切な表現がないかチェックする
- 応答の生成に要する時間が許容範囲内か確認する
- エラーや不具合が発生した場合の対処方法を検討する
項目 | 詳細 |
---|---|
質問例 | 製品の価格は? 注文方法を教えてください。 返品ポリシーはありますか? |
応答品質評価 | 応答の正確性、文章の分かりやすさ、マナー面での適切さなどを評価 |
応答時間 | ユーザー体験を損なわない範囲で、できるだけ短時間での応答が望ましい |
AWS環境のクリーンアップ
- 不要なリソースを適切に削除することが重要です
- 課金を避けるため、ハンズオン終了後はすべてのリソースを削除しましょう
- AWSマネジメントコンソールからリソースを一覧化し、不要なものを見つけて削除します
概要説明
AWSを使用する際、ハンズオンやテストなどで一時的に作成したリソースが放置されると、思わぬ課金が発生する可能性があります。そのため、ハンズオンや実験が終了したら、作成したリソースを適切に削除することが非常に重要です。AWSマネジメントコンソールには、アカウント内のすべてのリソースを一覧化する機能があり、そこから不要なリソースを見つけて削除することができます。
具体的な手順
AWSリソースのクリーンアップは、以下の手順で行うことができます。
- AWSマネジメントコンソールにログインします。
- 各サービスのコンソールを開き、作成したリソースを確認します。
- 不要なリソースを削除します。リソースの削除方法は、サービスによって異なります。
- 削除が完了したら、課金レポートを確認し、不要な課金がないことを確認します。
削除が難しいリソースもあるため、ハンズオン中に作成したリソースをメモしておくことをお勧めします。
詳細な分析
- EC2インスタンスを削除する際は、関連するリソース(EBSボリューム、Elastic IP、セキュリティグループなど)も削除する必要があります。
- RDSなどのマネージドサービスでは、スナップショットが自動的に作成される場合があり、それらも削除する必要があります。
- S3バケットを削除する前に、バケット内のオブジェクトをすべて削除する必要があります。
- CloudFormationスタックを削除すると、そのスタックで作成されたすべてのリソースが削除されます。
- IAMロールやポリシーなど、リソースに関連付けられているリソースも確認し、不要であれば削除する必要があります。
項目 | 詳細 |
---|---|
EC2インスタンス | インスタンスを停止または終了し、関連するリソースも削除する |
RDSインスタンス | インスタンスを削除し、自動バックアップも削除する |
S3バケット | バケット内のオブジェクトを削除してからバケットを削除する |
まとめ
– 複数のAIエージェントを協働させるマルチエージェントシステムが作れる
– SlackとAWSを連携させれば、業務に生成AIを活用できる
生成AIの活用が加速する
生成AIは人間の言語処理能力を模倣したニューラルネットワークを使っており、質問への回答や文章生成などの高度な言語タスクを実行できます。AWSのBedrockサービスではこの生成AIモデルを簡単に利用でき、さらに最新の「マルチエージェントコラボレーション」機能では、複数のAIエージェントを協働させて高度なアプリケーションを作ることができます。
マルチエージェントによる生成AIユースケース検討アプリ
例えば「生成AIユースケース検討くん」というアプリでは、監督者エージェントが2体の協力者エージェントに指示を出します。1体目の協力者は社内アンケート結果を参照して自社の生成AIユースケースを分析し、2体目の協力者はWeb検索APIを使って市場調査を行います。このようにマルチエージェントを使えば、より高度な生成AIアプリケーションが構築できます。
Aurora Serverlessのナレッジベースクイック作成機能により、ベクトルDBの維持コストが大幅に削減されました。
SlackとAWSの連携でさらに活用が広がる
- AWSの生成AIをSlackと連携させれば、業務への活用が進みます
- 例えばSlackボットとして生成AIを導入すれば、チャットで質問に回答したりレポートを作成したりできます
- プログラミング初心者でも1時間でSlack AIチャットボットが作れるハンズオンもあります
- 生成AIの知見を身に付けて、業務効率化や新しいサービス企画に活かせます
- 作ったシステムをそのまま実務で活用することも可能です
項目 | 詳細 |
---|---|
Llama 3の学習データ | Wikipedia英語版約30億単語 |
必要な学習計算能力 | ゲーミングPC数十万台分 |
AWSのBedrockサービス | 生成AIモデルを簡単に利用可能 |