Amazon オーディブル2ヶ月無料キャンペーン中 5/9まで

【Mac】Auto-GPTをM1/M2のMacで試す

11 min

こんにちは。ナミレリです。今回は、M1/M2のMacでAuto-GPTを試してみたいと思います。Auto-GPTはChatGPTを使って目標に対するタスクを考え実行するツールです。ユーザーは目標を入力するだけで、あとは自動で実行してくれて、GPT-4を使い自律型AIエージェントの実現を目指すPythonで書かれたアプリケーションで、現段階では実験的な位置づけです。

この記事では、そんな夢のようなAuto-GPTをM1/M2のMacにインストールし、設定方法も紹介していきます。M1/M2のMacのDockerでインストールする方法と、Dockerなしでインストールする方法を紹介します。

この記事はこんな人にオススメ

  • M1/M2のMacでAuto-GPTを試してみたい
  • M1/M2のMacのDockerにAuto-GPTをインストールしたい
  • Auto-GPTのインストール方法を知りたい
  • 自律型AIエージェントを体験してみたい方
  • 新たなAI技術をMacで試してみたい方
  • AIとその可能性をMacで感じたい方
この記事のMac環境
  • M2 MacBook Air 13.6 インチ
  • M1 Max MacBook Pro 14インチ
  • macOS Ventura 13.5
  • Docker desktop 4.21.1
  • Auto-GTP 0.4.6
Parallels 19 for Macの無料トライアル もありますので、ぜひダウンロードして試してみてください。M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。
NEW Parallels Desktop 19 for Mac

Parallels Desktop 19 for Macは、M1/M2/M3のMac上で快適にMacやUbuntu、Windowsが動作します。

14日間の無料トライアルもありますので、ぜひダウンロードして試してみてください。

はじめに

個人的にはAuto-GPTとStable diffusion web UIを連携しが画像生成を試したいですが、この記事では最低限としてOpenAIのAPIとGoogleのAPIと連携するところからやってみます。

また、Auto-GPTのインストールは、Dockerでインストールする方法と、Dockerなしでインストールする方法を試します。インストールするMacは、M1/M2のApple siliconのMacです。

Auto-GPTには多くの機能がありますが、この記事では、最低限としてOpenAIのAPIとGoogleのAPIを使うことにします

この記事では、Dockerを使わないでAuto-GPTをインストール方法と、Dockerを使ったインストール方法の両方を紹介していきます。

Amazonの読み放題・聴き放題

kindle unlimited 読み放題
200万冊以上が読み放題

Audible
12万以上の対象作品が聴き放題

Amazon オーディブル:2ヶ月無料キャンペーン中(5/9まで)→ 詳しくはこちら

Auto−GPTとは?

Auto-GPTは、Pythonで書かれたオープンソースの実験的なアプリケーションで、GPT-4を使い目標に対して自律的にタスクを考え実行します。こういったAIを自律型AIエージェントと呼びます。

ユーザーが目標を入力すると、必要なタスクを提案・実行し、目標が達成されるまでそれらを繰り返します。勝手に必要なタスクを実行してしまうのか?と心配になりますが、必要なタスクを実行する前に、しっかりユーザーに確認してくれます。

インストールも簡単なので早速試していきましょう。

Auto-GPTのインストール環境について

ローカルのマシンは、M1 MAXのMacbook ProとM2のMacbook Airの2つで試しました。

DockerなしでAuto-GPTインストールする環境

Dockerなしの場合は、miniforgeのPython 3.10.12の環境にAuto-GPTをインストールしてみます。

また、Auto-GPTはpipで様々なライブラリがインストールされますので、venvでAuto-GPT用の仮想環境を作るようにします。

miniforgeやvenvについて詳しく知りたい方は下の記事をぜひご覧ください。

DockerでAuto-GPTインストールする環境

おすすめは、Dockerを使用してAuto-GPTのインストールする方法です。Dockerを使うことでAuto−GPTを隔離された環境を手軽に作ることが出来、簡単に安全にAuto-GPTを試すことができます

