前振り
前回n8nの特徴について触れましたが
今回はn8nにてOpenAI使ってRAG構築してみました。
実現すること
いわゆるRAGです。
ユーザからの質問に対して、ChatモデルがDB情報に基づいて回答する構成を作ります。
最終的な構成
作成の流れ
n8nにてユーザ登録
n8nにてユーザ登録
今回は下記から14日間無料クラウド版のトライアルですすめます。
n8n上でフロー作成
登録が完了すると、フロー作成画面が開けるようになります。
今回は大きく2つのフローを作成します。
- RAGに使うためのベクトル化したDB作成するフロー(構成の赤枠部分)
- チャットボットがDBを見て回答するフロー(構成の緑枠部分)
では実際にフロー作成していきます。
RAGに使うためのベクトル化したDB作成するフロー(構成の赤枠部分)
Google drive上のフォルダ変更をトリガーとするため
検索からGoogle driveを探し、選択
ワークフローのスタートトリガーとしてdrive上のフォルダに変更があった場合を選択
「On message received」を選択
Google Drive Triggerの設定画面がでるので下記に沿って記入
事前にGoogle側でCredential発行とGoogleDriveへファイルアップロード(※)が必要です。
※AIagentからが回答の際参考とする情報ファイル
次にGoogle Drive Triggerから呼び出すアクションを作成
Google drive上のファイルをn8nへダウンロードを行うためのアクションを追加
検索からGoogle driveを探し、選択
Download Fileの設定画面がでるので下記に沿って記入
Download Fileから呼び出すアクション(ベクトルDBへの保管)を作成
n8n上に保存したファイルをDBへ保存するアクション
次の手順すすめる前に
ベクトルDBサービスであるpineconeにてインデックス作成が必要なため
少し寄り道して、インデックス作成していきます。
Pinecone vector storesにてインデックス作成1(hanaindexは任意の値でOK)
Pinecone vector storesにてインデックス作成2
インデックス作成できたので、本題に戻ります。
Pinecone vector storesの設定画面がでるので下記に沿って記入
Pinecone vector storesで使用するOpenAIを指定
Pinecone vector storesへ保管する際のチューニング設定
下記に合わせてPinecone vector storesで使用する分割方法を指定
お疲れ様でした、ここまででベクトルDB作成部分まで終了です!!!
次からチャットボットが回答するフローです。(ここからは簡単です)
チャットボットがDBを見て回答するフロー(構成の緑枠部分)
先ほどのベクトルDB作成とは別フローとして
Chat Triggerを作成
AI agentで使用するChataAIモデルとしてOpenAI指定
AI agentから読み込むベクターDBとしてPinecone vector stores指定
下記の通り、事前にPineconeにて作成したインデックスを指定
完成です。
結果
読み込ませた情報を基に回答できています!
まとめ
n8n触ってみましたが、簡単な連携であれば1時間弱でできました。
今回はクラウド版の無料トライアルにて実施できました、面白いサービスでした。