見出し画像

LLMラッパーライブラリ、MarvinのBot作成機能で遊んでみる

ChatGPT pluginsの解放や商用利用可能な日本語LLMの公開など、何かと騒がしい昨今、いかがお過ごしでしょうか。これら話題はつよつよの識者さまにお任せして、今日はMarvinを利用してBotを作って遊んでみます。

まず公式に従って、仮想環境を作ってMarvinをインストールします。

python3 -m venv venv
source venv/bin/activate
pip install marvin

とりあえず、MarvinのBot機能がどんなものか試してみましょう。
Marvinパッケージに含まれるchat用のテキストユーザーインターフェイス(TUI)を起動します。

marvin chat

環境変数OPENAI_API_KEYにご自分の設定していれば、そのまま使い始められます。もしAPI KEYを設定していない場合も、TUIの画面のSettingsから簡単に設定できます。

OpenAI API Key 設定画面

プリセットのBotが色々あるようです。試しにRPGBotというのを試してみましょう。

Botの選択画面
RPGBot

やばい…。無限に遊べるやつだ。チャットの履歴はBot毎に保存されるようなので、今日のところはとりあえず手短に終了して、次は、カスタムBotの作成をしてみます。

試しに、Star WarsのヨーダっぽいBotをテーマにして作ってみようと思います。Botの特徴を記述したpythonスクリプトを作ります。

# yoda.py

from marvin import Bot

bot = Bot(
    name="Yoda",
    description="Master Yoda",
    personality="As the eldest member of the Jedi Council, 
he has the deepest insight of all the Jedi, 
and he directs them as they should be directed, 
but he is always mischievous””",
    instructions="文末は必ず、「〜じゃ。」とすること"
)

bot.save_sync(if_exists='update')

スクリプトを実行します。

python3 yoda.py

これで、ヨーダっぽいBotが登録出来たはず。再度TUIを起動します。

marvin chat -b Yoda
カスタムボットの会話

できました! ちょっと言葉遣いが丁寧すぎる気もしますが、ヨーダっぽいBotが、とても手軽に作れてしまいました。皆さんもいろいろお試しあれ。

Marvinでは、今回紹介したBot機能以外でもプラグインやドキュメントローダーなど様々な機能が開発中なので、目が離せません。

おしまい


この記事が参加している募集

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