269
237

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSの生成AIで社内文書検索! Bedrockのナレッジベースで簡単にRAGアプリを作ってみよう

Last updated at Posted at 2024-03-01

生成AI、流行ってますね!

今みんながやってる「社内文書検索」アプリ、いわゆるRAGアーキテクチャをAWSで簡単に作ってみましょう。1時間程度でサクッと試せるハンズオンです。

2024/9/3更新: 東京リージョン & Claude 3.5 Sonnetへ対応しました 🎉

そもそもBedrockって何だっけ?

こちらの資料で紹介していますので、お時間ある方はご覧ください!

0. 事前説明

このハンズオンで実施することは以下です。

今回作成するアプリケーションの構成イメージ

スクリーン ショット 2024-08-07 に 21.28.54 午後.png

1. 環境準備

 
以下の部分を作成していきます。

1.png

1-1. AWSアカウント作成

以下の手順でAWSアカウントを新規作成してください。
クレジットカード情報が必要です。ログイン用のEメールアドレスとパスワードをお忘れなく!

※アカウント作成を複数名で同時に実施する場合、同じネットワークを利用すると不正検知に引っかかり、SMS認証から先にうまく進めない可能性があります。20名を超える場合は、会場Wi-Fiとテザリングを使い分ける等工夫ください。

本ハンズオンの実施にあたり、多少の課金(数十円〜数百円以内)が発生することをご了承ください。実施後には忘れず不要なリソースの削除をお願いします。

1-2. IAMユーザー作成

AWSアカウントを作成すると、登録したEメールアドレスに紐づく「ルートユーザー」という最高特権のログインユーザーが一つだけ作成されるのですが、権限が強いため普段の作業には専用の個別ユーザーを作成するのがベストプラクティスです。

これを「IAMユーザー」といいます。まずは作業用のIAMユーザーを作ってサインインし直しましょう。

なお、今回の手順ではルートユーザーのまま作業してしまうと、Bedrockのナレッジベース作成に失敗するためお気をつけください。

以下URLからAWSアカウントにサインイン

「ルートユーザー」を選択し、登録メルアドを入力して次へ → パスワードを入力

スクリーン ショット 2024-02-16 に 17.35.17 午後.png

AWSマネジメントコンソール(通称マネコン)。クラウド管理者向けのホーム画面のようなものです

スクリーン ショット 2024-02-16 に 17.45.40 午後.png

マネコン上部の検索バーで「IAM」を検索し、IAMコンソールへ移動

スクリーン ショット 2024-02-16 に 17.46.23 午後.png

IAMコンソール左側の「ユーザー」 > 画面右の「ユーザーの作成」をクリック

スクリーン ショット 2024-02-16 に 17.47.32 午後.png

  • ユーザー名: handson
  • AWSマネコンへのアクセスを提供する: チェックを入れる
  • ユーザータイプ: IAMユーザーを作成します
  • コンソールパスワード: カスタムパスワードを選択し、パスワードを決めて入力(この後すぐ使います)
  • ユーザーは次回サインイン時に新しいパスワード作成が必要: チェックを外す

上記のとおり設定して「次へ」

image.png

「ポリシーを直接アタッチする」を選択し、許可ポリシー上から2つ目の AdministratorAccess にチェックを入れて、画面右下の「次へ」

スクリーン ショット 2024-02-16 に 17.53.00 午後.png

「ユーザーの作成」をクリック

スクリーン ショット 2024-02-16 に 17.54.14 午後.png

「コンソールサインインURL」をコピーしておく。

スクリーン ショット 2024-02-16 に 17.55.02 午後.png

マネコン右上のAWSアカウント名をクリックして「サインアウト」

スクリーン ショット 2024-02-16 に 17.56.09 午後.png

サインアウトできたら、ブラウザのアドレスバーに先ほどコピペした「サインインURL」を貼り付けてアクセス

スクリーン ショット 2024-02-16 に 17.58.46 午後.png

専用URLを使ったおかげで「アカウントID」が入力済みのサインイン画面に飛びます。

  • ユーザー名: handson
  • パスワード: 先ほど設定したIAMユーザー用のパスワード

スクリーン ショット 2024-02-16 に 17.59.52 午後.png

無事にIAMユーザーでサインインできました。
ルートユーザー(登録メルアド)を使った場合と異なり、右上の表示が「AWSアカウント名」ではなく「IAMユーザー名 @ AWSアカウントID」になっています。

