Dify RAG|コードレビューをローカルLLMで回す構成例

Dify RAGでコードレビューをローカルLLMで回す構成例を示すアイキャッチ画像
悩んでる人

コードレビューをAIにやらせたいけど、コードを外部のAPIには送りたくないんだよね…

情シス あおい

Dify(ディファイ)とRAG、ローカルLLMを組み合わせれば実現できます。

DifyとRAGを組み合わせると、社内の規約をふまえたレビューを自動化できます。

とはいえ、Difyのナレッジ機能だけでは、コードレビュー専用の構成までは一直線につながりません。

そこで、PR作成からレビュー投稿までを一本の構成図として整理しました。

今回は、Dify RAGでコードレビューを回す構成例を紹介します。

この記事でわかること
  • PRの作成から差分取得・レビュー・コメント投稿までの一連の流れ
  • GitHubとGitLabで連携の仕組みが異なるという正確な理解
  • コードレビューに使うモデルを選ぶときのライセンスの境目

先に構成の全体像だけ知りたい方はDify RAGでコードレビューを回す基本構成からどうぞ。

※本記事はDify公式ドキュメントの記載にもとづく構成例です(2026年10月確認)。実際に構築・動作検証したものではありません。

目次

Dify RAG|コードレビューを回す基本構成の全体像

Dify RAGでコードレビューを回す基本構成の全体像を示す図解。PR作成・差分取得・ナレッジ検索とレビュー・コメント投稿という4つの工程を矢印でつないでいる

Dify RAGでコードレビューを回す構成は、PR作成をきっかけに差分を取得し、レビューしてコメントを返す一連の流れです。

全体の流れ|PR作成から差分取得・レビュー・コメント投稿まで

  1. GitHubの公式トリガープラグインが、Pull Requestイベントを検知してワークフローを起動する
  2. ツールプラグインが差分ファイルを取得し、レビュー対象のコードを渡す
  3. ナレッジ検索ノードが、登録済みの規約やレビュー指摘集から関連情報を検索する
  4. LLMノードが差分とナレッジを読み、レビューコメントを生成する
  5. 生成したレビューを、ツールプラグインがPRへ投稿する

この一連の流れは、公式プラグインの組み合わせだけで実現できます。

ローカルで完結させる理由|AIコードレビューをクラウドに頼らない構成

AIコードレビューをクラウドAPIに任せると、差分コードはどこに送られるのでしょうか。

ローカルLLMとDifyを自前でホストすれば、コードを外部に出さずにレビューできます。

悩んでる人

精度は大丈夫なの?クラウドのAIの方が賢そうだけど…

情シス あおい

規約やレビュー指摘集をナレッジ化すれば、現場に合った指摘ができます。

この構成の軸になるのは、コードを外部に出さずに検証できるという点です。

Difyのライセンスとセルフホスト要件|商用利用できる条件

Dify RAGを使う前に確認するDifyのライセンス条件を示す図解。マルチテナント運用、ロゴ・著作権表示、セルフホスト要件という3つの確認点を並べている

Difyのライセンスは、Apache License 2.0を改変した独自のオープンソースライセンスです。

ライセンスの基本的な内容|商用利用は原則可能

Difyのライセンスは、他社アプリのバックエンドとしての利用も、企業向けプラットフォームとしての利用も商用利用として許可しています。

ただし、特定の条件に当てはまる場合は、別途商用ライセンスが必要です。

ライセンス全文は、Dify公式GitHubリポジトリのLICENSEファイルで確認できます。

商用利用の分かれ目|マルチテナント運用とロゴ表示

条件は2つです。マルチテナント運用と、ロゴ・著作権表示の変更です。

  • マルチテナント運用:1テナント=1ワークスペースを超える運用には、Dify側の許可が必要
  • ロゴ・著作権表示:Difyのフロントエンドを使う場合、コンソールやアプリ内の表示を削除・変更できない
悩んでる人

個人開発なら、何も気にしなくていいの?

情シス あおい

マルチテナントで提供せず、ロゴ表示も変えない使い方なら、この2条件には当たりません。

個人・1チームでのセルフホスト・1テナント運用なら、この2条件には触れません。

フロントエンドを使わない運用では、ロゴ表示の条件自体が対象外になります。

セルフホストの最小要件|Docker Composeでの起動条件

Difyのセルフホストには、Docker Compose v2.24.0以降が必要です。

  • CPU:2コア以上
  • RAM:4GiB以上
  • macOS:Docker仮想マシンに仮想CPU2個以上・メモリ8GiB以上を割り当てる

この要件の詳細は、セルフホスト公式手順に明記されています。

