AIのAPIを初めて触ってから約10ヶ月。。仕事の合間に作業を進めていました、ついにAIチャットアプリケーションのOSSを公開することができました。
1ヶ月ほど前に一度公開した後、細かい修正を行い、git hubのソースコードを更新していました。
もう少しきちんと作り込んで公開したかったのですが、他に優先しなければならないこともたくさんあり、とりあえずOSS公開をしようと決意しました。
https://github.com/yuto2245/AgentApp
技術スタック
今回のアプリケーションは実はかなり作り直していまして、初期の頃はAIを使ってフルスタックで作っていました。
ただ、フロントエンドの知識が足りず、状態管理の変数が増えすぎてしまい、思うような安定した動作を実現できていませんでした。
そこで、フロントエンド側はフレームワークを使うことでその問題を解決できるのではないかという発想に至り、Chainlitを使用しました。
このフレームワークはpythonベースで動かす前提となっていたので、バックエンドはpythonを使用しました。
アプリケーションで実現したかったこと
このアプリケーションを使う上で、どうしても実現したいことがありました。
それは、主要なLLMを1つのアプリケーション上で扱えるようにすることでした。
そのために、たくさんの試行錯誤を重ねてきました。
会話の履歴については、データベースを使用していないため、チャット内の直近の会話しか反映されないですがプロトタイプ目的なら問題ないだろうと考えています。
ユーザーはエンジニアやAIに詳しい方を想定していて、システムプロンプトやモデルの追加がソースコード上簡単に編集できるようになっています。
システムプロンプトを変更すると同じモデルでも挙動が全然違うので、たくさんチャットする価値はあるはずです。
(学習モードに最適なプロンプトを探すなどの用途が考えられます)
今後の見通し
このアプリケーションはモデル名の自動更新機能の実装をもって実装完了と目標を立てています。
まだまだ作りたいアプリケーションがあるので、そちらの開発を進めてみたいと思います。