スクリーン ショット 2024-02-16 に 18.04.40 午後.png

今回のハンズオンでは、東京リージョンを利用します。
右上のリージョン表示をクリックして、操作リージョンを東京に切り替えておいてください。

ハンズオンイベントでは時間の都合上割愛しますが、セキュリティ上、このタイミングでIAMユーザーにMFA(多要素認証)を設定いただくことを推奨します。

2. ナレッジベース作成

今回のメイン部分を作ります。

2.png

2-1. 「社内文書」を準備

今回はAIに参照させる独自情報として、比較的最近のニュース記事を利用してみます。

KDDIアジャイル開発センター(通称KAG)という会社が、「かぐたん」というSlackチャットボットを開発したという最近の内容が書かれています。

上記のWebページを、あなたの作業PCのデスクトップ等に kagutan.pdf というファイル名で「PDFとして保存」しておきましょう。以下よりダウンロードください。

本ハンズオンでは動作確認の方法として、PinggyというWebサービスを利用し、作成したRAGアプリへ外部からのアクセスが可能なURLを一時的に発行します。
そのため、セキュリティ上の理由から「社内文書」のサンプルに用いるドキュメントは、機密情報などが含まれない外部公開OKのものをご利用ください。

2-2. S3バケット作成

マネコン上部の検索バーで「S3」を探してクリック

スクリーン ショット 2024-02-16 に 19.30.39 午後.png

「バケットを作成」をクリック

スクリーン ショット 2024-02-16 に 19.50.53 午後.png

  • AWSリージョン: 東京
  • バケット名: handson-(年月日の数字)-(あなたのニックネームなど)

S3バケットの名前は世界中でユニークである必要があるため、何でもいいので被らなさそうなバケット名を設定してください。

他はデフォルトのまま「バケットを作成」をクリック

スクリーン ショット 2024-02-16 に 20.08.49 午後.png

作成されたバケット名をクリックして開く

スクリーン ショット 2024-02-16 に 20.45.22 午後2.png

オレンジ色の「アップロード」をクリック

スクリーンショット 2024-02-16 20.52.29.png

「ファイルを追加」から先ほど保存したPDFファイルを選択して、右下の「アップロード」をクリック

スクリーンショット 2024-02-17 15.39.31.png

すぐに完了しますが、アップロード中はページを閉じないようにご注意ください。

スクリーンショット 2024-02-17 15.40.09.png

2-3. ナレッジベース作成

繰り返しになりますが、ここはルートユーザー(Eメールアドレスでログイン)だと失敗します。作業用の handson IAMユーザーでログインした状態で実施ください。

マネコン上部の検索バーで「Bedrock」を検索して移動

スクリーン ショット 2024-02-16 に 21.06.40 午後.png

右上のリージョン表示が「東京」になっていることを再確認しておきましょう。
左上のハンバーガーメニュー( マーク)を開き「ナレッジベース」をクリック

スクリーン ショット 2024-02-16 に 21.07.23 午後.png

「ナレッジベースを作成」をクリック

スクリーン ショット 2024-02-16 に 21.07.55 午後.png

ステップ1はデフォルトのまま「次へ」

スクリーン ショット 2024-02-16 に 21.09.28 午後.png

ステップ2では「S3を参照」から先ほど作成したS3バケットを選択し、「次へ」

スクリーンショット 2024-02-17 15.41.26.png

スクリーン ショット 2024-02-16 に 21.11.09 午後.png

ステップ3では埋め込みモデルにCohere社の Embed Multilingual を選択し、「次へ」

※デフォルトでは、ベクトル変換した社内文書はOpenSearch Serverlessへ自動格納されます。

スクリーンショット 2024-02-25 16.52.10.png

右下の「ナレッジベースを作成」をクリック

スクリーン ショット 2024-02-16 に 21.14.48 午後.png

※ここから数分かかるので、画面を閉じないよう注意して次の作業へ進みます。

3. 生成AIモデルの有効化

以下を設定していきます。

3.png

3-1. Bedrockモデル有効化

マネコン左上のAWSロゴを右クリックして「新しいタブで開く」

※これによってナレッジベースの作成を継続させながら別の作業を並行できます。

スクリーン ショット 2024-02-16 に 21.16.45 午後.png

