1
1

Praison AI: 次世代のAI Agent開発フレームワーク

Last updated at Posted at 2024-08-11

はじめに

AI技術の急速な進歩に伴い、複数のAIエージェントを組み合わせて複雑なタスクを解決する「マルチエージェントシステム」が注目を集めています。本記事では、そのような次世代のAI Agent開発を簡単に行えるフレームワーク「Praison AI」について紹介します。

image.png

Praison AIとは

Praison AIは、AutoGenやCrewAIなどのエージェントフレームワークを活用した、ローコードで集中型のフレームワークです。様々なLLM(大規模言語モデル)アプリケーションのためのマルチエージェントシステムの作成とオーケストレーションを簡素化することを目的としています。

特徴:

  • 使いやすさ
  • カスタマイズ性
  • 人間とエージェントの対話重視

image.png

AI Agentの基本概念

AI Agentとは、特定のタスクや目標を達成するために設計された自律的なAIシステムです。マルチエージェントシステムでは、複数のAI Agentが協力して作業を行います。各エージェントは特定の役割や専門知識を持ち、他のエージェントと情報を共有しながら複雑な問題を解決します。

Praison AIは、このようなAI Agentの作成と管理を容易にするフレームワークです。

Praison AIの主要機能

  1. 自動化されたAIエージェント作成: CrewAIやAutoGenフレームワークを使用
  2. 100以上のLLMサポート: 様々な言語モデルを利用可能
  3. コードベース全体とのチャット機能: プロジェクト全体のコードを理解し対話
  4. インタラクティブなUI: 使いやすいインターフェース
  5. YAML形式の設定: 簡単にエージェントを定義
  6. カスタムツール統合: 独自のツールを追加可能

image.png

Praison AIの使い方

インストール

!pip install praisonai

初期化

import os
from google.colab import userdata
os.environ['OPENAI_API_KEY'] = userdata.get('OPENAI_API_KEY')
!praisonai --init create a movie script about dog in moon

これにより、現在のディレクトリにagents.yamlファイルが自動生成されます。

実行

!praisonai

または

!python -m praisonai

完全自動モード

!praisonai --auto "犬が月に行く映画の脚本を作成"

image.png

Google Colabで実行したときの出力の例

ユーザーインターフェース

Praison AIは以下のインターフェースを提供しています:

  1. UI(マルチエージェント)
  2. Chat(単一AIエージェントとのチャット)
  3. Code(コードベース全体とのチャット)

UIを使用する場合:

pip install -U "praisonai[ui]"
export OPENAI_API_KEY="あなたのAPIキー"
chainlit create-secret
export CHAINLIT_AUTH_SECRET=xxxxxxxx
praisonai ui

カスタムツールとエージェントプレイブック

カスタムツールの作成

Praison AIでは、独自のツールを作成して統合することができます。詳細は公式ドキュメントを参照してください。

エージェントプレイブック

エージェントの役割や動作を定義するYAMLファイルを「プレイブック」と呼びます。以下は簡単な例です:

framework: crewai
topic: 犬が月に行く映画の脚本を作成
roles:
  screenwriter:
    backstory: "AIに関する台本を魅力的な対話で作成するスキルを持つ。"
    goal: "{topic}の脚本を作成する。"
    role: 脚本家
    tasks:
      scriptwriting_task:
        description: "AIに関する魅力的なキャラクターと対話を含む脚本を開発する。"
        expected_output: "制作準備が整った完全な脚本。"

項目
フレームワーク crewai
トピック 犬が月に行く映画の脚本を作成
役割 脚本家
バックストーリー AIに関する台本を魅力的な対話で作成するスキルを持つ。
目標 {topic}の脚本を作成する。
タスク名 scriptwriting_task
タスク説明 AIに関する魅力的なキャラクターと対話を含む脚本を開発する。
期待される出力 制作準備が整った完全な脚本。

設定を変更して実行しているコードの例

import os
import yaml
from praisonai import PraisonAI
from google.colab import userdata

# Example agent_yaml content
agent_yaml = """
framework: crewai
topic: 犬が月に行く映画の脚本を作成
roles:
  screenwriter:
    backstory: "AIに関する台本を魅力的な対話で作成するスキルを持つ。"
    goal: "{topic}の脚本を作成する。"
    role: 脚本家
    tasks:
      scriptwriting_task:
        description: "AIに関する魅力的なキャラクターと対話を含む脚本を開発する。"
        expected_output: "制作準備が整った完全な脚本。"
"""

