😶🌫️
AWS BedrockでRAG×streamlitを構築してみた[環境構築編]
社内ナレッジ検索AIをAWS Bedrockで構築する【環境構築編】
社内ドキュメントやナレッジを横断検索できるAIチャットボットを作ってみたい!
本記事では、そのための基盤となる AWS Bedrock + Docker 環境の構築手順 を、初学者向けにわかりやすくまとめています。
💡 対象読者
- AWS や Docker にこれから触れる方
- 生成AIを使った業務効率化に興味がある方
- Bedrock を試してみたいエンジニア
📚 目次
- ✅【本記事】環境構築編
- 🚀実装編(チャットボット構築) ※近日公開予定
✅ 環境構築編
このパートでは以下のステップで進めていきます。
- プロジェクトディレクトリの作成
- 必要ファイルの準備(
Dockerfile
,docker-compose.yml
,.env
など) - AWS CLI のセットアップ
- Docker環境のビルド・起動
- Bedrock モデルの有効化とアクセス設定
1. プロジェクトディレクトリの作成
まずは開発用のディレクトリを作成して、作業ディレクトリに移動します。
mkdir aws-bedrock-rag
cd aws-bedrock-rag
2. 必要ファイルの準備
✅ Dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt ./
RUN apt-get update && apt-get install -y bash && pip install --no-cache-dir -r requirements.txt
COPY . .
📝 ポイント解説
-
python:3.11-slim
は軽量な公式Pythonイメージです。 - 作業ディレクトリを
/app
に設定。 - 必要なライブラリは
requirements.txt
からインストールします。
✅ docker-compose.yml
services:
bedrock:
build: .
environment:
- AWS_PROFILE=${AWS_PROFILE}
- AWS_REGION=${AWS_REGION}
volumes:
- ~/.aws:/root/.aws:ro
- ./:/app
command: tail -f /dev/null
ports:
- "8503:8503"
💡 補足
-
~/.aws:/root/.aws:ro
で、ホストのAWS認証情報を読み取り専用でコンテナに共有しています。 -
command: tail -f /dev/null
によって、コンテナを何も処理しない状態で起動し続けます(後から入るため)。 -
AWS_REGION
やAWS_PROFILE
は.env
ファイルで管理できるようにしておくと便利です。
✅ requirements.txt
boto3
awscli
numpy
faiss-cpu
streamlit
🛠️ 注意点
-
faiss-cpu
はベクトル検索用ライブラリです。 -
streaml
などの誤記がないよう注意!(正しくはstreamlit
)
3. AWS CLI のセットアップ
Bedrockを利用するには、AWS CLI のセットアップが必要です。
pip install awscli
aws configure
aws configure
実行時には以下の情報を入力します:
項目 | 説明 |
---|---|
AWS Access Key ID | IAM で作成したアクセスキー |
AWS Secret Access Key | 上記のシークレットキー |
Default region name | 例:us-east-1 または ap-northeast-1 |
Default output format | json(そのままでOK) |
👉 詳細は AWS CLIセットアップチュートリアル を参考にしてください。
4. .env ファイルの作成(任意)
プロファイルやリージョンを切り替えたい場合は .env
ファイルを作っておくと便利です。
AWS_PROFILE=default
AWS_REGION=us-east-1
5. Docker イメージのビルド
以下のコマンドでDockerイメージをビルドします。
docker compose build
6. コンテナの起動
docker compose up -d
-d
はバックグラウンドでの起動オプションです。
7. コンテナに入って作業
以下のコマンドでコンテナに接続できます(コンテナ名は実際の名前に合わせてください)。
docker exec -it aws-bedrock-rag-bedrock-1 bash
8. 注意点(Bedrock 利用前に必読)
- AWS Bedrock のモデル利用には、事前にアクセス申請が必要な場合があります。
→ AWSコンソールの Bedrock モデルアクセス設定ページ で申請しましょう。 - モデルIDやリージョンなどは Bedrock コンソールで必ず確認してください。
- モデルによっては利用可能なリージョンが異なります。
🔜 次回:【実装編】へ
次回はこの環境をベースにして、社内ナレッジ検索チャットボットを実装していきます!「実装編」では、実際に社内ナレッジ検索チャットボットを構築する手順を詳しく解説予定です。記事が完成し次第、こちらにリンクを追加しますので、ぜひフォローしてお待ちください!
- ドキュメントのアップロード
- 埋め込みの作成と保存
- Bedrock API 経由でチャット対応 などなど!
📘 まとめと学び
- Dockerを使うことで再現性の高い開発環境を構築できます。
- AWS CLI と
~/.aws
の連携でBedrockへの接続が可能に。 -
.env
ファイルで環境変数を管理すると切り替えが楽になります。
🚀 目指せ「つよつよデータエンジニア」
この連載では、「データエンジニア × 生成AI × パブリッククラウド」に強い人材になるための成長ログとして発信していきます。
もしこの記事が参考になったら、フォロー & いいね 👍 いただけると励みになります!
次回もお楽しみに!
Discussion