Dify の使い方:AIアプリとエージェントを迅速に構築するための実践ガイド
複雑なコードと格闘することなく、すぐに本番環境で使用できるAIチャットボット、検索拡張QAシステム、または自動エージェントを構築したいと思ったことがあるなら、Dify はあなたのために構築されています。ビジュアルワークフロービルダー、プロンプト管理、RAG(検索拡張生成)、およびツール統合を1つの合理化されたプラットフォームに組み合わせています。この実践的でソリューション指向のガイドでは、最初のログインから洗練されたAIアプリのデプロイまで、Dify の使い方を正確に学ぶことができます。
注目すべき点:Dify は、ドラッグアンドドロップワークフローとアプリテンプレートを備えた、主要なエージェント型AI開発プラットフォームとして位置付けられており、価値実現までの時間を劇的に加速します。ハンズオンのチュートリアルが必要な場合は、チャットアプリやデータセットを活用したアシスタントのエンドツーエンドの構築を示す、初心者向けのしっかりとしたチュートリアルや、HTTPノードやJSON処理などのコアブロックを習得するためのコミュニティがキュレーションしたガイドがあります。構造化されたデモプロジェクトの経験については、ステップバイステップのチュートリアルも利用できます。
このガイドでは、以下について説明します。
- 最初のアプリの構築(チャットボットとRAGアシスタント)
- デプロイメントのベストプラクティスとチームワークフロー
また、実践的なヒント、よくある落とし穴、および時間を節約できるパターンも織り交ぜて、自信を持ってより迅速に出荷できるようにします。
Difyとは何か、そしてなぜそれを使用するのか?
Difyは、ビジュアルキャンバスを通じてAIアプリケーションを構成するためのローコード/ノーコードプラットフォームであり、プロンプトオーケストレーション、状態処理、RAG、およびエージェント機能を組み込んでいます。配管作業を劇的に削減し、以下を支援します。
- チャットボット、アシスタント、および多段階自動化の構築
- 独自の知識ベースを使用した検索拡張生成(RAG)の実装
- カスタムグルーコードなしでツール(Web検索、API、データベース)を統合
- プロンプトの反復、パフォーマンスの追跡、およびエンドツーエンドのトレースの観察
Dify のビジュアルワークフローとアプリテンプレートは、迅速にプロトタイプを作成し、本番環境に向けて進化する必要があるチームにとって特に魅力的です。サードパーティのチュートリアルとデモは、ゼロから作業アプリへと迅速に移行するのに役立ち、データ検索を伴うエージェントパターンによく使用されます。評価とスケーリングの準備ができたら、可観測性統合も利用できます。
クイックスタート:アカウント、モデル、およびキー
- サインアップして、新しいワークスペースを作成します。
- クラウド(最速)を選択するか、完全に制御する必要がある場合は、後でセルフホストの準備をします。
- 設定で、優先LLM(例:OpenAI、Anthropicなど)に接続します。
- APIキーを安全に追加します。小さなプロンプトで接続を確認します。
- 新しいアプリまたはワークフローを作成します。明確な名前を付けます(例:「カスタマーサポートRAG」または「リードクオリファイアエージェント」)。
- 最初の成果物(チャットアプリ、内部ツール、またはエージェント)を決定します。
ヒント:迅速な反復のためにベースラインモデルから開始し、後で高度なモデルに交換します。
数分で最初のチャットアプリを構築する
役立つチャットアシスタントを構築する簡単な方法を次に示します。
- アプリギャラリーで、「チャット」テンプレートを選択します。これにより、すぐに使用できるメッセージングスキャフォールディングが提供されます。
- 役割、トーン、境界線、および出力形式を定義します。例:
「あなたは簡潔でフレンドリーな製品アシスタントです。常にソースを引用し、手順には箇条書きを使用し、ユーザーのリクエストが曖昧な場合は、明確にするための質問を1つだけ行います。」
- 一貫した動作を促すために、模範的なQ&Aペアを表示します。
- 組み込みのチャットテスターを使用して、実際のクエリを試します。
- スタイルに合わせてシステムプロンプトを調整し、創造性のために温度を調整します。
- 必要に応じて、停止シーケンス、最大トークン数、およびコンテンツフィルターを定義します。
- アプリの共有リンクを有効にするか、ウィジェットを介して埋め込みます。
実践による学習が最も速いです—ビデオウォークスルーは、各クリックを視覚化するのに役立ちます。
RAGアシスタント(ナレッジアウェアチャット)に変える
RAGを使用すると、アシスタントはプライベートドキュメント、FAQ、またはwikiコンテンツを使用して回答できます。
- PDF、markdownをアップロードするか、データソースに接続します。
- Dify は、コンテンツをチャンク化、埋め込み、およびインデックス化します。
- 埋め込みモデルとチャンクサイズを選択します。チャンクが大きいほどコンテキストが保持されます。チャンクが小さいほど、粒度が向上します。400〜800トークンから開始します。
- 上位k個の結果(例:4〜8)、関連性しきい値、およびオプションの再ランキングを選択します。
- 精度を高めるために、フィルター(タグまたはドキュメントタイプ別など)を追加します。
- ワークフローキャンバスまたはアプリのRAGトグルを使用して、検索されたコンテキストをプロンプトに挿入します。最終的な回答テンプレートに引用を含めます。
- 簡単なクエリとトリッキーなクエリの両方を試します。引用、書式設定、およびレイテンシを検証します。
Milvusなどのベクトルデータベースを使用している場合は、堅牢なRAGパイプラインのためにDifyを統合するためのステップバイステップのウォークスルーがあります。
ビジュアルワークフロー:多段階ロジックの自動化
Dify のキャンバスを使用すると、ステップのチェーン、分岐ロジック、およびツールを呼び出すことができます。
一般的なブロック:
- 入力/出力:着信するユーザーデータと最終応答のスキーマを定義します。
- LLMノード:プロンプトの作成、モデルの設定、温度の制御
- HTTPノード:外部API(検索、CRM、内部サービス)を呼び出します。
- コードノード:軽量変換、解析、または検証を実行します。
- 条件/分岐:ユーザーの意図またはデータに基づいてパスをルーティングします。
例:Web調査アシスタント
- 意図を検出 → 「調査」の場合、検索のためにHTTPノードを呼び出す → LLMで結果を要約する → ソースを含む箇条書きの調査結果を返す。
HTTPノードの配線方法とJSONレスポンスの解析方法に関する具体的なハウツーについては、コミュニティチュートリアルが役立ちます。
エージェント:ツールを使用する、多段階推論
Difyのエージェントは、計画、ツール選択、および反復推論を組み合わせて目標を達成します。
エージェントを使用するタイミング:
- タスクには多段階計画が必要です(「調査 → 比較 → 要約」)。
- アシスタントはツール(Web検索、データベース、電卓、内部API)を呼び出す必要があります。
エージェントを構築する:
- ツール(HTTP、検索、データ検索、カスタム関数)を登録します。
- 計画を有効にします。モデルにステップを提案させ、その作業を批評させます。
- 最大ステップ数、タイムアウト、およびツール予算を設定します。
- さまざまなタスクでテストし、トレースを監視してループを診断します。
ユースケースで正確なWebデータ検索が必要な場合は、Difyを特殊なデータプラグインと組み合わせて、エージェントの機能を強化できます。
コネクタとツール:スタックを持ち込む
Dify は、コネクタとHTTPノードを介して外部サービスと統合します。
- CRMおよびヘルプデスク(例:Salesforce、Zendesk)
ベストプラクティス:
- レスポンスをJSONに正規化し、スキーマを検証します。
- モデルがいつ使用するかを把握できるように、ツールの説明を簡潔に保ちます。
Dify のプロンプトエンジニアリング
プロンプトをモジュール化可能でテスト可能にする:
- ユーザー入力、検索されたコンテキスト、およびツール出力に変数を使用します。
- ダウンストリーム解析のために、JSONまたは箇条書きリストで出力形式を標準化します。
- エラーを減らすために、ステップバイステップのルーブリック(例:「番号付きのステップで考える」)を提供します。
- システムプロンプトに拒否ポリシーとスタイルガイドを含めます。
反復ループ:
- 失敗ケースを記録し、新しい例またはブランチを作成します。
可観測性、テスト、および最適化
プロトタイプからパイロットに移行する場合、可観測性とトレースが重要になります。トレースを追加して、トークンの使用状況、レイテンシ、およびステップバイステップの決定を確認し、品質をデバッグおよび改善できます。
起動前の重要なチェック:
- リクエストごとおよびツール呼び出しごとのレイテンシ予算
- エッジケース:空の入力、長い入力、トピック外のクエリ
ユーザーへのデプロイ
Dify は、複数のデプロイメントパスをサポートしています。
- アプリケーションが呼び出すためのAPIエンドポイントを公開する
運用上のヒント:
- 分析の追加:セッション、CSAT、フォールバック率
- タイムアウトとアップストリームモデルエラーのアラートを設定する
チームコラボレーションとガバナンス
アプリが成長するにつれて:
- ロールベースのアクセス制御を使用し、dev/staging/prodを分離します
- プロンプト/ワークフローをバージョン管理します。リリースにタグを付けます
- インシデントとツールの停止に関するランブックを作成します
- ツールのコントラクト(入力/出力)とSLAを文書化します
次に試す高度なパターン
- 構造化された出力のための厳密なJSONスキーマを使用した関数呼び出し
- より良いリコールのためのハイブリッド検索(BM25 +埋め込み)
- マルチベクトルRAG(タイトル、本文、メタデータ埋め込み)
- 正規表現またはJSONスキーマ検証によるガードレール
トラブルシューティング:一般的な落とし穴と修正
- 最大ステップ数を減らし、ツールの説明を厳密にし、停止条件を追加します。
- チャンクを調整し、メタデータフィルターを追加し、再ランキングを試み、上位kを調整します。
- JSONスキーマを強制し、例を追加し、温度を下げます。
- 検索をキャッシュし、ツールの呼び出しを並列化し、より高速なモデルに切り替えます。
- システムの制約を強化し、常にソースを引用し、RAGと検証ステップを優先します。
ちなみに:コンテンツワークフローの高速化
あなたの目標がコンテンツのアイデア出し、起草、および調査の統合である場合、Difyで構築されたアシスタントは、日々の執筆と要約のためのSider.AIのような生産性ツールとうまく連携することに注意する価値があります。 Sider はブラウザと一緒に配置して、コンテンツの作成、翻訳、分析を迅速に行うのに役立ちます。Dify を利用した RAG バックエンドと組み合わせると、正確なドメインコンテキストとスムーズなオーサリングエクスペリエンスの両方が得られます(https://sider.ai/)。 主なポイント
- チャットテンプレートから始めて、RAGとツールをレイヤー化します。
- ワークフローキャンバスを使用してロジックを視覚化し、脆弱なコードを回避します。
- プロンプトをコードのように扱います:バージョン管理、テスト、および評価。
- すべてを観察します—トレース、コスト、レイテンシ—自信を持ってスケーリングします。
- エージェントは強力ですが、ガードレールと予算はそれらを信頼できる状態に保ちます。
追加のリソース
- AIアプリを構築するための初心者向けのビデオチュートリアル。
- HTTPノードとJSON処理に関するコミュニティガイド。
- デモプロジェクトを使用した構造化されたチュートリアル。
- Webデータ検索プラグインを使用したエージェントの構築。
- Dify と Milvus のウォークスルーを使用したRAG。
よくある質問
Q1:Dify は何に使用されますか?
Dify は、ビジュアルワークフロー、プロンプトオーケストレーション、および RAG を使用して AI アプリとエージェントを構築するためのプラットフォームです。チームがチャットボット、ナレッジアシスタント、および自動化を迅速に作成するのに役立ちます。
Q2:Dify で RAG チャットボットを作成するにはどうすればよいですか?
データセットを作成し、埋め込みと検索を設定してから、ワークフローを介して検索されたコンテキストをプロンプトに挿入します。精度を最適化するために、上位k、チャンクサイズ、および再ランキングをテストします。
Q3:Dify は私の API とツールに接続できますか?
はい。HTTP ノードとコネクタを使用して、Webサービス、データベース、および検索APIを呼び出します。レスポンスをJSONで保持し、エージェントがそれらを正しく使用できるように、明確なツール記述を定義します。
Q4:エージェントがループするのを停止するにはどうすればよいですか?
最大ステップ数を減らし、終了基準を追加し、ツールの指示を厳密にします。可観測性とトレースは、ループが発生する場所を特定するのに役立ち、プロンプトとツールのロジックを調整できます。
Q5:Dify ワークフローを評価する最適な方法は何ですか?
テストセットを作成し、バッチ評価を実行し、レイテンシとコストのトレースを検査します。幻覚を追跡し、構造化された出力を強制し、例を使用してプロンプトを反復します。