1.はじめに
お正月休みにLangChainの本を読んでいると、FlowiseAIというGUI中心にLLMアプリを作成できるツールを発見しました。
GPTsやLLM作成便利ツールはちょっとカスタム性が低くて物足りないけど、自分でコード書くのも面倒という人にぴったりのツールでした。ちょうど中間ポジションにいるようなツールで便利でした!
さっそく、先日作ったツールなど再現してみました。
2.FlowiseAIとは
ネット上にいろいろ情報があるので参照ですが、感想としては、documentloaderや、ouputparserなど、LLMのアプリに必要なパーツをinput/ouputで繋げていけば、LLMアプリが完成する、という感じでした。
下図の線を繋げていくイメージです。ツールの構成やつなぎ方はLangChainっぽくて馴染みがあります。
テンプレートも用意されているので、そこからやりたいことに近いテンプレートを選んでカスタムできます。
3.試してみてみた
前に作成した、google patentsのurl情報から、ほしい観点の情報を抽出する、というLLMアプリを作成してみます。
(1)githubのソースのclone
ローカルにcloneする方法もありますが、github codespaceが便利なので使います。
CodeボタンからCodespaceを選んで実行するだけでOKです。
公式のとおり
npm install -g flowise
npx flowise start
で始まります。こんな感じ↓
(2)テンプレートから近そうなのを選ぶ
MarketPlaceから、urlを読み込むのテンプレートを見つけます。たぶんこれですね。
なんか大仰な感じの構成ですが、今回の目的からすると全部は使わないでしょう。右上のUse Templateで自分のところに持ってきます。
(3)各設定
①API keyの設定
まずはOpenAIEmbeddingの部分でCredentialの設定です。これはOpenAIのAPIkeyを取ってきて、設定するだけです。名前はなんでもよかったです。他のOpenAIツールのCredentialなども設定します。
②Redis-Backend Chat Memoryは不要なので消します(なくても、デフォルトでbuffermemoryが使われるとのこと)。
③vectorstoreをpineconeからin memoryへ
pineconeがAPIキー設定が必要だったので、in memory vectorstoreに差し替えました。vector databaseは色々ありますが、とりあえず外部でデータに入れなくてもいいので、in memoryを選びました。
(4)つなぎかえ結果
線が変わっているのがわかるでしょうか?pineconeは消します。
(5)url設定
Cherrio Web ScraperのURLを解読したいgoogle patentsのurlに変更します。
ついでのChatOpenAIも性能が良さそうなgpt-4-1106-previewnへ変更します。
(6)実行
右側のChatボタンで、チャットを開始してみます。質問は日本語ではうまく理解してくれなかったので、英語でして、日本語で回答してもらいます。
結構いい感じに抽出してくれていますね。APIとしてサーブすることも可能だったので、もう少し作り込めば今までコードを書いていた部分をだいぶ楽にしてくれそうです!
最終的な形はこんな感じです。作成したフローのexport/importができるので、codespaceが消えても復元ができました。
4.その他
FlowiseAIはYCombinatorから出資を受けているくらい有望視されているので、今後も注目していきたいと思います。
Comments