新しいタブで開いたマネコンにて、上部の検索バーから「Amazon Bedrock」を探して移動

スクリーン ショット 2024-02-16 に 21.18.33 午後.png

左上のハンバーガーメニューを開き、下方の「モデルアクセス」をクリック

スクリーン ショット 2024-02-16 に 21.22.21 午後.png

オレンジ色の「Enable all models」をクリック

スクリーン ショット 2024-07-25 に 23.43.28 午後.png

すべてのモデルがチェックされている状態で、画面右下のオレンジ色「Next」をクリック

スクリーン ショット 2024-07-25 に 23.44.50 午後.png

有効にしたモデルの数ぶん、AWS Marketplaceのサブスクライブ通知メールが飛んできますが驚かないで大丈夫です。

もちろん必要なモデルのみにチェックを絞ってもOKです。今回使用するモデルは以下です。

  • Anthropic > Claude 3.5 Sonnet
  • Cohere > Embed Multilingual

もしClaude 3.5 Sonnetが「利用不可」の場合は、代わりにClaude 3 Haikuを使って進めてください。

次のステップでは、Anthropic社の要件により、モデル用途を記載する必要があります。(悩みすぎず、ざっくり入力しましょう)

  • 会社名: あなたの所属会社名
  • 会社サイトのURL: あなたの会社のHPなど
  • 業界: あなたの会社の所属業界名
  • 対象ユーザー: 社内の従業員
  • ユースケースの説明: 個人検証 など

上記を記載し「送信」をクリック ※以下の画面は少し古いものなので参考です。

スクリーン ショット 2024-02-16 に 21.27.35 午後.png

最後の確認画面で、画面右下のオレンジ色「Submit」をクリック

※1〜2分待つと、選択したモデルが「アクセスが付与されました」ステータスに変わります。右上の更新ボタンでリロードできます。

スクリーン ショット 2024-02-16 に 21.34.19 午後.png

3-2. プレイグラウンドからチャット

画面左側の「プレイグラウンド > チャット」をクリック

スクリーン ショット 2024-02-16 に 21.41.58 午後.png

「モデルを選択」から「Anthropic > Claude 3.5 Sonnet」を選んで「適用」をクリック

スクリーン ショット 2024-02-16 に 21.43.08 午後.png

標準状態のClaudeモデルに質問してみましょう。画面下部のテキストボックスに かぐたんって何? というプロンプトを入力して「実行」をクリック

スクリーン ショット 2024-02-16 に 21.45.02 午後.png

NTTドコモさんが2017年に開発したAIアシスタントだそうです。ホンマか?

※このように生成AIが知識範囲外の質問にウソの回答をしてしまう現象を「ハルシネーション」と言います。

言語モデルが生成するテキストは、同じプロンプトを与えても毎回異なる内容が生成されます。そのため上記の回答は一例となります。

3-3. ナレッジベースをマネコンからテスト

それでは、先ほどの最新ニュース記事を参照させるとClaudeの回答がどう変わるか確認してみましょう。

閉じずに置いておいたブラウザのタブを見ると、Bedrockのナレッジベース作成が完了しています。右側のテスト用サイドバーの「データソースを同期」をクリック

スクリーン ショット 2024-02-16 に 21.48.53 午後.png

数秒で同期が完了するので、その後「モデルを選択」より「Anthropic > Claude 3.5 Sonnet」を選んで「適用」をクリック

スクリーン ショット 2024-02-16 に 21.56.18 午後.png

右下のテスト用メッセージ欄に かぐたんって何? と入れて「実行」をクリック

スクリーンショット 2024-02-17 15.53.43.png

読み込ませた "社内文書" を元に、Claudeが今度は正しく回答してくれました!

スクリーンショット 2024-02-17 15.54.15.png

もし 申し訳ありません。このリクエストには対応できません。 といった回答が返ってきてしまう場合、ナレッジベースの内部で一時的なエラーが発生している可能性があります。数秒おいて何度かリトライしてみてください。

4. アプリケーション開発

ナレッジベース単体の動作確認ができたので、これを簡単なPythonアプリケーションから実行してみましょう。

4.png

4-1. CloudShellでOSS版VS Codeを起動

ナレッジベースの概要画面は後で使うので開いておき、画面左上のAWSロゴを右クリックして、「新しいタブで開く」からマネコンを別タブで開きます。