この要件はDify本体用で、ローカルLLM推論用のGPU・VRAMは別枠です。

DifyをDockerで動かす場合、Ollamaへの接続URLにlocalhostは使えません。

代わりにhost.docker.internalか、LAN上のIPアドレスを指定します。

どちらのツールで動かすか迷ったときの判断材料は、OllamaとLM Studioの違いです。

コードレビュー用ナレッジの作り方|規約をRAGで検索させる仕組み

Dify RAGのコードレビュー用ナレッジの作り方を示す図解。規約・指摘集をチャンク化し、埋め込みモデルで検索できる状態にする流れを表している

コードレビュー用のナレッジは、コーディング規約や過去のレビュー指摘集をDifyに登録してつくります。

登録するナレッジの中身|コーディング規約と過去のレビュー指摘集

ナレッジに向くのは、社内のコーディング規約と、過去のレビューで指摘した内容をまとめた文書です。

Difyは、Markdownやdocx、PDF、csvなど複数の形式を自動で振り分けて取り込みます。

1回のアップロードは最大5ファイル、ファイルサイズは15MBまでという制限があります。

チャンクとインデックスの設定|作成後は変更できない項目に注意

チャンク化には汎用モードと親子モードがあり、作成後にモードは変更できません。

親子モードの親チャンクを全文モードにすると、処理されるのは最初の10,000トークンだけです。

インデックスも高品質とエコノミーの2種類があり、高品質からエコノミーへは戻せません。

この2項目の詳細は、インデックス設定の公式ドキュメントで確認できます。

まずエコノミーで試し、精度が足りなければ高品質に切り替える順番が安全です。

埋め込みモデルの選び方|embeddinggemmaはGemma利用規約

高品質インデックスのベクトル化には、検索用の埋め込みモデルを使います。

スクロールできます
埋め込みモデルライセンス商用利用
embeddinggemmaGemma利用規約条件付き可
qwen3-embeddingApache License 2.0可
all-minilmApache License 2.0可
nomic-embed-textApache License 2.0可

embeddinggemmaはGemma 3ベースで、Gemma利用規約が適用されます(2026年10月確認)。

Gemma 4はApache 2.0化されましたが、embeddinggemmaは対象外です。

ライセンスを気にせず使うなら、qwen3-embeddingやall-minilmなどApache 2.0の埋め込みモデルも選べます(2026年10月確認)。

検索方式とRerankの注意点|Ollamaにはネイティブ機能がない

スクロールできます
検索方式概要Rerank
ベクトル検索クエリをベクトル化して近いチャンクを検索任意(無効時は並べ替えなし)
全文検索キーワードを含むテキストを逆引き検索任意
ハイブリッド検索ベクトル+全文を同時実行し重み付けかRerankで統合重み付けかRerankのどちらかが必須

TopKとスコアしきい値は、Rerankを有効にしないと効きません。

Ollamaには、ネイティブのRerankエンドポイントがありません。

Rerankを使うなら、llama.cpp・vLLM・TEI・Xinferenceのいずれかで別途サービスを立てる必要があります。

GitHub連携|Dify公式トリガープラグインでPRごとに自動レビュー

GitHub連携の仕組みを示す図解。PRトリガー・差分取得・レビュー投稿という3つの工程を矢印でつないでいる

GitHubで使えるのは、Pull Requestイベントで自動起動する公式トリガープラグインです。

トリガーの仕組み|Webhookの自動作成とイベントの種類

公式のgithub_triggerプラグインが、Webhookの作成からシークレット生成、署名検証まで自動化します。

認証はOAuthが推奨ですが、Personal Access Tokenでも構いません。

対応している主なイベントは、pull_request・issues・push・check_runです。

この仕組みは、dify-official-pluginsという公式リポジトリで確認できます。

Pull Requestイベントを選べば、PRが作成されるたびに自動起動する仕組みです。

差分取得からコメント投稿まで|使う4つのツール機能

  • github_pull_detail:PRの詳細情報を取得する
  • github_pull_files:PRの差分ファイルを取得する
  • github_pull_comments:既存のPRコメントを取得する
  • github_create_pull_review:レビュー結果をPRに投稿する

この4つを組み合わせれば、差分取得からレビュー投稿までワークフロー内で完結できます。

GitLab連携|Webhookトリガーとワークフロー実行APIで代替する

GitLab連携の代替手段を示す図解。Webhookトリガーとワークフロー実行APIという2つの経路を並べている

GitLabには、GitHubと同じ専用トリガープラグインはありませんが、別の方法で同等の仕組みを作れます。

専用プラグインがない理由|確認済み17種のトリガーの対象外

