Dify は、企業または個人のナレッジベースと大規模言語モデル(LLM)アプリケーションを統合できるプラットフォームです。 Dify を使用して AI Q&A ソリューションを設計し、ビジネスに適用できます。 さらに、ACS クラスターに AI Q&A サービスをデプロイして、ACS がビジネスの需要の増加に合わせてサービスを即座にスムーズにスケールアウトできるようにすることができます。
ソリューション概要
Dify を使用してカスタマイズされたサンプル AI アプリケーション | サンプル AI Web アプリケーション |
AI Q&A アシスタントをカスタマイズするには、次の手順を実行します。
ack-dify をインストールする: ACS クラスタを作成し、クラスタに ack-dify コンポーネントをインストールします。
AI Q&A アシスタントを作成する: Dify にアクセスし、Web サイト用の AI Q&A アシスタントを作成します。
AI Q&A アシスタントをカスタマイズする: 特定の分野に特化した質問に AI Q&A アシスタントが回答できるように、ナレッジベースを準備します。
Dify の紹介
Dify は、LLM アプリケーション開発のためのオープンソースプラットフォームです。 Dify は、Backend as a Service (BaaS) と LLM Operations LLMOps を組み合わせて、生成 AI アプリケーションの開発を効率化します。 Dify は、開発者と非技術系ユーザーの両方にとって、AI アプリケーションのオーケストレーションとデータ操作を容易にします。 Dify には、LLM アプリケーションの構築に必要な主要な技術スタックが事前に組み込まれています。 これにより、既存のソリューションやテクノロジーを再開発する必要がなくなり、ビジネスイノベーションと要件に集中できます。
次の図は、Dify のアーキテクチャを示しています。
Dify のアーキテクチャには、次の主要な部分が含まれています。
LLM アプリケーションに必要な主要コンポーネント。 Dify は、LLM アプリケーションに必要な主要コンポーネントと統合されています。 これらの統合により、Dify はさまざまなモデルをサポートし、ユーザーフレンドリーなプロンプトオーケストレーションインターフェイス、高性能な Retrieval-Augmented Generation (RAG) システム、およびカスタマイズ可能なエージェントフレームワークを提供します。
オーケストレーションと操作を視覚化する直感的なインターフェイス。 Dify は、視覚化されたプロンプトオーケストレーション、操作、および管理をサポートする直感的なインターフェイスを提供します。 これにより、AI アプリケーション開発が大幅に加速され、開発者は LLM を AI アプリケーションに迅速に統合し、アプリケーションを継続的に維持および最適化できます。
すぐに使えるアプリケーションテンプレートとオーケストレーションフレームワークのセット。 Dify は、開発者が LLM を活用した生成 AI アプリケーションを迅速に開発するために使用できる、すぐに使えるアプリケーションテンプレートとオーケストレーションフレームワークを提供します。 さらに、Dify はオンデマンドでビジネスを即座にスムーズにスケーリングできます。
Dify は、生成 AI アプリケーションを開発およびデプロイするための包括的で柔軟性があり、使いやすいプラットフォームです。
1. ack-dify をインストールする
ACS クラスタを作成する手順に精通している場合は、次の手順に従ってクラスタを作成できます。
1.1 準備
ACS クラスタを作成する (バージョン 1.26 以降)。
次の手順に従って、動的 NAS ボリュームを構成する。
StorageClass を作成します。
PVC を作成します。
1.2 ack-dify をインストールする
ACK クラスタに Dify をデプロイするには、次の手順を実行して ack-dify コンポーネントをインストールします。
ACS コンソール にログインし、左側のナビゲーションペインで [クラスタ] をクリックします。作成したクラスタの名前をクリックします。クラスタの詳細ページで、次の図の手順に従って ack-dify をインストールします。
コンポーネントの [アプリケーション名] と [名前空間] を設定する必要はありません。 ⑥ [次へ] をクリックすると、[確認] ダイアログボックスが表示されます。 [はい] をクリックして、デフォルトのアプリケーション名 (ack-dify) と名前空間 (dify-system) を使用します。次に、[チャートバージョン] 1.1.5 を選択し、[OK] をクリックして ack-dify コンポーネントをインストールします。
1 分待って、ローカル環境で次のコマンドを実行します。
dify-system
名前空間のすべてのポッドがRunning
状態の場合、ack-dify コンポーネントはインストールされています。kubectl get pod -n dify-system
一部のポッドが Pending 状態の場合、ack-dify の依存 PVC が欠落している可能性があります。 準備 に従って、クラスタに対応する NAS StorageClass を作成します。 ポッドの問題のトラブルシューティング方法の詳細については、「ポッドの問題のトラブルシューティング」をご参照ください。
2. AI 搭載の Q&A アシスタントを作成する
2.1 Dify にアクセスする
(オプション) インターネット経由で ack-dify へのアクセスを有効にします。
ROS の [ワンクリックデプロイ] を使用して ack-dify をインストールした場合は、この手順をスキップします。
ack-dify へのアクセスを手動でインターネット経由で有効にする場合。
説明本番環境を使用する場合は、データセキュリティを確保するために [アクセス制御] を有効にすることをお勧めします。
ack-dify サービスを更新した後、[ネットワーク] > [サービス] > [ack-dify] を選択し、[dify-system] 名前空間を選択すると、[外部 IP] 列に IP アドレスが表示されます。 Dify にアクセスするには、ブラウザを使用して IP アドレスにアクセスします。
Dify アカウントを作成します。
ack-dify サービスの [外部 IP アドレス] にアクセスします。 表示されるページで、画面の指示に従って [管理者アカウントを設定] し、メールアドレス、ユーザー名、パスワードを入力して Dify に登録します。
2.2 AI 搭載の Q&A アシスタントを作成する
ack-dify サービスの [外部 IP アドレス] とブラウザを使用して、Dify にログインします。
AI モデルを追加し、モデルの API キーを設定します。 この例では、次の図に示すように、Tongyi Qianwen モデルが追加されています。
Tongyi Qianwen は無料枠を提供しています。 無料枠を使い果たすと、消費したトークンに基づいて課金されます。 セルフマネージド LLM をデプロイするよりも、モデルプロバイダーからモデルサービスを購入する方が費用対効果が高くなります。
API キーを取得するには、[ユーザー名] > [設定] > [モデルプロバイダー] > [TONGYI (設定)] > [AliCloud から API キーを取得] を選択します。
取得した API キーを次の図の入力ボックスに指定し、[保存] をクリックします。
汎用 AI 搭載 Q&A アシスタントを作成します。
[Studio] > [新規作成] を選択します。 アシスタントの [名前] と [説明] を指定します。 その他のパラメーターにはデフォルト設定を使用します。
2.3 AI 搭載の Q&A アシスタントをテストする
Web ページに質問を入力して、アシスタントが回答を提供できるかどうかをテストできます。 次の図は例を示しています。 汎用アシスタントは単純な会話のみをサポートしており、「Dify とは何ですか?」などの難しい質問には回答できません。
3. AI 搭載 Q&A アシスタントをカスタマイズする
3.1 ナレッジベースを準備する
上記の手順を実行すると、AI 搭載 Q&A アシスタントが作成されます。「Dify とは何ですか?」などの質問に対してアシスタントが専門的な回答を提供するようにするには、関連するナレッジベースを準備し、アシスタントと統合する必要があります。
構成を簡素化するために、この例では という名前のコーパスファイルが提供されています。ナレッジベースを作成し、コーパスファイルをナレッジベースにアップロードするには、次の手順を実行します。
をナレッジファイルにアップロードします。
[ナレッジ] > [ナレッジの作成] > [ファイルからインポート] > [参照] > [次へ] を選択します。
[次へ] をクリックし、画面の指示に従って [テキストの前処理とクリーニング] ページのパラメーターを構成します。
デフォルト設定を使用できます。ナレッジベースは自動的にコーパスをクリーニングし、コーパスのテキストをチャンク化し、コーパスのインデックスを作成します。これにより、アシスタントは回答を生成するときにナレッジベースを簡単に検索できます。
Dify ナレッジベースを準備する手順を表示するには、上記のコーパスファイルを .md
ファイルに変換する方法を表示をクリックします。
3.2 AI 搭載 Q&A アシスタントを調整および公開する
アシスタントのプロンプトを構成し、ナレッジベースをコンテキストとして構成します。
プロンプトを構成する:次のコンテンツを [指示] テキストエディターにコピーします。プロンプトは、アシスタントが回答を生成する際の指示と制約を提供します。プロンプトは、アシスタントが提供する回答の精度を向上させるのに役立ちます。
You will act as Dify's AI assistant, dedicated to answering customers' questions about Dify products and their features. Your responses should be based on the existing knowledge base to ensure accuracy. If a question is beyond your knowledge, please honestly inform them that you do not know the answer, to maintain the integrity of the information. Please communicate in a friendly and warm tone, and feel free to use emoticons appropriately to enhance the interactive experience.
ナレッジベースをコンテキストとして構成する:[コンテキスト] パラメーターで [追加] をクリックします。作成したナレッジベースを選択し、[追加] をクリックします。これにより、アシスタントはナレッジベースに基づいて質問に答えることができます。
ページの右上隅で、[公開] > [更新] を選択して構成を保存し、構成を有効にします。
次の図は例を示しています。
3.3 アシスタントをテストする
ナレッジベースをアシスタントに統合すると、アシスタントはより専門的で正確な回答を提供できます。
結論
次の表に、Dify が個人開発者と企業に提供する主要な機能を示します。
主要機能 | 説明 |
LLMOps の包括的なサポート | Dify は、既存の AI アプリケーションに対して包括的な O&M 機能を提供します。たとえば、Dify はログとメトリックに基づくリアルタイムモニタリングをサポートし、本番データとユーザーフィードバックに基づいてプロンプト、データセット、およびモデルの継続的な最適化を提供します。 |
RAG エンジン | Dify は、ドキュメントのインポートや情報検索など、データ操作を実行するためのエンドツーエンドの RAG パイプラインを提供します。RAG パイプラインはデータの準備を簡素化し、pdf や ppt などの一般的なファイル形式を直接処理できます。 |
エージェント | Dify を使用すると、開発者は LLM の関数呼び出しまたは ReAct パラダイムに基づいてエージェントを定義できます。エージェントには、組み込みツールまたはカスタムツールを追加できます。Dify は 50 以上の組み込みツールを提供しています。 |
ワークフローオーケストレーション | Dify は、開発者がさまざまなコンポーネントをドラッグアンドドロップして接続し、複雑な AI ワークフローを迅速に構築できる視覚化されたキャンバスを提供します。この方法では複雑なコーディングは必要なく、アプリケーション開発を開発者にとって簡単かつ直感的に行うことができます。 |
可観測性 | Dify は、ダッシュボードを通じて LLM アプリケーションの品質とコストを追跡し、評価を提供します。これらの機能を使用して、LLM アプリケーションを監視できます。 |
エンタープライズ機能 (SSO/アクセス制御) | Dify は、企業や組織のデータ漏洩とデータ破損のリスクを軽減し、データセキュリティとサービス継続性を確保するのに役立ちます。 |
本番環境に Q&A アシスタントをデプロイする
AI 搭載の Q&A アシスタントを企業または個人開発者の本番環境に適用するには、次の方法を使用します。
Web サイトを使用してアシスタントを公開します。
Dify を使用して AI アプリケーションを作成した後、インターネット経由でアクセスできる Web アプリケーションを使用してアプリケーションを公開できます。アプリケーションは、オーケストレーションしたプロンプトと構成に基づいて動作します。詳細については、「シングルページ Web アプリとして公開する」をご参照ください。
Dify API へのアクセスを公開します。
Dify は、BaaS の概念に準拠した API を提供しています。開発者は、複雑なバックエンドアーキテクチャとデプロイメントプロセスに焦点を当てることなく、フロントエンドから直接 LLM の強力な機能を使用できます。詳細については、「API を使用した開発」をご参照ください。
フロントエンドコンポーネントに基づいてカスタム開発を実行します。
新しい製品をゼロから開発する場合、または製品プロトタイプの設計段階にある場合は、Dify を使用して AI サイトを迅速に立ち上げることができます。詳細については、「フロントエンドテンプレートに基づいて再開発する」をご参照ください。
AI アプリケーションを企業または個人開発者の Web サイトに埋め込みます
Dify を使用すると、AI アプリケーションを Web サイトに埋め込むことができます。企業の公式 Web サイトに AI カスタマーサービスチャットボットと Q&A チャットボットを数分で構築して埋め込むことができます。詳細については、「Web サイトへの埋め込み」をご参照ください。