スクリーン ショット 2024-08-07 に 21.34.12 午後.png

開いた新規タブで、マネコン上部から「CloudShell」を検索してクリック

スクリーン ショット 2024-08-07 に 21.34.49 午後.png

マネコン内であなた専用のターミナル(コマンドライン端末)が開きます。

アプリケーション開発用のエディタとして、OSS版のVS Code(code-server)をインストールしましょう。
以下のコマンドをCloudShellのターミナルにコピペして、Enter キーで実行

CloudShell
curl -fsSL https://code-server.dev/install.sh | sh

スクリーン ショット 2024-08-07 に 21.42.52 午後.png

インストールが完了し、入力を受け付けるプロンプトが点滅状態に復帰したら、以下を実行してcode-serverを起動

CloudShell
code-server --auth none

成功すると、このターミナルはcode-serverの実行状態になります。
このエディタ画面にアクセスするため、Pinggyというサービスを利用して一時的に外部公開URLを生成します。

CloudShellの最初のタブの右にある「+」をクリックして、「us-east-1」の新規タブを開く

スクリーン ショット 2024-08-07 に 21.50.07 午後.png

開いた2つ目のターミナルで以下を実行

CloudShell
ssh -p 443 -R0:localhost:8080 a.pinggy.io

Are you sure you want to continue connecting (yes/no/[fingerprint])? と質問されるので、 yes と入力してEnterを押すと、外部公開URLが発行されます。

スクリーン ショット 2024-08-07 に 22.02.29 午後.png

このURLが第三者に知られると、あなたのCloudShellにアクセス可能となってしまうため、不用意にURLを共有しないようご注意ください。
(なおPinggyは無料版の制約として、60分経つとURLが無効となります)

このうち https で始まる方をコピーしてブラウザの新規タブで開き、赤色の「Enter site」をクリック

スクリーン ショット 2024-08-07 に 22.05.51 午後.png

すると、ブラウザ上でVS Codeのようにリッチな開発環境にアクセスできました!

スクリーン ショット 2024-08-07 に 22.07.05 午後.png

参考まで、以下のような仕組みでCloudShell上のcode-serverにアクセスしています。

スクリーン ショット 2024-08-07 に 23.56.30 午後.png

4-2. Pythonアプリを作成

code-server画面左側、上から2つ目のアイコンをクリックして「エクスプローラー」を開き、「Open Folder」をクリック

スクリーン ショット 2024-08-07 に 22.10.09 午後.png

画面上部のポップアップに自動でホームディレクトリのパス(/home/cloudshell-user/)が表示されるので、「OK」をクリック

スクリーン ショット 2024-08-07 に 22.11.49 午後.png

当該ディレクトリ配下のファイルの実行権限について、確認するモーダル画面が表示されたら「Yes, I trust the authors」をクリック

スクリーン ショット 2024-08-07 に 22.13.31 午後.png

エディターの文字サイズが小さいので、見づらい場合はブラウザのズーム設定で文字を大きくしましょう。

スクリーン ショット 2024-08-07 に 22.16.09 午後.png

左サイドバー上部の「New File...」アイコンをクリック

スクリーン ショット 2024-08-07 に 22.17.59 午後.png

rag.py というPythonファイル名を入力して、Enterを押すと新規ファイルの編集画面が開く

スクリーン ショット 2024-08-07 に 22.19.31 午後.png

新規ファイル内に以下のコードをコピーして貼り付ける

# 外部ライブラリをインポート
import streamlit as st
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
from langchain_community.chat_models import BedrockChat
from langchain_community.retrievers.bedrock import AmazonKnowledgeBasesRetriever

# 検索手段を指定
retriever = AmazonKnowledgeBasesRetriever(
  knowledge_base_id="XXXXXXXXXX", # ここにナレッジベースIDを記載する
  retrieval_config={"vectorSearchConfiguration": {"numberOfResults": 10}})

# プロンプトのテンプレートを定義
prompt = ChatPromptTemplate.from_template("以下のcontextに基づいて回答してください: {context} / 質問: {question}")

# LLMを指定
model = BedrockChat(model_id="anthropic.claude-3-5-sonnet-20240620-v1:0", model_kwargs={"max_tokens": 1000})

# チェーンを定義(検索 → プロンプト作成 → LLM呼び出し → 結果を取得)
chain = ({"context": retriever, "question": RunnablePassthrough()} | prompt | model | StrOutputParser())

