こんにちは。だいちゃんです。
趣味で作っている WebSite Assistant や RECITONE といったAIツールをより楽に生み出せるように、開発基盤となる udcxx AI Platform を構築しました。
開発基盤(プラットフォーム)を用意することで、これまでより開発期間を短くすることができ、さらに、プロンプトのブラッシュアップも簡単になるので、よりサービスの質が上がることを期待しています。
今回用意したプラットフォームには、PHPで書かれたAPIをハブとして、以下のような外部システムが含まれています。
苦手意識のある PHPで書かれたAPIです。
udcxx AI Platformのインターフェイスとなり、フロントエンド側からこのAPIをコールするだけで、AIの回答が返ってくるようになっています。
実際には、以下の動作をします:
APIキーなど、フロント側に情報を持たせたくないものも、サーバーサイドで処理されるPHPなら扱うことができるので、ここは泣く泣くPHPで書きました。
エラー処理やログの内容などがまだ甘いので、改良していきたいです。
kintoneのアプリです。
APIキー・model・プロンプトの一式などをまとめたものを「pattern(パターン)」と名付けて管理するようにしました。
フロントエンド側から適切なパターンを呼び出すことで、ツールごとにプロンプトやmodelを自由に選ぶことができます。
また、kintoneアプリとして管理することで、GUI上で簡単に内容の編集ができるため、プロンプトのブラッシュアップが容易になることが最大のメリットです。
AI部分には、引き続きOpen AI APIを利用しています。
GPT-3.5-turboが安くなって嬉しい。
こちらもkintoneアプリです。
Open AI APIへのリクエスト・レスポンスを記録しています。ログもkintone上から確認できるので、ユーザーの利用状況や、意図した回答ができているかが、いままで以上に監視しやすくなりました。
パターンごとの利用数もグラフ機能を使って視覚的に把握できるので、需要に応じて様々な施策も検討できるようになると思います。
AI Platform|AIを使ったWebツール制作のプラットホーム
実際にudcxx AI Platformを利用したWebツールのサンプルもあわせて開発しました。
CSSとJavaScriptは汎用的に使い回せるようにしているので、ライブラリ的に呼び出すことで、新しくツールを作るときの開発期間短縮に貢献します。
さらに、これまでは、過去のツールをコピペして作っていたので、統一感がなかったり、修正のために全ツールを回らないといけなかったのが課題でしたが、ライブラリ化することで、1つのファイルを修正するだけで、プラットフォーム上のすべてのツールをアップデートできるようになりました。
これまでは、Open AI APIの処理にGASを、フロントエンド側では、PHPでGASとのやりとりや、結果の表示をおこなっていました。
特に、PHPで結果画面を作らなきゃいけないことに 苦痛 ハードルを感じていたため、一部をkintoneに移管、フロントエンド側ではFetch APIを使ってSPAっぽく処理するようなプラットフォームとしました。
その結果、PHPで作ったAPIを使い回せるため、新しいツールを立ち上げるときはJavaScript/HTML/CSSを書くだけで済むようになりました。ヤッタネ
現時点では、前述の サンプルツール のみが稼働している状況ですが、今後は、すでに公開済みの以下のツールもプラットフォームに乗せて運用していきたいと思っています。
RECITONE と WebSiteAssistant はスムーズに移行できそうな気がしていて、RECITONE+ はフロント側も凝ってる上に、ファインチューニングされてるので、移行後にちゃんと動くか検証したいなと思っています。
あと、現状Open AI APIのコール前にコケたらログが残らない仕様なので、ログの拡充も進めたいですね。
そして、せっかく作ったプラットフォームなのでガンガン活用して、手当たり次第にツールを生み出していきたいと思います。