WSLのUbuntu環境でDify動かしてみた
Dockerインストール
👇を参考にDocker desktopをインストール
なんか怒られたが、コマンドプロンプトに下記のコマンドでUbuntuのVersionを2にしたら動いた
wsl --set-default-version 2
Doker Desktopの設定が良くなかった。Docker desktopとWSLの統合設定をしてあげればOK
余談:Docker desktop有料化に伴って、WSL2のUbuntuに直接Dockerを導入するパターンもあるらしい
Dify起動
cd ./dify/docker
docker compose up -d
http://localhost にアクセスしてアカウント登録、ログイン
右上のユーザーから設定を開き、モデルプロバイダーからLLMのAPI Keyを設定(今回はOpenAIをセッティング)
RAGの作成
実際にRAGのアプリを作成する
フローの作成
最初から作成を選んで、チャットボットとChatflowを選択
ナレッジの作成
LLMが参照するナレッジを作成する
手元にあったスクラムガイドをナレッジに突っ込んでみる
ナレッジからナレッジ作成してみると、テキストファイル以外にもNotionからの同期やFirecrawlでのクローリングもデータソースとして使えるみたい
ファイルをアップロードして次の画面に行くと、テキストの処理方法などが選択できる画面に移る。チャンキングの設定やEmbedding、検索方法の設定が出来る。今回はデフォルトのままで。
(最初インデックスモードを「経済的」にしたら、検索しても何もヒットしないナレッジが出来上がったのでやめた)
設定完了するとEmbedding処理が開始され、処理が完了するとステータスが利用可能となり、ナレッジとして参照できるようになる。
作成したナレッジは左のメニューの的当てアイコンから検索テストも行える
ナレッジをフローに組み込む
LLMの前に知識取得モジュールを追加して、ナレッジに先ほど作ったスクラム開発のナレッジを追加
LLMのモジュールでは、使用するモデルを選択する。
また、コンテキストの部分に知識取得モジュールからの結果を受け取るように設定した上でユーザープロンプトにコンテキストを書き込むようにする。
必要があればシステムプロンプトを書いておく。
これで大体完成。
デバッグとプレビューから、試しにチャットを送るとスクラム開発について解説してくれる。
感想
ポチポチするだけでRAGが出来るので相当簡単になったなという感想。
(自前でRAGを実装したことが無いので、あんまり言う権利が無さそう)