今回はAgentGPTの構築手順についてまとめていきたいと思います。
結論、普段からNode.jsを中心に触っていることもあり、スムーズに導入から利用までを体験することができました。
AgentGPTについて
AgentGPTとは
AgentGPTは、自律型AIエージェントの設定とデプロイが可能なオープンソースのプロジェクトとなります。自分だけのカスタムAIに名前を付け、目標を設定することが可能です。AIはタスクを考え、実行し、その結果を学習することで、目標達成に向けて進んでいきます。
例えば、文章の作成や画像生成など、さまざまなタスクに取り組むことができます。AgentGPTは、AIの設定から学習までをシームレスに行えるようにすることで、より使いやすい自律型AIを実現しています。
つまりは以下の作業を全て自動でおこなってくれる優れものです。
- 「〇〇を作って(考えて)」と目標を与える(指示)
- 必要なタスクを洗い出し、それらを順番に実行
- ChatGPTの結果を利用し、さらにタスクを追加したり、実行を繰り返す
ロードマップ
AgentGPTは現在ベータ版となります。今現在以下に取り組んでいるそうです。
- ベクトルDBによる長期記憶
- Langchainを使用したWebブラウジング機能
- ウェブサイトや人々とのインタラクション
- ドキュメントAPIによるライティング機能
- エージェントの実行結果の保存
- ユーザーと認証
- インフラコストを低価格帯の有料版にStripeを利用して統合
AgentGPTの構築方法
READMEに記載されている方法としては、下記3つで構築することが可能です。
- Dockerによる起動
Dockerが利用できる状態であれば一番簡単 - セットアップ用のスクリプトによる起動
スクリプトを実行するのみ - 手動による起動
各コマンドを手動で実行
実装の流れ
OSSとして公開されているリポジトリをコピー
READMEに従って各種インストールやコマンド実行
起動コマンドを実行してブラウザで立ち上げ
実際に指示を出して動作を確認
開発環境
- Node.js:
v18.15.0
- npm:
v9.5.0
- TypeScript:
v4.9.5
- OS:
MacOS Monterey
構築手順
基本的にはリポジトリのREADMEに記載されている構築手順に沿っていますので、詳しくはREADMEを参照してください。
Githubからリポジトリをクローン
まず初めに下記Githubリポジトリをクローンしていきます。
- 右上の「Fork」ボタンをクリックし、自身のGithubアカウント内にリポジトリを作成
git clone
コマンドでローカル上にリポジトリをコピー
$ git clone git@github.com:YOU_USER/AgentGPT.git
環境構築
1. パッケージのインストール
$ cd AgentGPT
$ npm install
2. 環境変数のセット
.env
ファイルを作成し、APIキーなどをセットします。
#envファイルのコピー
$ cp .env.example .env
#NEXTAUTH_SECRETにセットするランダム文字列を生成
$ openssl rand -base64 32
# Deployment Environment:
NODE_ENV=development
# Next Auth config:
# Generate a secret with `openssl rand -base64 32`
NEXTAUTH_SECRET='直前で生成した文字列を入れる'
NEXTAUTH_URL=http://localhost:3000
# Prisma
DATABASE_URL=file:./db.sqlite
# External APIs:
OPENAI_API_KEY='ここに自身のAPIキーを入れる'
DBのセットアップ
アプリケーション内で既に用意されているDBのセットアップコマンドを実行
$ ./prisma/useSqlite.sh
$ npx prisma db push
アプリケーションの起動
最後に起動コマンドを実行すればアプリケーションが起動されます。
$ npm run dev
> agent-gpt@0.1.0 dev
> next dev
ready - started server on 0.0.0.0:3000, url: http://localhost:3000
info - Loaded env from /Users/YOU_USER/Github/AgentGPT/.env
event - compiled client and server successfully in 2.6s (288 modules)
Attention: Next.js now collects completely anonymous telemetry regarding usage.
This information is used to shape Next.js' roadmap and prioritize features.
You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
https://nextjs.org/telemetry
動作検証
http://localhost:3000
にアクセスすると下記画面が表示されます。
自身のOpenAPI Keyを入力してSaveを実行してください。
次に「Name」と「Goal」が入力できる画面となりました。
Nameは任意の値を入れてあげれば問題ないです。
Goalの方に具体的な指示を入れてあげてください。
入力完了後、「Deploy Agent」を実行すれば、あとは自動でタスクの生成からタスクの実行までが走り続けます。
補足
- Saveコマンドを実行すると画像が出力される
- Copyボタンを押すと、文章がテキストでコピーされる
- 25ループを超えると下記メッセージが表示される
This agent has been running for too long (25 Loops). To save your wallet, and our infrastructure costs, this agent is shutting down. In the future, the number of iterations will be configurable.
まとめ
導入から利用までは非常に簡単に構築できたかと思います。
自分自身もまだ使いこなせていないので、これから色々試していき活用していこうかと思います。
少しでも皆さんの参考になれば幸いです。
ChatGPTに関する記事は他に書いていますので、もしよかったら覗いてみください。