皆さん、AIの可能性を広げるデモ環境の構築はもう試されましたか?
前回の記事では、Anthropic Computer Useについて紹介しましたが、GitHubのページにはDockerコマンドを使った設定方法のみが記載されており、APIキーを毎回入力する必要があったり、何度も利用するのには少々手間がかかるものでした。
そこで今回は、もっと簡単にセットアップできる方法として、docker-compose.yaml
と.env
ファイルを使って構築する手順をまとめました。一度設定してしまえば毎回キーを入力せずに起動できるようになります。
Docker Composeで簡単にAnthropicデモ環境を構築する
1. 必要なファイルを作成しよう
まず、以下の2つのファイルを用意しましょう:docker-compose.yaml
と.env
です。
docker-compose.yamlの作成
以下の内容をdocker-compose.yaml
ファイルに記述します。
version: '3'
services:
anthropic-demo:
image: ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
volumes:
- $HOME/.anthropic:/home/computeruse/.anthropic
ports:
- "5900:5900"
- "8501:8501"
- "6080:6080"
- "8080:8080"
この設定で、Anthropicのデモ環境に必要なポートや環境変数が指定されます。
.envファイルの作成
次に、.env
ファイルを作り、AnthropicのAPIキーを設定します。
ANTHROPIC_API_KEY=your_api_key
your_api_key
の部分を、自分のAPIキーに置き換えてください。これでセキュリティを保ちつつ、簡単にAPIキーを管理できます。
2. ファイルを配置
作成したdocker-compose.yaml
と.env
ファイルを同じフォルダに保存します。
3. Docker Composeでコンテナを起動
ターミナルを開き、ファイルを配置したディレクトリに移動します。そして以下のコマンドを実行しましょう。
docker-compose up
これで、Anthropicのデモ環境が自動的に起動します。特別な技術的知識がなくても、簡単に環境が整います。
4. 起動後の確認
コンテナが正常に起動したら、次のポートで各サービスにアクセスできます:
- 5900: VNCサーバー ※ブラウザでは表示しません
- 8501: Streamlitアプリケーション
.envで設定したAPIキーなどの確認はこの画面でも可能です。
- 6080: noVNCウェブクライアント
noVNCの接続前の画面、「接続」をクリックすると操作するPCの画面が表示されます
- 8080: メイン画面
こちらがメイン画面です。チャットでやって欲しいことを支持すると、キャプチャを取りながら操作実行してくれます。
5. 仮想環境の調査
起動した環境がどのような仮想環境で構成されているかを確認してみました。
docker inspect
コマンドを使用します。
docker inspect ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest
このdocker inspect
の出力結果から、イメージの詳細について解説します。
- イメージID:
"Id": "sha256:b7f7c3df8e248bac1dad32d5bde5319de1f88b766c24ec62ef50f80290cc6037"
これはイメージの一意の識別子です。 - タグとダイジェスト:
"RepoTags": ["ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest"] "RepoDigests": ["ghcr.io/anthropics/anthropic-quickstarts@sha256:22c3a8fadb7a5fdbf3ac2149fdb2ec2f067344b856d5059a806009198459f5ff"]
イメージのタグとSHA256ダイジェストが示されています。 - 作成日時:
"Created": "2024-10-24T01:03:41.500275362Z"
イメージが作成された日時です。 - 環境変数:
"Env": [ "PATH=/home/computeruse/.pyenv/shims:/home/computeruse/.pyenv/bin:/home/computeruse/.pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "DEBIAN_FRONTEND=noninteractive", "DEBIAN_PRIORITY=high", "USERNAME=computeruse", "HOME=/home/computeruse", "PYENV_ROOT=/home/computeruse/.pyenv", "PYENV_VERSION_MAJOR=3", "PYENV_VERSION_MINOR=11", "PYENV_VERSION_PATCH=6", "PYENV_VERSION=3.11.6", "DISPLAY_NUM=1", "HEIGHT=768", "WIDTH=1024" ]
設定されている環境変数が列挙されています。Python 3.11.6が使用されていることがわかります。 - エントリーポイント:
"Entrypoint": ["./entrypoint.sh"]
コンテナ起動時に実行されるスクリプトです。 - アーキテクチャとOS:
"Architecture": "arm64", "Os": "linux",
ARM64アーキテクチャのLinux用イメージであることがわかります。 - サイズ:
"Size": 2685074856
イメージのサイズは約2.68GBです。 - ラベル:
"Labels": { "org.opencontainers.image.ref.name": "ubuntu", "org.opencontainers.image.version": "22.04" }
このイメージはUbuntu 22.04をベースにしていることがわかります。
このイメージは、Anthropicのデモ環境用に構築されたもので、Python環境やVNC関連の設定が含まれています。Ubuntu 22.04をベースに、Python 3.11.6が設定され、リモートデスクトップアクセス用の設定(DISPLAY_NUM, HEIGHT, WIDTH)も含まれています。
6. 使用後の停止方法
利用が終わったら、以下のコマンドで環境を停止できます。
docker-compose down
シンプルなコマンドで起動から停止まで管理できるので、必要なときにすぐ試してみることができます。
まとめ
今回は話題のComputer Useを動かしてみるのではなく、ちょっと違う視点でまとめてみました。
GithubにあるDockerコマンドを使った起動方法をDocker Composeに置き換えて毎回簡単に起動できるように設定してみました。また、どんな仮想OSがどんなコンテナで動作しているのかなど環境を調査、掘り下げてみました。
さあ、一歩踏み出して、AI技術を自分の手で体験してみましょう!
コメント