LLM連携アプリ…というかAITuberを作るためのフレームワーク選定
月島のスキルレベルとAITuber構築に使う前提。上に行くほど今回の構築において有望そうだと感じた順番です。
ローカルでのLLM実行が追々可能になった際のローカルLLMとの連携は未調査。
https://github.com/hwchase17/langchain
LangChain Python恐らく2023-03-28時点でのデファクトスタンダード。
LLM関連では恐らく一番多く使われる言語、ライブラリがPythonとtransformersで、大半のモデルをローカルで動かす場合のこれらが最初の選択肢になる事もあって、同じくPython向けのフレームワークなのは相性が良い。
LLMに持たせる記憶部分に当たるMemory、「内容に問題ないかの監査役」「実際に発言を生成する役」という感じでLLMから複数役割を派生させるAgentなどの概念が実装されていて、恐らく今回確認した中では一番機能的にリッチ。
https://github.com/dust-tt/dust
Dust RustREADMEを見ているとデフォルトでSQLite対応な辺りにセンスの良さを感じる。Dust.ttが公式のホスティングサービス?のようだが、プラットフォームへのロックインのかおりを感じるのでLangChainに比べると微妙か。ユーザーによる日本語での資料も現状見当たらない。
https://github.com/BoxcarsAI/boxcars
BoxCar Ruby参考: https://qiita.com/tomoasleep/items/23d3a1d8234f4fda912d
Ruby版LangChainという趣き。LLM部分がOpenAI限定であったり、その他機能的には本家が勝るので、Webアプリが既にあったりRubyで書きたい事情がある場合に選ぶのが良さそう。
https://github.com/logspace-ai/langflow
LangFlow TypeScriptLangChainGUI版。Blenderなどに見られるようなノードベースでの機能実装が可能らしい。機能が本家の一部らしいので興味があれば一緒に触るくらいで良さそう。
言語がTSなのはバックエンドがそのままLangChainでこれ自体はフロントエンドのみだから?
Discussion