[2023年4月版]最新版のAuto-GPTをローカルDockerで動かす
最新版のAuto-GPTをローカルDockerで動かすには
以前にローカルで構築したAuto-GPTですが…
リポジトリに docker-compose.yml
が追加されており、Redisを使ったAuto-GPTの構築が簡単にできるようになっておりましたので手順をご紹介します。
前提条件
対象
Auto-GPT: https://github.com/Torantulino/Auto-GPT
Pythonで記述されたツールでございます。 Chrome プラグインの Auto GPT ではありません。
手元の環境
- Windows 11 Pro 22H2
- WSL 2 + Docker CE
- Ubuntu 22.04.2 LTS
WSL の docker-ce
Docker は Desktop 版 WSL バックエンドではなく、Ubuntu 22 に docker-ce を直接インストールしてます。
WSL上の場合も、通常の Ubuntu に docker-ce をインストールする手順 https://docs.docker.com/engine/install/ubuntu/ で問題ないです。
また service docker start でエラーが起きる場合は、https://stackoverflow.com/a/73376219 の手順を実施すればOKです。
WSL で Systemctl 使えない場合
Systemctlが使えないWSL環境でのDockerサービスは以下のコマンドで起動してます。
$ sudo service docker start
ちなみに、Systemctl の有効化は以下の手順でOKです。
Add these lines to the /etc/wsl.conf (note you will need to run your editor with sudo privileges, e.g: sudo nano /etc/wsl.conf):
[boot] systemd=true
それではAuto-GPTのローカル環境構築の手順をご紹介いたします。
clone
1. 'Auto-GPT'をgit clone https://github.com/Torantulino/Auto-GPT.git
などでローカルに Clone します。
例によってgh
コマンドでは以下のようにします。
gh repo clone Torantulino/Auto-GPT auto-gpt
cd auto-gpt
これでauto-gpt
フォルダに'Auto-GPT'がクローンされました。
2. 環境設定
.env.template
を autogpt/ 直下にコピーします。
cp .env.template autogpt/.env
テンプレートをコピーして、ローカル用に環境設定ファイルを作成します。
APIキーの取得などについては前回の記事をご覧ください。
3. Redis設定設定ファイルに以下のように Redis の設定を追加します。
環境設定ファイルから、MEMORY_BACKEND
とREDIS_*
の修正をします。
# MEMORY_BACKEND - Memory backend type (Default: local)
MEMORY_BACKEND=redis
...
### REDIS
...
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
MEMORY_BACKEND
はデフォルトではlocal
になってますので、これをredis
に修正します。
docker composeで立ち上げるRedisのホストはredis
でアクセス可能です。
localhost での共有
docker-compose.yml にports
で6379
を追加しておくとローカルで直接 Python 叩いてauto-gptを立ち上げても同じRedisが使えるので便利です。
service:
...
redis:
...
ports:
- "6379:6379"
この時、.env
ファイルのREDIS_HOST=localhost
に変更しておきましょう。
4. Redisの起動
docker compose up
で起動すればRedisが立ち上がります。
docker compose up -d
この時、auto-gpt
のサービスは docker-compose.ymlでprofiles: ["exclude-from-up"
と指定されており up
コマンドでは起動しません。
5. Auto-GPTの起動
本日(2023.04.23) クローンしたバージョンではそのままでは動きませんでしたので、以下のように Dockerfile
を修正します。
...
# Copy the application files
COPY autogpt/ autogpt
...
で、ビルドします。
sudo docker compose build auto-gpt
続いて以下のようにrun
コマンドで起動します。
sudo docker compose run auto-gpt
以下のようにプロンプトが表示されれば起動完了です。
$ sudo docker compose run auto-gpt
[+] Running 1/0
✔ Container auto-gpt-redis-1 Running 0.0s
Error creating Redis search index: Index already exists
Welcome to Auto-GPT! Enter the name of your AI and its role below. Entering nothing will load defaults.
Name your AI: For example, 'Entrepreneur-GPT'
AI Name:
お疲れさまでした!
直接 Python コマンドで起動する
直接 Python コマンドで起動するには以下のコマンドです。
python -m autogpt
Dockerfile
の ENTRYPOINT
の設定と同様ですね。
まとめ
絶賛開発中なので起動方法含め、いろいろ変わってますね…
ちょっと日本語化の機能入れてみようとソースを取得しなおしたら全然、変わってたし…
まさかこんなに変わってるなんて…
進化が早いのでフォローアップもリアタイでやってかないと厳しいですね…
というわけで引き続き追っていきたいと思います。
Discussion