# フロントエンドを記述
st.title("おしえて!Bedrock")
question = st.text_input("質問を入力")
button = st.button("質問する")

# ボタンが押されたらチェーン実行結果を表示
if button:
  st.write(chain.invoke(question))

イベント中は時間が限られるため、コードは軽く口頭説明してコピペで進めてしまいますが、時間のある方はぜひコードを手打ちしてみてください。理解が断然深まります。

もしClaude 3 Haikuを使う場合、18行目のモデルIDを以下へ置き換えてください。
anthropic.claude-3-haiku-20240307-v1:0

コードを貼り付けたあと、11行目の XXXXXXXXXX の部分をあなたのナレッジベースIDで置き換えます。

先ほど開いておいたブラウザのタブの、ナレッジベースの概要画面から「ナレッジベースID」をコピーできます。

スクリーン ショット 2024-08-07 に 22.23.28 午後.png

コード11行目の該当部分に貼り付けたら、Command + s(Windowsでは Ctrl + s)で上書き保存します。

スクリーン ショット 2024-08-07 に 22.24.43 午後.png

4-3. アプリケーションを実行

このPythonアプリを実行してみます。そのためにはCloudShellを実行しているEC2サーバーへ、Pythonの外部ライブラリを3つインストールする必要があります。

エディター画面右上、左から2つ目のアイコンをクリックすると、画面下側にターミナルが開きます。ここから先ほどのCloudShellターミナルと同じようにコマンドを実行することができます。

スクリーン ショット 2024-08-07 に 22.26.46 午後.png

以下コマンドを実行して、Pythonの外部ライブラリをインストール

pip install langchain==0.1.12 boto3 streamlit

貼り付け時にブラウザからポップアップが表示されたら、許可します。

スクリーン ショット 2024-08-07 に 22.30.03 午後.png

以下のライブラリがインストールされます。

  • LangChain:LLMアプリでよく使うロジックを簡単に記述できる
  • Boto3:PythonでAWSサービスを操作するSDK(LangChainに内包)
  • Streamlit:PythonでモダンなWebフロント画面を簡単に作成できる

完了したら、以下のコマンドを実行してPythonコードをStreamlitで稼働させましょう。

streamlit run rag.py

上手くいくとエディター画面右下にポップアップが表示されるので、「Open in Browser」をクリック

スクリーン ショット 2024-08-07 に 22.34.22 午後.png

ポップアップが閉じてしまった場合は、ターミナルで Ctrl + c を押してStreamlitの実行を停止し、再度 streamlit run rag.py を実行するとポップアップが再表示されます。

すると、ブラウザの新しいタブでStreamlitアプリの画面にアクセスできます。

スクリーン ショット 2024-08-07 に 22.35.36 午後.png

実際にこのアプリを使ってみましょう。テキストボックスに かぐたんって何? と入力して「質問する」ボタンをクリックしてみます。

Enterキーは反応せず、ボタンを押さないと送信されないので注意(うまく処理が始まるとプレビュー画面右上に「RUNNING...」ステータスが表示されます)

数秒待つとアプリ画面下部に回答テキストが表示されます。
無事に "社内文書" を参照して回答を生成してくれました!

kagutan.png

あなたのCloudShell上で、このStreamlitアプリを実行している間であれば、PinggyのURLを共有するだけで同僚にもこのアプリを使ってもらうことができます。

繰り返しますが、このURLが第三者に知られるとあなたのCloudShellにアクセス可能となってしまうため、セキュリティ上のリスクがあることをご認識ください。
URLを同僚に共有する場合は慎重に行い、ハンズオン終了後は速やかに環境の停止・削除を実施ください。
(なおPinggyは無料版の制約として、60分経つとURLが無効となります)

今回作成したアプリケーションの構成を再掲しておきます。

0.png

4-4. 補足: エディターやアプリへの接続が切れてしまった場合

  • AWS CloudShellは、20分以上無操作が続くと停止してしまいます。
  • Pinggyは、無料版の制約として60分でURLが無効になります。

CloudShellは「再接続」ボタンから再開することができます。

スクリーン ショット 2024-08-07 に 22.42.47 午後.png

一度停止してしまったら、code-serverのインストールから再実行しましょう。

CloudShell
# code-serverのインストール
curl -fsSL https://code-server.dev/install.sh | sh

