2025/05/12
DifyのチャットボットにWebサイトのコンテキストを読み込ませる
背景
こちらの記事で超簡単にチャットボットを作成しましたが、もっと精度の良いものを作成してみたくなりました。
今まではプロンプト上でサイトURLを指定して読み込ませていましたが、
コンテキストとしてサイトの情報を保存して回答させてみたいと思います。
ナレッジにWebサイトの情報を登録する
Difyのナレッジ登録ページでWebサイトのデータをデータソースとして登録することができます。
今回はJina Readerを使用してみたいと思います。
Jina Readerとは?
以下AIの出力です。
Jina Reader(ジーナ・リーダー)は、Jina AIが提供するドキュメントやデータの読み取り・解析用のツールやライブラリのひとつです。用途や文脈によって「Jina Reader」が指すものが異なる場合がありますが、一般的には以下のような特徴があります。
主な特徴
多様なデータソース対応
テキストファイル、PDF、画像、ウェブページなど、さまざまなデータソースから情報を抽出できます。AIによる情報抽出
自然言語処理(NLP)や機械学習技術を活用し、単純なテキスト抽出だけでなく、意味解析や要約、質問応答なども可能です。Jinaフレームワークとの連携
Jinaは検索や類似性検索のためのAIフレームワークであり、Readerはその一部として、データの前処理やインデックス作成のために使われます。Pythonライブラリとして利用可能
Pythonで簡単に導入でき、他のAIツールやフレームワークと組み合わせて使うことができます。代表的な用途
ドキュメント検索システムの構築
FAQボットやチャットボットの知識ベース作成
大量の文書からの自動要約や情報抽出
画像やPDFからのテキスト抽出
Jina ReaderのAPIキーを取得する
まずはJinaReaderにサインアップします。
サインアップすると自動的にAPIキーが作成されるので保存しておきます。
(赤く塗りつぶしてある部分です)

Difyのナレッジページで設定する
ナレッジ登録画面からJina Readerを選択してAPIキーを入力します。

APIキーの設定が完了するとJina Readerの設定ができるようになります。
今回は以下のような設定で試してみたいと思います。
(無料プランの場合、複数ページで作成できなかったためサブページのクロールは外しました。)

実行して次のページに進むと、ナレッジベース作成の設定がありますが、そのままデフォルトで作成します。
成功するとナレッジベースに登録されます。
チャットボットに登録する
既存のチャットボットシステムにナレッジを登録してみます。
対象のアプリの設定画面でコンテキストに作成したナレッジベースを登録します。
加えて、プロンプトも変更してみます。

プレビューでテストしてみます。

適切な回答ができていないように感じます。。
まとめ
今回はDifyで作成したチャットボットにコンテキストを登録して検索させてみました。
結果は期待した結果にはなりませんでしたが、プロンプトの調整を行って改善していきたいと思います。