Skip to main content

Dify統合

概要

Dify はオープンソースの大規模言語モデル(LLM)アプリケーション開発プラットフォームです。バックエンド・アズ・ア・サービス(Backend as Service)と LLMOps の理念を融合し、開発者が生産レベルの生成AIアプリケーションを迅速に構築できるようにします。

SERVICEME が提供する serviceme-rag-dify プラグインは、SERVICEME の強力な企業向け検索強化生成(RAG)機能をツールとして Dify のワークフローやアプリに提供し、ユーザーが Dify 内で安全に企業ナレッジベースにアクセスし、コンテキスト検索や質問応答を実行できるよう支援します。

主な機能は以下を含みます:

  • SERVICEME ワークスペースに対してハイブリッド、ベクトル、またはキーワード検索を実行。
  • 構造化された回答、メタデータ、ワークスペースコンテキストを返し、後続ノードでの処理を容易に。
  • ワークスペース範囲、類似度閾値、ハイブリッド重み、リランキングモデルの設定をサポートし、企業のガバナンスポリシーに適合。
  • OAuthトークンの状態を自動管理し、トークン更新後もツール呼び出しを保証。

最低バージョンと前提条件

  • 最低対応バージョン:Dify ≥ 1.9.0。
  • アクセス可能な SERVICEME 環境で OpenAPI 権限が有効。
  • SERVICEME OpenAPI 認証ガイド に従い作成した OAuth2 資格情報(client_idclient_secret、ユーザーアカウント)。
  • カスタムプラグインのインポートおよび設定が可能な Dify ワークスペース権限。

プラグインのインストール

Marketplaceからのインストール

  1. Dify コンソール右上の Plugins > Install plugin > Marketplace をクリック。

  2. 検索ボックスに SERVICEME RAG と入力し、Enter。

    1760404492148

  3. 最初の結果(SERVICEME RAG)にマウスをホバーし、Install をクリック。

  4. インストール完了後、成功メッセージが表示され、プラグインが Plugins リストに自動追加されます。

    1760404541818

GitHubからのインストール

  1. Dify コンソール右上の Plugins > Install plugin > GitHub をクリック。

    1760341147767

  2. serviceme-rag-dify リポジトリのURL https://github.com/medalsoftchina/serviceme-rag-dify を入力し、次へ をクリック。 1760341264672

  3. 対応するバージョンとプラグインファイルを選択し、次へ をクリック。

    1760341328820

  4. インストール完了後、Plugins リストにプラグインが表示されていることを確認。

    1760341403956

ローカル difypkg からのインストール

  1. GitHub リポジトリの Release ページから最新の serviceme-rag-dify.difypkg をダウンロード。

  2. Dify コンソールで Plugins > Install plugin > Local Package Plugin を選択し、ダウンロードしたパッケージをアップロード。

  3. インストール成功メッセージが表示されたら完了。

    1760341611838

いずれのインストール方法も機能は同一です。ネットワークポリシーに応じて適切な方法を選択してください。

OAuth2 認証の設定

SERVICEME プラグインは OAuth2 を用いて SERVICEME OpenAPI リソースにアクセスします。以下の手順で設定してください:

  1. SERVICEME 管理画面のスーパ管理者インターフェースに入り、システム管理者がクライアント管理画面 {domain}#/super-admin/client-management で資格情報を作成し、client_idclient_secret を生成。

    1760342955196

  2. Dify コンソールでプラグインをクリックし、サイドバーの Use OAuth Authorization を選択。

    1760342001680

  3. Vendor Configuration に SERVICEME 環境の情報を入力し、Save and Authorize をクリック:

    • Base URL:SERVICEME ドメイン(プロトコル含む)、例:https://example.serviceme.com
    • Client Id / Client Secret:クライアント管理画面で取得した資格情報。
    • Account:OpenAPI 呼び出しに使用する SERVICEME ユーザー名。

    1760341944086

  4. 保存後、正しく設定されていれば緑色の認証成功表示が出ます。プラグインは /openapi/auth/client_with_account を呼び出してアクセストークンを取得し、トークン期限切れ時に自動更新します。

    1760342139073

認可制御を簡素化するため、OAuthの認可範囲はユーザーロールによるSERVICEMEのデータ可視範囲で制御可能です。詳細はOpenAPI章を参照してください。

DifyでSERVICEME RAGツールを呼び出す

  1. Difyの Studio に移動し、Chatflowワークフローを作成、名前をTest SERVICEMEとする。

    1760342428907

  2. キャンバス上で Add Node > Tools > serviceme-rag をクリック。

    1760342539915

  3. Query String および/または Keywords を入力するとノードが実行可能に。

    1760342726979

  4. デバッグ対話を実行し、ツールの返却結果が期待通りか確認。

パラメータ説明

serviceme-rag ツールをノードに追加後、以下のパラメータで検索動作を調整可能:

入力項目説明
query任意、自然言語クエリ。未入力時は keywords と併用可能。
keywords任意、キーワードを | で区切る。
workspaces任意、検索対象を限定する SERVICEME ワークスペースIDの配列。
top_k必須、返却結果数。
rag_object必須、検索対象:bothqna または doc
rag_mode必須、検索モード:hybridembedding または fulltext
min_similarity任意、類似度閾値、範囲 0~1、デフォルト 0.8。
metadata_filter任意、メタデータフィルター、現在は default をサポート。
weights任意、ハイブリッド検索用の RRF 重みを設定する JSON。
reranker任意、リランキングモデル名を指定。空欄でリランキング無効。
注意:SERVICEME環境でリランキングモデル未有効の場合は必ず空欄にしてください

ベストプラクティス

  • 異なる業務シナリオごとに独立した OAuth2 クライアントとスコープを作成し、権限逸脱リスクを低減。
  • Dify のバージョン管理機能を活用し、本番環境公開前にサンドボックス環境でプラグイン設定を検証。
  • 定期的にプラグインログを確認し、呼び出し異常を早期発見。

よくある問題のトラブルシューティング

  1. 認証失敗
    • client_idclient_secret が正しいか確認。
    • スコープを付与したアカウントが該当SERVICEME環境で正しいロールを持つか確認。
    • Dify サーバーが SERVICEME アドレスにアクセス可能か確認。
  2. ツール呼び出しでデータが返らない
    • バインドしたデータソースが同期完了しているか確認。
    • 検索パラメータ(類似度閾値、返却数など)を調整。
    • 呼び出しアカウントが対象データへのアクセス権限を持つか検証。
  3. プラグインインストール異常
    • Dify プラグインログでエラー内容を確認。
    • ローカルインストールの場合、difypkg ファイルが完全で Dify バージョンと互換性があるか確認。
    • 最新版パッケージを再ダウンロードして再試行。
  4. サードパーティ署名
    • Dify サーバーがセルフホスティングでサードパーティプラグイン署名を要求する場合、Medalsoft (SoftwareOne subsidiary) の担当営業に連絡し、署名用公開鍵ファイルを取得してください。

さらなる参考資料