Dify公式のトリガープラグインは17種類確認できましたが、GitLab向けは含まれていません。

一方で、GitLabツールプラグイン自体は存在し、コミットやマージリクエストの操作に使えます。

2026年10月時点の確認であり、今後追加される可能性はあります。

Webhookトリガーで代替する|汎用の受け口

DifyのWebhookトリガーノードは、外部システムからのHTTPリクエストを受けて起動する汎用的な受け口です。

GitLab側は「Settings > Webhooks」の画面から、このURLを登録すれば同じ構成が作れます。

CI/CDからAPIを呼ぶ方法|ワークフロー実行APIという選択肢

GitLab CI/CDのパイプラインから、Difyのワークフロー実行APIを直接呼ぶ構成も可能です。

公式の具体的なYAMLサンプルは見当たらないため、パイプラインの記述は自作が前提になります。

「GitLabは未対応」ではなく、受け口の作り方が違うだけというのが正確な理解です。

レビューモデルの選び方|CodestralとDevstralでライセンスが分かれる

コードレビュー用のレビュー生成モデルのライセンスを示す図解。CodestralはMNPL、DevstralとQwen3-Coder-NextはApache 2.0であることを並べている

コードレビューに使う生成モデルは、同じ開発元でもライセンスが割れています。

Codestralは商用不可|MNPLの非本番限定ライセンス

スクロールできます
モデルライセンス商用利用
Codestral-22B-v0.1MNPL(非本番限定)不可
Devstral-Small-2507Apache License 2.0可
Qwen3-Coder-NextApache License 2.0可

Codestral-22B-v0.1は、Mistral AI Non-Production License(MNPL)です。

テスト・研究・個人利用の非本番環境限定で、商用提供は明示的に禁止されています。

コードレビューのおすすめモデルとして、無条件には使えません(2026年10月確認)。

商用可の選択肢|DevstralとQwen3-Coder-NextはApache 2.0

Devstralは、Codestralと同じMistral AI製ながらApache License 2.0です。

Qwen3-Coder-Nextも同じくApache 2.0で、商用利用が可能です。

商用でコードレビューを回すなら、現時点ではこの2系統が現実的な選択肢です(2026年10月確認)。

動かせるVRAMの目安は、VRAM別に動かせるモデル一覧のとおりです。

繋ぐモデル自体を広く比較したい場合は、ローカルLLMおすすめモデル比較も参考になります。

Dify RAGコードレビューに関するよくある質問

Dify RAGコードレビューに関するよくある質問をまとめました。

Dify RAGはコードレビューに対応していますか?

ナレッジ機能とワークフローを組み合わせれば、コードレビュー用の構成を作れます。

GitHub公式プラグインを使えば、PR作成から投稿までを自動化できます。

Difyは無料で商用利用できますか?

マルチテナント運用とロゴ表示の変更をしない限り、商用利用が可能です。

この2条件に当てはまる場合は、別途商用ライセンスが必要です。

GitLabでも同じ構成を作れますか?

専用のトリガープラグインはありませんが、Webhookトリガーかワークフロー実行APIを使えば同等の仕組みを作れます。

OllamaでRerankは使えますか?

Ollama単体には、ネイティブのRerank機能がありません。

llama.cppやvLLMなどで、別途Rerankサービスを立てる必要があります。

Codestralはコードレビューに使っていいですか?

MNPLの非本番限定ライセンスのため、商用のコードレビューには使えません。

商用利用ならDevstralやQwen3-Coder-Nextが代替になります(2026年10月確認)。

まとめ|Dify RAGでコードレビューを回す構成のポイント

Dify RAGでコードレビューを回す前に整理しておきたい点を、ここまでの内容からまとめました。

この記事のまとめ

基本構成:PR作成→差分取得→ナレッジ検索とLLMレビュー→コメント投稿の4工程で完結します。

ライセンス:Difyは商用利用可能ですが、マルチテナント運用とロゴ変更には別途ライセンスが必要です。

GitHub/GitLab:GitHubは公式トリガープラグインがあり、GitLabはWebhookかAPIで同等の構成を作ります。

ナレッジ設計:コーディング規約と過去のレビュー指摘集を登録し、検索方式とRerankの要否を確認します。

モデル選定:Codestralは商用不可、DevstralとQwen3-Coder-Nextが商用利用できる代替です。

応用として、Dify+画像生成を組み合わせ、レビュー指摘からワイヤーフレーム素案を作る使い方も考えられます。

接続するツールやモデル選びで迷ったら、以下もあわせて確認してみてください。

参考資料
Dify公式サイト
Dify公式GitHubリポジトリ
Dify公式プラグインリポジトリ
Ollama公式サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次