0
0

Dify使ってRAG作ってみた

Last updated at Posted at 2024-08-03

WSLのUbuntu環境でDify動かしてみた

Dockerインストール

👇を参考にDocker desktopをインストール

image.png
なんか怒られたが、コマンドプロンプトに下記のコマンドでUbuntuのVersionを2にしたら動いた

wsl --set-default-version 2

Doker Desktopの設定が良くなかった。Docker desktopとWSLの統合設定をしてあげればOK
image.png

余談:Docker desktop有料化に伴って、WSL2のUbuntuに直接Dockerを導入するパターンもあるらしい

Dify起動

cd ./dify/docker
docker compose up -d

http://localhost にアクセスしてアカウント登録、ログイン
右上のユーザーから設定を開き、モデルプロバイダーからLLMのAPI Keyを設定(今回はOpenAIをセッティング)
image.png

RAGの作成

実際にRAGのアプリを作成する

フローの作成

最初から作成を選んで、チャットボットとChatflowを選択
image.png

作成するを押すと、GUIでフローが組める画面になる
image.png

ナレッジの作成

LLMが参照するナレッジを作成する
手元にあったスクラムガイドをナレッジに突っ込んでみる

ナレッジからナレッジ作成してみると、テキストファイル以外にもNotionからの同期やFirecrawlでのクローリングもデータソースとして使えるみたい
image.png

ファイルをアップロードして次の画面に行くと、テキストの処理方法などが選択できる画面に移る。チャンキングの設定やEmbedding、検索方法の設定が出来る。今回はデフォルトのままで。
(最初インデックスモードを「経済的」にしたら、検索しても何もヒットしないナレッジが出来上がったのでやめた)
image.png

設定完了するとEmbedding処理が開始され、処理が完了するとステータスが利用可能となり、ナレッジとして参照できるようになる。
image.png

作成したナレッジは左のメニューの的当てアイコンから検索テストも行える
image.png

ナレッジをフローに組み込む

出来上がりの図はこんな感じ
image.png

LLMの前に知識取得モジュールを追加して、ナレッジに先ほど作ったスクラム開発のナレッジを追加
image.png

LLMのモジュールでは、使用するモデルを選択する。
また、コンテキストの部分に知識取得モジュールからの結果を受け取るように設定した上でユーザープロンプトにコンテキストを書き込むようにする。
image.png
必要があればシステムプロンプトを書いておく。

これで大体完成。
デバッグとプレビューから、試しにチャットを送るとスクラム開発について解説してくれる。
image.png

感想

ポチポチするだけでRAGが出来るので相当簡単になったなという感想。
(自前でRAGを実装したことが無いので、あんまり言う権利が無さそう)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0