🔖

Dify × ナレッジパイプライン 実施手順

に公開

Difyバージョン

  • 1.9.0

実施手順

  1. Dify の ナレッジパイプラインから作成する
  2. Google Drive プラグインの認証設定
  3. Notion, Jina Reader , Firecrawl プラグインの認証設定
  4. Dify のナレッジパイプラインの画面に戻り、続きの設定を実施する
  5. 動作確認

1. Dify の ナレッジパイプラインから作成する

  • dify のトップページの画面上部の「ナレッジ」、左側にある「知識パイプラインを作成する」をクリックします。

  • Difyによって事前設定された公式ナレッジベーステンプレートの「組み込みパイプライン」が選択できます。今回は、「インテリジェントQ&A生成(LLM Generated Q&A)」を試してみます。
    QA形式のデータを作成してくれます。

  • 自動で必要なプラグインがインストールされるので、そのあと、各プラグインの詳細ページにある手順に沿って設定します。

  • 既にパイプラインが作成されています。

2. Google Drive プラグインの認証設定

Difyのプラグイン詳細ページの手順に従って、設定します。
https://marketplace.dify.ai/plugins/langgenius/google_drive?source=https%253A%252F%252Fcloud.dify.ai&language=ja-JP&theme=system

  • Google Cloud プロジェクトを作成します。

https://console.cloud.google.com/

  • 新しいプロジェクトをクリックします。

  • サイドバーの「APIとサービス」、「有効なAPIとサービス」を選択します。

  • 「APIとサービスを有効にする」をクリックします。

  • 「Google Drive API」をクリックします。

  • APIを有効にします。

  • サイドバーの「APIとサービス」の「認証情報」をクリックします。

  • 「認証情報を作成」、「OAuthクライアントID」をクリックします。

  • 右下の「同意画面を構成」をクリックします。

  • サイドバーの「ブランディング」、「開始」をクリックします。

  • 「アプリ名」、「ユーザーサポートメール」に自身のメールアドレスを入力して、「次へ」をクリックします。

  • 「外部」をクリックします。

  • 「Google API ・・・」のチェックボックスにチェックを入れて、「続行」をクリックします。

  • 「作成」をクリックします。

  • 「OAuthクライアントを作成」をクリックします。

  • 「アプリケーションの種類」、「名前」を公式の手順に沿って入力します。「承認済みのリダイレクトURI 」には、以下のURIを入力し、作成ボタンを押します。
    https://cloud.dify.ai/console/api/oauth/plugin/langgenius/google_drive/google_drive/datasource/callback

  • クライアントID、クライアントシークレットをコピペしておきます。Dify 側でのちに使用します。

  • 「JSONをダウンロード」して、安全な場所に保管しておきます。

  • サイドバーの「OAuth同意画面」をクリックします。

  • サイドバーの「データアクセス」をクリックして、「スコープを追加または削除」をクリックします。

  • 以下のOAuth スコープを追加します。

    • https://www.googleapis.com/auth/drive.readonly
      • すべてのファイルを表示およびダウンロード
    • https://www.googleapis.com/auth/drive.metadata.readonly
      • ファイルのメタデータを表示する

  • 「Save」を押して保存します。

  • サイドバーの「対象」のテストユーザーの「Add users」をクリックします。

  • 自分のGmail を入力します。

  • テストユーザーに自身のメールアドレスがあることを確認します。

  • Dify のナレッジパイプラインの画面に戻って、データソースのGoogle Drive を選択して、接続を押します。

  • 自動で設定のデータソースのページに遷移するので、各データソースの設定をします。

  • さきほど取得したClientID , Client Secret を入力します。

  • 「アカウントを選択してください」画面で、Dify に紐づけたいGoogleアカウントを選択します。

  • 「このアプリは Google で確認されていません」警告画面で、「続行」を押すとテストユーザーとして進めます。

  • 「dify.ai が Google アカウントへのアクセスを求めています」画面で、以下設定したスコープ(権限)を許可します。

    • drive.readonly(ファイル閲覧・ダウンロード)
    • drive.metadata.readonly(メタデータ閲覧)
  • データソースの設定画面で、CONNECTEDになっています。

3. Notion, Jina Reader , Firecrawl のプラグインの認証設定

  • 「設定」「データソース」の画面で、残りのプラグインの認証設定を、プラグインの詳細ページの手順に従って、設定します。
  • Notionは、以下の公式プラグインのページに記載の「方法1」の「APIキーを発行する」手順に沿って設定しました。

https://marketplace.dify.ai/plugins/langgenius/notion_datasource?source=https%253A%252F%252Fcloud.dify.ai&language=ja-JP&theme=system

  • Jina Reader プラグインも、マーケットプレイスの詳細画面からAPIキーを取得し、設定します。

https://jina.ai/

https://marketplace.dify.ai/plugins/langgenius/jina_datasource?source=https%253A%252F%252Fcloud.dify.ai&language=ja-JP&theme=system

  • Firecrawlプラグインのマーケットプレイスの詳細画面からAPIキーを取得します。

https://www.firecrawl.dev/app/api-keys

https://marketplace.dify.ai/plugins/langgenius/firecrawl

4. Dify のナレッジパイプラインの画面に戻り、続きの設定を実施する

  • デフォルトで、「claude3.5-sonnet」 が設定されています。システムプロンプトが英語であるため、日本語に変換しました。

  • また、claude の仕様で、ユーザーメッセージが必須のため、追加します。デフォルトのままユーザーメッセージがない状態だと実行時エラーになりました。

  • システムプロンプト

ユーザー入力テキストに基づいて、Q&Aペアのリストを生成してください。
出力は Markdown テーブル形式で提示し、1列目は通し番号、2列目は質問、3列目は回答としてください。
また、このテーブル形式は CSV ファイルに容易に変換できるようにしてください。

### 出力例
| Index | Question      | Answer                                                                     |
| ----- | ------------- | -------------------------------------------------------------------------- |
| 1     | 文書の主な目的は何ですか? | この文書は、会社の新製品発売戦略について説明しています。 ![image](https://cloud.dify.ai/files/xxxxxxx) |
| 2     | 製品はいつ発売されますか? | 製品は今年の第3四半期に発売されます。                                                        |

### 指示
* 入力テキストを読み取り、理解すること。
* 重要な情報を抽出し、意味のある質問と回答を生成すること。
* 入力テキストに含まれる ![image] URL を回答に保持すること。
* 質問は簡潔かつ具体的にすること。
* 回答は正確で、自己完結的かつ明確であること。
* 追加の説明は行わず、Markdown テーブルのみを出力すること。
  • Knowledge Base の埋め込みモデルを OpenAIの埋め込みモデルに変更しました。(デフォルトの jina-embeddings-v2-base-en の場合、ナレッジベースをインデックス化する際にエラーが発生したため)

5. 動作確認

  • テストランを押します。
  • データソースを選択します。
  • 「プロセス」ボタンを押下して、エラーが出ないことを確認します。
  • 次に、右上の「公開する」ボタンから 公開ボタンを押します。
  • 「確認」ボタンを押します。
  • 「ドキュメントを追加 … 」を押します
  • 複数のデータソースを選択できます。今回は Google Drive を試してみました。
  • Google Drive のデータが Dify のナレッジベースに登録できたことを確認しました。

参考サイト

Discussion