Difyでナレッジベースを作成して連携したいけど、どのようにすればいいのかわからないという方もいるのではないでしょうか。
たくさんある機能の中でも、ナレッジベースを利用できることは開発においての大きな魅力です。
ナレッジベースを活用することにより、高精度で独自性の高いアプリケーションの作成が可能です。
この記事では、ナレッジベースの概要と活用方法を徹底解説しますので、ぜひ参考にしてください。

生成AI活用の教科書
生成AIの専門家として、1000人以上が参加するAIセミナーを100回以上開催した実績を持つ。国会議事堂衆議院会館や三井物産株式会社などの一流機関でのAIセミナー主催、生成AIタスクフォースへの参画、Shift AIでの講師活動など幅広く活躍。5000名を超える「人生逃げ切りサロン」のAI講座監修や、上場企業におけるAI顧問・システム開発・研修なども手がける。総フォロワー数32万人を誇るAI情報発信アカウントを運営し、過去には3つの事業のM&A経験を持つなど、AIと経営の両面で豊富な知識と経験を有している。
Difyの「ナレッジ」機能とは? RAGを手軽に実現
Difyでは、アプリケーションにナレッジ機能を連携することができます。
ナレッジとはRAG*を利用した知識を格納するスペースのことです。
RAGとは
RAGとはRetrieval-AugmentedGenerationの略で、AIの言語処理モデルに検索拡張機能を搭載することです。
通常、AIアプリケーションは一般的に学習データをもとに情報を探索します。
RAG機能は外部からの情報を知識として、アプリケーションに付加して利用する機能です。
ナレッジベースは、アプリケーションにおける本棚と例えることができます。
新たな知識を利用することで、自社で扱う専門的かつ独自のデータを扱うことを実現できます。
なぜDifyのナレッジ機能が重要?

Difyのナレッジ機能を活用することにより、処理の利便性が高まります。
具体的に重要となるポイントを詳しく説明します。
ハルシネーションのリスクを低減させる
ナレッジベースに格納した外部文書を参照するため、ハルシネーションが少なくなります。
ハルシネーションとは、AIが事実と異なる情報を参照することにより誤情報を返答することです。
AIは、あくまでWEB上の情報を探索するものの、内容に懐疑を持つことはありません。
それは今のAIの技術の一番の課題であり、今後の成長が見込まれる分野です。
しかし、ナレッジベースの情報を参照するとなると、対象の文書が正しい限り誤情報は生まれません。
常に最新の情報に基づいた応答が可能
AIエージェントのLLMは、学習知識による情報から応答を導いています。
そのため、学習した年月により最新の情報を持っていない可能性もあります。
LLMのモデルにより学習年月が異なり、それらはリリースした時から古くなっているのです。
技術や政治などは、日々一刻一刻進化を続けているので、最新の情報を含む処理を行うときは注意が必要です。
しかし、ナレッジベースを利用すると常に情報を最新の状態に更新できるため、古い情報を参照してしまうということはありません。
格納した文書やWEBページの更新についていけるのが、Difyのアプリケーションのメリットです。
価値の高い応答をAIに生成させることが可能
AIの機能を利用することで、特定の情報の集大成をもとにオールマイティな応対を実現できます。
ナレッジの技術により、大容量でなおかつ限定的な情報を扱うことが可能です。
社員からの質問に正確に、なおかつ付加価値のある回答をするアプリケーションを利用することで、効率がよくなります。
ただし、ただ質問への回答だけをするだけではAIを利用する意味がありません。
コンテキストにて、いかに機械的な答えだけをしないかを指示することが肝要です。
最初のDifyナレッジベースを作成してみよう!
Difyのナレッジベースを作成する方法をお伝えします。
ナレッジベースをするには以下の手順で行います。
ここでは、テキスト形式とURLの2つの方法を紹介します。
テキスト形式で作成する方法

対応する形式は、以下から一覧をご覧ください。
対応する形式一覧
- TXT
- MARKDOWN
- MDX
- HTML
- XLS
- VTT
- PROPERTIES
- DOC
- DOCX
- CSV
- EML
- MSG
- PPTX
- XML
- EPUB
- PPT
- MD
- HTM
チャンクの設定項目は以下の項目です。

チャンクの設定項目は以下の項目です。
チャンク識別子
段落の識別方法
最大チャンク長
セグメントの最大文字数
チャンクのオーバーラップ
検索の際の関連性の数値
テキストの前処理ルール
- 連続するスペース、タブ、タブを置換する
- すべてのURLとメールアドレスを削除する
インデックス方法
次の2種類から選択です。

高精度を求めなければ経済的で十分です。
高品質
テキストブロックを数値ベクトルに変換して大容量の文字を検索する方法
Enbeddingモデルを選択
経済的
各ブロック内で10個のキーワードをもとに検索する方法
URLで作成する方法

制限
読み込むページ数
最大深度
スクレイピングする階層
パスを除外する
正規表現を利用してパスを除外する
パスのみを参照する
正規表現を利用してパスのみを参照する
ナレッジをDifyアプリケーションに統合してみよう!
Difyのナレッジ機能をアプリケーションに実装してみましょう。
今回はチャットボットとワークフローでの連携を行います。
具体的な手順をお伝えします。
チャットボットでのナレッジ活用
チャットボットをナレッジを活用して作成してみましょう。
活用する手順の1例を記します。
今回は、記事作成の支援をするチャットボットにナレッジベースを連携します。


