大規模言語モデル(LLM)を色々とタスクを解決させることができる。思い通りに動かすには結構大変だ。
ド素人ながら、LangChainを使うと簡単に機能を盛り込むことができる。大変便利だ。しかし、色々と自分で勉強しようとプロンプトを弄ったりすると整合性が保ててるのか自信がなくなる。
という訳で、シンプルでかつ面白いBabyAGIにチャレンジしてみることにした。
classicディレクトリーにあったWebSearchと連動できるBabyCatAGIが面白そうなので、こちらをベースに弄ってみることとした。
- OpenAIのAPIは制限が厳しいので、ratelimitエラーがでるので時間をおいてリトライ。
- 検索で得られた情報に目的の情報が含まれてない場合はブランクに
- 検索クエリー(キーワード)を選定するプロセスを追加
- 英語も日本語も対応
- serpapiは実験していると無料をすぐに使い切るので変更
と、細々と手を入れて見ながら動作を確認。日本語での動作もざっと動かした限りは問題なし。難しいなぁと思うのは日本語と英語のtoken問題。日本語だとmaxtokenを超えがちなので調整が必要になる。maxtoken超えの処理がまだ必要そう。
日本語と英語では、英語の方が賢くタスクを設定できているような気がする。検索クエリを選定する工程が必要かもと思って追加。
BabyCatPerisianと名付けて保存っと。
GPT-3.5-turboを使って実験しているが、GPTモデルって重い。OpenAIのサーバーが重いということもあるだろうけど、手元のPCで軽々動くわけでもない。これからのタスク特化とか高速化が楽しみ。