おすすめは、Dockerを使用して隔離した環境Auto-GPTのインストールする方法です。

Auto-GPT用のvenv仮想環境の構築

今回はホームディレクトリにvenv_auto-gptというディレクトリを作ってAuto-GPT用のvenv仮想環境にしてみます。ディレクトリ名はなんでも構いません。

venv仮想環境のディレクトリを用意

以下のvenv仮想環境の作成や仮想環境を有効にすることについては、DockerでAuto-GPTをインストールする場合は不要です。ちなみに作成・有効にしてもなんら問題はありません。

ホームディレクトリにvenv_auto-gptディレクトリを作成


cd ~
mkdir venv_auto-gpt

venv仮想環境を作成


cd venv_auto-gpt
python -m venv .venv

python -m venv-mはモジュールの意味で、venvモジュールを使い.venvという仮想環境ディレクトリ作成しています。

次に、作成した.venvに入り中身を確認します。binlibincludeなどが確認できます。

venv仮想環境を確認


ls -F .venv
bin/  include/  lib/  pyvenv.cfg

venv仮想環境を有効にする

以下のコマンドで、先程作成したAuto-GPT用のvenv仮想環境を有効にします。


source .venv/bin/activate

venv仮想環境の抜け方

venv仮想環境の抜け方はdeactivateコマンドです。


deactivate

pip listでインストールされているpipを見てみましょう。下のようにpipsetuptoolsのみインストールされていますので、仮想環境の初期状態であることが確認できます。


pip list
Package    Version
---------- -------
pip        23.0.1
setuptools 65.5.0

[notice] A new release of pip is available: 23.0.1 -> 23.2
[notice] To update, run: pip install --upgrade pip

次に、pipコマンドをアップデートしておきます。


pip install --upgrade pip

ディレクトリに入ったときに自動的にvenv仮想環境が有効にするためには、direnvを使うと便利です。下の記事を参考にしてください。

これでvenv仮想環境の準備は整ったので、Auto-GPTをインストールしていきます。

Amazonの読み放題・聴き放題

kindle unlimited 読み放題
200万冊以上が読み放題

Audible
12万以上の対象作品が聴き放題

Amazon オーディブル:2ヶ月無料キャンペーン中(5/9まで)→ 詳しくはこちら

Auto-GPTのインストール

Auto-GPTの公式githubを参考にインストールしていきます。

リポジトリの取得とインストール

作成したvenv仮想環境のvenv_auto-gptにいることを確認して、Auto-GPTIのソースコードをgit cloneします。リポジトリの取得はDockerあり・なしの違いはありません

masterブランチは開発中の位置づけなので、下のように必ず最新のstableリリースをgit cloneします。

~/venv_auto-gptにいることを確認


pwd
/Users/user/venv_auto-gpt

git cloneでstableのソースコードの取得


git clone -b stable https://github.com/Significant-Gravitas/Auto-GPT.git


ls -F
Auto-GPT/

venv_auto-gptiAuto-GPTがcloneされました。

Auto-GPTの設定

Auto-GPTの設定ファイルは、Auto-GPT/.envです。.envのテンプレートである.env.templateをコピーして使います。.envの作成と設定もDockerあり・なしの違いはありません

設定ファイルのテンプレをコピー


cd Auto-GPT
cp .env.template .env

.envには多くの設定項目があります。

詳細は、Auto-GPT/docs/configuration/options.mdに記載があります。

次に、設定ファイルの項目を見てみましょう。

【1】.envのGENERAL SETTINGS

GENERAL SETTINGSは、Auto-GPTの一般的な設定項目です。

GENERAL SETTINGSの項目では、OPENAI_API_KEYの設定は必須です。

この記事では、
GENERAL SETTINGSの、OPENAI_API_KEYとUSER_AGENTを設定します。

