🤖

SlashGPT webの紹介

2024/04/03に公開

SlashGPTとは

SlashGPT中島聡が開発したChatGPTなどのLLMエージェントを手軽に開発するためのツールです。SlashGPTを使えば、jsonファイルを記述するだけでChatGPTを使ったLLM AI エージェントやチャットアプリを手軽に、簡単につくることができます。

SlashGPT webとは

SlashGPTのmanifestをweb上で編集し、web上で動作確認するツールです。manifestと呼ばれるプロンプトの動作を定義するファイルをfunction callingの機能をWeb上で作成、確認できます。
作成したmanifestはダウンロード可能で、Python版やTypeScript版のSlashGPTでプログラムから利用可能です。

動かすためには、Node.js、ブラウザ、OpenAIのAPI Keyが必要です。

インストール

GitHub上でMITライセンスで公開されています。

https://github.com/isamu/slashgpt-web

cloneします。

git clone https://github.com/isamu/slashgpt-web.git

packageをいれる

yarn install

起動

yarn run serve

動作

画面は2024/04/03現在です。日々開発中ですので、画面や機能は随時変わっていきます。

起動時してブラウザで開きます。画面は左側がプリセットのmanifestデータ、真ん中がmanifestの編集画面、右がLLMとのチャット画面です。

真ん中あたりにOpenAIのAPI keyを入力する部分があります。OpenAIのサイトからAPI Key取得し入力してください。ブラウザのlocalStorageに保存するので、我々のサーバ等に送られることはありません。localで同じポートで起動するサービスには注意してください。
その他のデータも2023/4/3現在、全てlocalStorageに保存しています。

上に戻り、左側の「論文レビュー」のボタンを押します。プリセットの論文解説のmanifestがロードされ、form部分の項目にデータがセットされます。

右側にsampleのプロンプトが表示されています。これはmanifestに設定されているsampleのプロンプトで、Set Sampleを押すとチャットのユーザメッセージ部分に入力されます。テストのために、まずこのボタンを押してチャットメッセージをセットしてください。
その後、Sendボタンを押すと、LLMに問い合わせを開始します。

LLMの処理が終わるとGPTからのメッセージが表示されます。

このマニュフェストは、論文を読んで、その論文の概要をまとめるプロンプトです。Sampleには「Attention Is All You Need」のabstractが入力されていて、その論文の概要が結果として返ってきています。

論文のまとめにはfunction callingを使っていて、LLMに対してfunctionで指定した項目を整理するように命令し、その結果をさらにformatしてLLMで最終的な文章にまとめるようにしています。

このように、オンライン上でfunction callingを使ったAI Agentが簡単に作成可能です。

function callingの結果を使ってAPIを叩いたり、GraphQLを使うことも可能となっています。

Function calling

function callingは、LLMに投げるfunctionsと、LLMから戻ってきた結果を使ってSlashGPTで実行するactionsの2つの設定が必要です。SlashGPT webでは、Functionのメソッドを追加すると、functionsとactionsの両方に項目が追加されるようになっています。
actionsでrest apiやGraphQLを使う場合CORSの問題でAPIエラーになる場合があります。その場合は、mockのapiを実装するなどして、CORSのエラーがでない環境を用意してください。

まとめ

以上で、SlashGPT webの動作を説明しました。SlashGPT webはオープンソースで自由に使うことが出来ます。
フィードバックやPRをGitHubにお願いします。

シンギュラリティ・ソサエティ

Discussion