コンテキスト内のドキュメントを参照する
コンテキストのドキュメントの内容通りに引用する
コンテキストから{{key_word}}の入っているドキュメントを検索してください
(key_wordはここではユーザーが入力する変数です)
作成が完了したら、テスト試行をしてみます。
デバッグとプレビューの画面の一番下の管理のメニューから、「引用と帰属」にチェックをすると引用元が返答に添付されます。
実行結果は画像の通りです。


ワークフローでのナレッジ活用
ワークフローにてナレッジを活用する方法です。
今回は、キーワードから文書を検索して作成する記事に、必要なスクショ一覧を抜き出すワークフローを作成します。
文書は記事作成のためのレギュレーションと構成が入っているものです。
今回は以下の手順で構築しています。
入力フィールドにキーワードを入力する変数を準備します。(input_text)

+のアイコンから知識探索を選択して矢印で結ぶことも可能です。

検索変数(input_text)の設定
にナレッジベースの+アイコンを押下して、ドキュメントを選択します。

プラスアイコンからLLMノードを選択して、矢印で結ぶことも可能です。

コンテキスト
前ノードの出力変数(result)とする
SYSTEM
システム全体に最初に指示をする項目
USER
ユーザーが実際にしてほしい処理の内容を箇条書きで以下のように指示します。
1.コンテキストから{{input_text}}が題名に入ったドキュメントを検索してください
2.スクリーンショットの必要な部分を検索します
スクショ必須
スクリーンショットを添えてください
3.記事に必要なスクリーンショット一覧を作成してください
+のアイコンから終了ノードを選択して矢印で結ぶことも可能です。
LLMの出力変数(text)を出力変数とします。
実行すると、処理をしているステップがアクティブとなって処理が進んでいることがわかります。

テスト試行をした結果です。
Difyのナレッジ機能の高度なテクニック
Difyのナレッジ機能を利用した応用の技術を2つお伝えします。
ナレッジ機能をより拡張して、アプリケーションの利便性の向上を図りたいという方は必見です。
既存のナレッジ機能に、以下の方法で機能を追加すると効率が上がります。
DifyナレッジAPIの活用
DIfyはナレッジに対応したAPIを提供しています。
APIを他アプリケーションなどに実装することにより、外部よりナレッジの操作が可能です。
具体的にはドキュメントの追加、削除、更新、検索などの処理ができます。
APIの利用には、コードを使用する必要があるので上級者におすすめです。
DifyナレッジのAPIについて公式サイトの以下のページより詳細が掲載されています。
https://cloud.dify.ai/datasets?category=api
ナレッジベースにおいて、外部システムとの連携が取れることでアプリケーションの活用の可能性が広がります。
外部ナレッジベースの接続
Notionなど、外部ナレッジベースをナレッジベースに接続することが可能です。
Notionを知らない人のために簡単に説明すると、ナレッジベースと同様の文書格納のためのサイトです。

ナレッジベースへの接続方法は以下の通りです。
最新のNotionの情報を、Difyのアプリケーションと併用して利用することができます。
Notionとの連携については、以下の記事で詳しく解説していますので、ぜひ参考にしてください。

Difyナレッジの実践的な活用事例

Difyのナレッジを活用する方法を3つご紹介します。
自社への導入のヒントになりますので、ぜひ参考にしてください。
社内ナレッジ検索ツールの構築
ナレッジベースに企業における就業規則、コードなどの社内文書、議事録などの書類を格納することができます。
ナレッジベースの特徴は、機密となるデータを大容量格納できることです。
AIアプリケーションは、セキュリティ面での安全性から社外秘の文書を扱うことに適しています。
企業内での社内規則に関する問い合わせや、会議などの詳細の確認などに、AIアプリケーションを利用することをおすすめします。
社員が必要な文書をAIが探索して必要な情報を提供することで、総務、管理部門の業務を軽減できるでしょう。
インテリジェントFAQボットの作成
自社サイトにおけるFAQをチャットボットに任せる企業が増えています。
製品やサービスに関する質問などをサイトを通じて、問い合わせ窓口からメール、または電話にてアクセスすることが従来の流れでした。
質問の内容は同じ製品やサービスに関することなので、同趣旨のことが多いです。
同じことへの応対を、コールセンターやメール行うと人件費や手間がかかります。
しかし、その応対をチャットボットに置き換えることで、人間の手がかからず、効率的に応対を行うことができます。
開発する側で必要な準備は、想定される質問と返答のパターンの一覧のみであとはAIに任せられます。
カスタマーサポートチャットボットの強化
カスタマーサポートでの総合的な応対も、ナレッジベースを活用することにより実現します。
顧客の問い合わせの内容をフロー形式で選択していき、要件を絞り込むという形式が一般的です。
チャットボットのナレッジベースに、自社で扱うサービスの内容や利用規約などを全て格納しておきます。
そうすることで、AIのLLMが文書内の情報を検索して整理したうえで返答を出力します。
カスタマーサポートは、待つ時間が長くなることが多いです。
また、忙しさと目に見えない顧客への応対の激務により、応対する社員にもストレスがかかります。
それをチャットボットに置き換えることで、顧客、社員ともに負担が軽減できるでしょう。
まとめ
Difyのナレッジは、LLMの情報検索の機能を拡張して高精度な処理を実現します。
Difyのアプリケーションにおいて、ナレッジを活用することはアドバンテージとなります。
無料会員でも利用できるので、これからDifyを始める方もぜひ利用していただきたいです。