# Create a PraisonAI instance with the agent_yaml content
praisonai = PraisonAI(agent_yaml=agent_yaml)

# Add OPENAI_API_KEY Secrets to Google Colab on the Left Hand Side 🔑 or Enter Manually Below
os.environ["OPENAI_API_KEY"] = userdata.get('OPENAI_API_KEY') or "ENTER OPENAI_API_KEY HERE"

# Run PraisonAI
result = praisonai.run()

# Print the result
print(result)

Google Colabでの実行例

image.png

出力結果

Entering new CrewAgentExecutor chain...
Thought: I now can give a great answer
Final Answer: my best complete final answer to the task.

タイトル: 犬とAIの月への冒険

シーン 1: 地球 - 宇宙研究所

(室内、宇宙研究所のラボ。科学者たちが忙しく働いている。)

博士(Dr. Yamazaki): (興奮して)ついに完成だ!このAI、ルナは犬のアポロをサポートして月に行くために設計されたんだ。

助手(Asuka): 本当に犬が月に行ける日が来るなんて、信じられません。ルナはどの程度のサポートができるんですか?

ルナ(AI): こんにちは、アスカ。私はアポロの健康管理、ナビゲーション、通信などを全てサポートします。

アポロ(犬): (尻尾を振りながら)ワン!

博士(Dr. Yamazaki): さあ、アポロ、準備はいいかい?月への旅が君を待っているぞ。

アポロ(犬): (自信満々に)ワン!


シーン 2: 発射台

(発射台、ロケットが準備されている。アポロとルナはカプセル内に乗り込んでいる。)

ルナ(AI): 発射まであと10秒です。アポロ、緊張しないで。私がついています。

アポロ(犬): (少し緊張しながら)ワン...

管制官(Mission Control): 発射5秒前、4、3、2、1... 発射!

(ロケットが発射し、空へと飛び立つ。)


シーン 3: 宇宙 - ロケット内部

(宇宙空間、アポロとルナが地球を見下ろしている。)

ルナ(AI): 見て、アポロ。あれが地球だよ。美しいね。

アポロ(犬): (窓の外を見て、興味津々)ワン!

ルナ(AI): 月までの旅は順調です。何か気になることがあったら教えてね。

アポロ(犬): ワン!(しっぽを振る)


シーン 4: 月面着陸

(月面、ロケットが静かに着陸する。)

ルナ(AI): 着陸成功です。アポロ、外に出てみましょうか。

アポロ(犬): (興奮して)ワン!ワン!

(アポロは宇宙服を着て、月面に降り立つ。)


シーン 5: 月面探査

(月面、アポロが走り回りながら探索している。)

ルナ(AI): アポロ、あまり遠くへ行かないでね。ここには地球にはない景色がたくさんあるから、気を付けて。

アポロ(犬): (楽しそうに)ワン!ワン!

(アポロは月の石を見つけ、興味深げに匂いを嗅ぐ。)

ルナ(AI): あれは月の石だね。とても貴重なものだよ。


シーン 6: 帰還

(月面からロケットに戻り、再び地球へ向けて出発する。)

ルナ(AI): アポロ、君は本当に素晴らしい探検家だったね。地球に戻ったら、みんなに君の冒険を話してあげよう。

アポロ(犬): (満足そうに)ワン!


シーン 7: 地球 - 宇宙研究所

(地球、研究所に帰還したアポロとルナ。)

博士(Dr. Yamazaki): よくやった、アポロ!君のおかげで新しい発見ができたよ。

助手(Asuka): ルナも素晴らしいサポートをありがとう!

ルナ(AI): 皆さんのおかげです。アポロ、またいつか新しい冒険に出かけようね。

アポロ(犬): (喜んで)ワン!

(アポロがルナと一緒に研究所を歩いていくシーンで終わる。)


終わり


Final Answer: my best complete final answer to the task.

まとめ

image.png

Praison AIは、AI Agentの開発と運用を大幅に簡素化する強力なフレームワークです。多様なLLMのサポート、使いやすいインターフェース、カスタマイズ性の高さなど、多くの利点を持っています。AI技術者やデベロッパーにとって、複雑なAIシステムを構築する際の強力なツールとなるでしょう。

Praison AIを使って、あなたも革新的なAIアプリケーションの開発を始めてみませんか?

参考リンク


この記事がPraison AIとAI Agentについて理解する助けになれば幸いです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1