結論
- ホストになるDockerコンテナをDOOD (Docker Outside of Docker) で起動したら、あとはレポジトリの説明通りにするだけで素直に動いた。
(追記)
-
VSCode上のターミナルを使っている前提です。ポート転送機能で作業を減らしています。
-
pythonの実行環境がうまく動いてない。WLSときは大丈夫だった。→ https://qiita.com/h1day/items/5961fb221c30a2fa51e2
-
us-east-1を直で書いてある場所がったので、us-east-1でモデルを有効にしとかないと動かない。
構成
手順
最新のLTSのubuntuに docker, Node.js, yarn, gitをインストール。
# ベースイメージとして最新のLTS版のUbuntuを使用
FROM ubuntu:latest
# システムのアップデートと必要なパッケージのインストール
RUN apt-get update && apt-get install -y \
curl \
git \
build-essential \
ca-certificates \
sudo \
gnupg \
lsb-release \
apt-transport-https \
software-properties-common
# Dockerのインストール(公式Dockerリポジトリを追加して最新バージョンをインストール)
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && apt-get install -y docker-ce-cli
# Node.jsのインストール (NodeSourceを利用して最新のLTSバージョンをインストール)
RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
apt-get install -y nodejs
# Yarnのインストール
RUN npm install -g yarn
# Dockerを後でDOOD用に設定する場合のためのディレクトリ作成 (オプション)
RUN mkdir -p /workspace
# コンテナ内で作業するディレクトリを設定
WORKDIR /workspace
# Git、Node.js、Yarn、Dockerのバージョン確認 (デバッグ用)
RUN git --version && node --version && yarn --version && docker --version
# デフォルトのコマンド(必要に応じて変更可能)
CMD [ "bash" ]
Dockerイメージをビルド。名前は ubuntu_yarn にしました。
docker build -t ubuntu_yarn .
Dockerコンテナを実行。名前は OpenArtifactsForBedrock にしました。
DOODの設定を行うため、以下のように、ホストの/var/run/docker.sockをコンテナにマウントして実行します。
docker run -it --name OpenArtifactsForBedrock -v /var/run/docker.sock:/var/run/docker.sock ubuntu_yarn
インストールの確認。全部バージョン番号が出る。
git -v
node -v
yarn -v
docker -v
手順2:レポジトリの入手と実行
open artifacts for bedrock
レポジトリを好きな場所でclone
git clone https://github.com/aws-samples/open_artifacts_for_bedrock.git
中にあるdockerfileをビルド
cd open_artifacts/docker_files
docker build -t python3.10 .
クローンしてできたopen_artifacts_for_bedrockディレクトリに.envファイルを作成。
AWSで入手したBedrockのAPIキーを設定する。AWS_REGIONも東京ならap-northeast-1など変えておく。
このファイルを設定する場合は、USERNAMEとPASSWORDは何か設定しておかないと出来上がったものに入れなかった。
AWS_ACCESS_KEY_ID=*******
AWS_SECRET_ACCESS_KEY=******
AWS_REGION=us-east-1
PYTHON_DOCKER_IMAGE=python3.10
MODEL_ID=anthropic.claude-3-5-sonnet-20240620-v1:0
USERNAME=
PASSWORD=
実行
cd ..
yarn
yarn dev
ブラウザで http://localhost:3000 にアクセスする。
dockerコンテナなのにlocalhostでアクセスできているのは、ポート転送機能のおかげ。
参考