設定項目必須説明デフォルト
OPENAI_API_KEYOpenAI APIキー(取得はこちら
EXECUTE_LOCAL_COMMANDSシェルコマンドをローカルで実行するかFalse
RESTRICT_TO_WORKSPACEファイル操作をワークスペース
./auto_gpt_workspace に制限する
True
USER_AGENTユーザーエージェントを定義する下記参照
AI_SETTINGS_FILEAI設定ファイルai_settings.yaml
PLUGINS_CONFIG_FILEプラグイン設定ファイルplugins_config.yaml
PROMPT_SETTINGS_FILEプロンプト設定ファイルprompt_settings.yaml
OPENAI_API_BASE_URLOpenAI API用のカスタムURLblank
OPENAI_FUNCTIONSFunction callingを有効にする
選択するモデルに ‘-0613’をつける
False
AUTHORISE_COMMAND_KEYコマンドを許可するキーy
EXIT_KEY終了するキーn
PLAIN_OUTPUTプレーンな出力(スピナー無効)False
DISABLED_COMMAND_CATEGORIES無効にするコマンドのカテゴリ

USER_AGENTのデフォルト値

Chromeのバージョンも古い設定なので、気になる方は最新のUAに設定しましょう。

USER_AGENTのデフォルト値
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"

この記事で設定する項目と内容

項目設定内容
OPENAI_API_KEY取得したOpen AIのAPIキー
USER_AGENT“Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36”

【2】.envのLLM PROVIDER設定

次にLLM PROVIDERの設定です。LLM(Large Language Models)の基本的な最低限の設定項目です。

この記事では、
LLM PROVIDERの、TEMPERATUREを1に設定します。

設定項目必須説明デフォルト
TEMPERATUREOpenAIのtemperatureの設定(下記参照)0
OPENAI_ORGANIZATIONNone
USE_AZUREFalse
AZURE_CONFIG_FILEazure.yaml

OpenAIのtemperatureの設定

高い値ほど出力をよりランダムにしますが、低い値はより確定的な出力になります。

値の範囲は0から2で、高い値ほど出力をよりランダムにしますが、低い値はより確定的な出力になります。0の場合は、ほぼ毎回、同じ回答になります。高くしすぎるとランダム性が高くなり意味がわかりにくくなる場合もあります。

今回は、TEMPERATUREは1に設定してみます。

この記事で設定する項目と内容

項目設定内容
TEMPERATURE1

【3】.envのLLM MODELS設定

LLM MODELSは、モデルの最低限の設定項目ですね。

この記事では、
LLM MODELSの設定を変更せずに進めます

設定項目必須説明デフォルト
SMART_LLMSmart language modelの指定gpt-4
FAST_LLMFast language modelの指定gpt-3.5-turbo
EMBEDDING_MODEL埋め込み作成に使用するモデルFalse

【4】.envのSHELL EXECUTION設定

SHELL EXECUTIONは、シェルコマンドの実行を許可、拒否するための設定項目です。

この記事では、
SHELL EXECUTIONの設定を変更せずに進めます

設定項目必須説明デフォルト
SHELL_COMMAND_CONTROLallowlistとdenylistのどちらを使って
シェルコマンドの実行を許可するか。
denylist
SHELL_DENYLISTSHELL_COMMAND_CONTROLが
denylistに設定されている場合、
Auto-GPTで実行を拒否するコマンド
sudo,su
SHELL_ALLOWLISTSHELL_COMMAND_CONTROLが
allowlistに設定されている場合、
Auto-GPTで実行可能なコマンド
None

【5】.envのMEMORY設定

MEMORYは、Auto-GPTが取得したデータをどのようにストアするかの設定です。

この記事では、
MEMORYの設定を変更せずに進めます

設定項目必須説明デフォルト
MEMORY_BACKENDメモリバックエンドの形式json_file
MEMORY_INDEXメモリバックエンドに使用される名前auto-gpt
REDIS_HOSTRedis hostlocalhost
REDIS_PORTRedis port6379
REDIS_PASSWORDRedis password“”
WIPE_REDIS_ON_STARTスタート時にREDISデータをWIPEするかTrue

ざっくりREDISとは

Redisはリモートディクショナリサーバーの略で、オープンソースで高速なインメモリのkey-valueデータストア。

key-valueデータストアですが、複雑なデータも扱えて、メモリ上でデータを管理するため、高速にデータへアクセスできるのが特徴。

【6】.envのIMAGE GENERATION PROVIDER設定

IMAGE GENERATION PROVIDERは、画像を生成する場合の設定項目です。

この記事では、
IMAGE GENERATION PROVIDERの設定を変更せずに進めます

設定項目必須説明デフォルト
IMAGE_PROVIDERImage providerを設定dalle
IMAGE_SIZEImage sizeを設定256
HUGGINGFACE_IMAGE_MODELIMAGE_PROVIDER=huggingface
とした場合の、
Text-to-image modelを指定
CompVis/stable-diffusion-v1-4
HUGGINGFACE_API_TOKENHuggingFace API tokenを設定None
SD_WEBUI_AUTHStable Diffusion Web UIの
username:passwordのペアを設定
None
SD_WEBUI_URLStable Diffusion Web UIのURLを設定http://localhost:7860

ちなみに、Stabule diffusion web UIのインストールや設定については下の記事をぜひご覧ください。

【7】.envのAUDIO TO TEXT PROVIDER設定

AUDIO TO TEXT PROVIDERは、音声からテキストを生成する場合の設定項目です。

この記事では、音声は扱わないので
AUDIO TO TEXT PROVIDERの設定は特に変更せずに進めます。

設定項目必須説明デフォルト
AUDIO_TO_TEXT_PROVIDERAudio-to-text providerの設定huggingface
HUGGINGFACE_AUDIO_TO_TEXT_MODELHuggingFaceを使う場合のモデルの設定CompVis/stable-diffusion-v1-4

【8】.envのGITHUB設定

GITHUBは、GitHubにアクセスする際の設定項目です。

この記事では、
GITHUBの設定は特に変更せずに進めます。

設定項目必須説明デフォルト
GITHUB_API_KEYGithubのAPI keyNone
GITHUB_USERNAMEGithubのユーザー名None

【9】.envのWEB BROWSING設定

WEB BROWSINGは、Auto-GPTがブラウジングする際の設定項目です。

この記事では、
WEB BROWSINGの、GOOGLE_API_KEYとGOOGLE_CUSTOM_SEARCH_ENGINE_IDを設定します。

設定項目必須説明デフォルト
HEADLESS_BROWSERヘッドレスモードでの実行True
USE_WEB_BROWSERseleniumで使用する
ブラウザドライバ
chrome
BROWSE_CHUNK_MAX_LENGTHサイトを要約する
チャンクの長さ
3000
BROWSE_SPACY_LANGUAGE_MODELspaCyでトークナイズする言語en_core_web_sm
GOOGLE_API_KEYGoogle API keyNone
GOOGLE_CUSTOM_SEARCH_ENGINE_IDGoogle custom search engine IDNone

この記事で設定する項目と内容

項目設定内容
GOOGLE_API_KEY取得したAPIキー
GOOGLE_CUSTOM_SEARCH_ENGINE_IDサーチエンジンID

【10】.envのTEXT TO SPEECH PROVIDER設定

TEXT TO SPEECH PROVIDERは、Auto-GPTが音声生成する際の設定項目です。

この記事では、特に音声の合成や生成はしないので
TEXT TO SPEECH PROVIDERの設定は特に変更せずに進めます。

設定項目必須説明デフォルト
TEXT_TO_SPEECH_PROVIDERSPEECH_PROVIDERの設定gtts
STREAMELEMENTS_VOICE使用する音声Brian
ELEVENLABS_API_KEYelevenlabsを使う場合の
Eleven LabsのAPI key
None
ELEVENLABS_VOICE_IDEleven Labsのvoice IDNone

【11】.envのCHAT MESSAGES設定

CHAT MESSAGESは、チャットメッセージを有効にする際の設定項目です。

この記事では、特に音声の合成や生成はしないので
CHAT MESSAGESの設定は特に変更せずに進めます。

設定項目必須説明デフォルト
CHAT_MESSAGES_ENABLEDEnable chat messagesFalse

Auto-GPTを起動する(Dockerなし)

Dockerを使わずにAuto-GPTを起動する方法です。

以下のコマンドでAuto-GPT用のvenv仮想環境を有効にしておきます。


source .venv/bin/activate

では、早速Auto-GPTを起動してみましょう。

Auto-GPTの起動

Auto-GPT用の仮想環境が有効になっている状態で、下のコマンドを実行します。

まずは初回起動のテストも兼ねて、--gpt3onlyを指定して起動します。

初回起動時は必要なpipライブラリがインストールされます。


sh ./run.sh --gpt3only

Auto-GPT起動画面

GPT3.5 Only Mode: ENABLEDとあるので、--gpt3onlyで起動しGPT3.5が有効になっています。

また、デフォルトでは起動時に上の画像ようにNEWSが表示されます。NEWSはAuto-GPTのアップデート等が表示されます。NEWSを表示したくない場合は、--skip-newsを指定して起動します

Enterを押して次に進みます。

Auto-GPTを起動する(Dockerを利用)

Dockerを使ったAuto-GPTの起動方法です。Dockerなしの場合は不要です。

Docker Desktopを起動する

LaunchpadからDocker Desktopを起動します。Dockerをインストールしていない方はインストールして起動します。

もしくは、下のようにコマンドラインから起動することもできます。


open -a Docker

Auto-GPTのDockerイメージを作成する

compose.ymlに従い、Dockerイメージを作成します。compose.ymlgit pullしたままのファイルを使います。

デフォルトのAuto-GPT/compose.yml


version: "3.9"

services:
  auto-gpt:
    build: ./
    env_file:
      - .env
    volumes:
      - ./:/app
      - ./docker-compose.yml:/app/docker-compose.yml:ro
      - ./Dockerfile:/app/Dockerfile:ro
    profiles: ["exclude-from-up"]

docker compose buildします


docker compose build auto-gpt

Auto-GPTのコンテナを作成して起動する

docker compose runします


docker compose run --rm auto-gpt --gpt3only

Auto-GPTの起動オプション

上の例では、起動オプションに--gpt3onlyを指定しました。--gpt3onlyは、GPT3.5のみを使用するオプションです。その他の起動オプションは下のようになります。

起動オプション(省略)起動オプション説明
-c--continuous連続モードを有効にする
-y--skip-reprompt再プロンプトメッセージをスキップする
-C--ai-settings TEXTai_settings.yamlをAuto-GPT ルートディレクトリ
からの相対パスで指定する
-P--prompt-settings TEXT使用するprompt_settings.yamlを指定する
-l--continuous-limit INTEGER連続モードで実行する回数を指定する
--speakSpeakモードを有効にする
--debugdubugモードを有効にする
--gpt3onlyGPT3.5を使用するモード
--gpt4onlyGPT4を使用するモード
-m--use-memory TEXTどのメモリバックエンドを使用するか指定する
-b--browser-name TEXTseleniumを使用して
スクレイピングする際のブラウザを指定する
--allow-downloads注意: Auto-GPTがネイティブにファイルを
ダウンロードできるようにする。
--skip-news起動時に最新ニュースの表示をスキップする
--install-plugin-depsサードパーティプラグインの
外部依存関係をインストール
--ai-name TEXTAI名の上書きする
--ai-role TEXTAIの役割の上書きする
--ai-goal TEXTAIのゴールを上書きする

最後に

最後まで読んでいただきありがとうございます。Auto-GPTをM1/M2のMacで試すはいかがでしたでしょうか。

画像生成AIのStable diffusionと連携も可能なので別の機会にそのあたりを試したいと思います。

MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。

初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。

ChatGPT関連の別の記事

OpenAIライブラリ1系の変更点

neovimでChatGPT

PythonでChatGPTのAPI

MacでChatGPT

MacでChatGPT

VSCodeでChatGPT

LinuxのターミナルからChatGPT

PythonでGPT-3

カテゴリー:
関連記事