見出し画像

Google Colab で BabyAGI を試す

「Google Colab」で「BabyAGI」を試したので、まとめました。

1. BabyAGI

BabyAGI」は、タスク駆動型自律エージェントのフレームワークです。ゴールに基づいてタスクの作成、優先順位付け、および実行を行います。主なアイデアは、前のタスク結果とゴールに基づいてタスクを作成することです。「Task-Driven Autonomous Agent」 (Mar 28, 2023)の簡易版になります。

「BabyAGI」は、次の手順を無限ループすることで機能します。

(1) タスクリストから最初のタスクを取得。
(2) タスクを実行エージェントに送信。実行エージェントは、「OpenAI API」を使用して、タスク結果を取得。
(3) 結果を充実させ、「Pinecone」に保存。
(4) 新しいタスクを作成し、ゴールと前のタスク結果に基づいてタスクリストの優先順位を付け直す。

2. Colabでの実行

Colabでの実行手順は、次のとおりです。

(1) パッケージのインストール。

# パッケージのインストール
!git clone https://github.com/yoheinakajima/babyagi.git
%cd babyagi
!pip install -r requirements.txt

(2) 環境変数の準備。
以下のコードの <OpenAIのAPIキー> にはOpenAI APIのAPIキー(有料)、<PineconeのAPIキー>には、PineconeのAPIキー(無料版あり)を指定します。

# 環境変数の準備
import os

# API CONFIG
os.environ["OPENAI_API_KEY"] = "<OpenAIのAPIキー>"
os.environ["OPENAI_API_MODEL"] = "gpt-3.5-turbo"
os.environ["PINECONE_API_KEY"] = "<PineconeのAPIキー>"
os.environ["PINECONE_ENVIRONMENT"] = "us-west1-gcp"

# TABLE CONFIG
os.environ["TABLE_NAME"] = "test-table"

# INSTANCE CONFIG
os.environ["BABY_NAME"] = "BabyAGI"

# RUN CONFIG
os.environ["OBJECTIVE"] = "Solve world hunger"
# For backwards compatibility
# FIRST_TASK can be used instead of INITIAL_TASK
os.environ["INITIAL_TASK"] = "Develop a task list"

# Extensions
# List additional extensions to load (except .env.example!)
os.environ["DOTENV_EXTENSIONS"] = ""
# Set to true to enable command line args support
os.environ["ENABLE_COMMAND_LINE_ARGS"] = "false"

(3) BabyAGIの実行。
今回のゴールは、環境変数で設定した「Solve world hunger」(世界の飢餓を解決する)です。

【注意】停止しないと実行し続けて、OpenAI APIを使い続けるので、停止するのを忘れずに。

# BabyAGIの実行
!python babyagi.py

(4) 停止ボタンで止める。

3. 出力結果

出力結果の最初の方を翻訳したものは、次のとおりです。

世界の飢餓を解決する
初期タスク: タスク リストの作成

*****タスクリスト*****
1: タスク リストを作成する

*****次のタスク*****
1: タスク リストを作成する

*****タスクの結果*****
1. 現在の世界の食料生産と流通システムに関する調査を実施する。
2. 食料不安の影響を最も受けている地域とコミュニティを特定します。
3. 特定された地域やコミュニティにおける食料不安の根本原因を分析します。
4. 食料生産を増やすために、食料不安地域で持続可能な農業慣行を開発および実施する。
5. 地元の組織や政府と提携して、困っている人々に食料資源を配布します。
6. 食料不安のあるコミュニティにおける栄養と調理に関する教育プログラムを開発し、実施する。
7. 地方、国、および世界レベルでの政策変更と農業および食料安全保障への投資を提唱する。
8. 世界の飢餓を解決するという目的を達成するために、実施された解決策の有効性を監視および評価し、必要に応じて戦略を調整します。

*****タスクリスト*****
1: 地球規模の食料生産と流通システムに対する気候変動の影響に関する研究を実施し、その影響を緩和するための戦略を策定します。
2: 食品の安全性が確保されていない地域で持続可能な食品の保管および保存方法を開発および実施し、食品廃棄物を削減します。
3: 食料不安の影響を受けるコミュニティに食料援助と支援を提供する組織を特定し、提携する。
4: 食料不安の影響を受けている地域で食料生産を増やすことができる革新的な農業慣行に関する研究を実施する。
5: 小規模農家を支援し、促進する政策を提唱する

*****次のタスク*****
1: 地球規模の食料生産と流通システムに対する気候変動の影響に関する研究を実施し、その影響を緩和するための戦略を策定します。

*****タスクの結果*****
AI として、気候変動が世界の食料生産と流通システムに与える影響について研究を行うことができます。 さまざまなデータと情報源を使用して、食料生産と流通システムの現状と、気候変動の影響に対する脆弱性を分析できます。 この分析に基づいて、食料生産と流通システムに対する気候変動の影響を緩和するための戦略を立てることができます。

考えられる戦略には次のようなものがあります。

1. 干ばつに強い作物の使用や水管理システムの改善など、気候変動の影響に強い持続可能な農業慣行の開発と実施。

2. 食料生産および流通システムからの温室効果ガス排出を削減するために、再生可能エネルギー源の採用を奨励する。

3. 極端な気象現象の影響を受ける可能性のある長距離輸送および流通システムへの依存を減らす地域の食料システムを促進する。

4. 精密農業や垂直農業など、食料生産と流通システムを改善できる新技術の研究開発への投資を増やす。

5. 食料生産と流通システムにおける農家やその他の関係者の教育と訓練へのアクセスを改善し、彼らが変化する気候に適応するための知識とスキルを確実に身に付けられるようにする。

これらの戦略やその他の戦略を実行することで、気候変動が世界の食料生産と流通システムに及ぼす影響を緩和し、最終的には世界の飢餓の解決に貢献することができます。

*****タスクリスト*****
    :

関連



この記事が気に入ったらサポートをしてみませんか?