# code-serverの起動
code-server --auth none

# Pinggyサーバーに接続して公開URLを生成
ssh -p 443 -R0:localhost:8080 a.pinggy.io

発行されたURLにアクセスすれば、作成したPythonファイルやインストールしたライブラリはそのまま残っていますので、再度実行すればStreamlitアプリへのアクセスが可能です。

CloudShell
streamlit run rag.py

4-5. 付録: AIエージェントもついでに体験

ここまで早く終わった方は、以下の記事の「5. エージェント」に記載のコードを同様に実行してみましょう。

今回利用したCloudShell環境そのままで、AIエージェントの動作を簡単に体験することができます。

5. お片付け

ハンズオン実施後、作成したリソースを放置しておくと思わぬ高額請求に繋がる恐れがあります。

特に 5-2 のOpenSearch Serverlessコレクションを消し忘れてしまうと、1日あたり数百円の課金が発生する可能性があるため、可能なかぎりハンズオンイベント中に削除まで実施してしまうことをお勧めします。

5-1. ナレッジベースの削除

Bedrockコンソールで「オーケストレーション > ナレッジベース」から今回作成したナレッジベースを選択し、「削除」をクリック

スクリーン ショット 2024-02-18 に 00.36.01 午前.png

確認キーワードを入力して「削除」をクリック

スクリーン ショット 2024-02-18 に 00.37.00 午前.png

Bedrockのモデル自体は有効化したままでも実際に利用しない限り料金が発生しませんので、特段の対応は不要です。

5-2. ベクターDBの削除 【重要!】

OpenSearch Serviceコンソールで「サーバーレス > コレクション」から今回自動作成されているコレクション(検索インデックス)を選択し、「削除」をクリック

スクリーン ショット 2024-02-18 に 00.37.41 午前.png

確認キーワードを入力して「削除」をクリック

スクリーン ショット 2024-02-18 に 00.39.04 午前.png

5-3. S3バケットの削除

S3コンソールで今回作成したバケットをクリックし、「空にする」をクリック

スクリーン ショット 2024-02-18 に 00.39.45 午前.png

確認キーワードを入力して「空にする」をクリック

スクリーン ショット 2024-02-18 に 00.40.43 午前.png

画面上部の削除成功トーストにある「バケットの削除設定」リンクをクリック

スクリーン ショット 2024-02-18 に 00.41.45 午前.png

確認キーワードを入力して「バケットを削除」をクリック

スクリーン ショット 2024-02-18 に 00.42.33 午前.png

5-4. AWSアカウントの解約

AWSアカウントは残しておき、イベント後にこの環境を引き続き利用されたい方は、ルートユーザーやIAMユーザーにMFAを設定しておきましょう。不正ログインにより思わぬ高額請求などの被害に遭うリスクを減らすことができます。

  • ルートユーザーへのMFA設定方法

  • IAMユーザーへのMFA設定方法

  • IAMユーザーの削除方法

もしこのAWSアカウントをしばらく使う予定がない場合、忘れないうちに解約してしまいましょう。

一度解約すると、同じメールアドレスで再度AWSアカウントを作成できなくなってしまうため、事前にメールアドレスをあまり使わないものに変更したうえで解約されることをお勧めします。

以下リンクよりルートユーザー(契約時のメールアドレス)でAWSアカウントに再サインインします。

画面右上のAWSアカウント名をクリックして「アカウント」へ移動

スクリーン ショット 2024-02-18 に 00.57.03 午前.png

メールアドレスを変更する場合、アカウント設定の「編集」から変えられます。

スクリーン ショット 2024-02-18 に 00.58.22 午前.png

AWSアカウントを解約する場合、同じ画面の最下部の「アカウントを閉鎖」から手続きできます。

スクリーン ショット 2024-02-18 に 00.59.28 午前.png

おまけ:次のステップとして何に挑戦するのがいい?

RAG応用編

今回のPythonアプリをECSなどのインフラサービスでホストして、同僚にもWebブラウザーから使ってもらえるようにしてみる

エージェント入門編

Agent for Amazon BedrockでAIエージェントにも挑戦してみる

宣伝

凄腕Bedrockerの @hedgehog051 @moritalous と入門書を出版しました。最新情報&ハンズオン多数をわかりやすく整理した決定版です。

重版.png

269
237
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
269
237

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?