ACK 上に Flowise をデプロイして、視覚的なドラッグアンドドロップのワークフローで大規模言語モデル (LLM) を活用したチャットボットを構築し、埋め込みます。
概要

このソリューションでは、Web ページに青いフローティングチャットボタンを埋め込みます。ユーザーは Web サイトにアクセスした際に、このボタンをクリックしてチャットボットと対話できます。
汎用チャットボットは、次の 3 つのステップで設定します。
-
Flowise コンポーネントのインストール:Container Service for Kubernetes (ACK) を使用して ACK クラスターを作成し、Flowise コンポーネントをインストールします。
-
汎用チャットボットワークフローの構築:Flowise サービスでチャットボットを作成します。
-
パーソナライズされた会話フローのオーケストレーション:Q&A モデルとプロンプトテンプレートを設定し、それらをチェーンモデルに接続します。

1. Flowise コンポーネントのインストール
Flowise は、大規模言語モデル (LLM) アプリケーションを構築するためのオープンソースのローコードフレームワークです。ドラッグアンドドロップの UI が、プロトタイピングから本番環境への LangChain ベースのワークフロー作成を簡素化します。
1.1 前提条件
-
バージョン 1.22 以降の ACK Pro クラスターが作成されていること。詳細については、「ACK マネージドクラスターの作成」および「クラスターのアップグレード」をご参照ください。
-
kubectl がクラスターに接続されていること。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」をご参照ください。
1.2 コンポーネントのデプロイ
-
Flowise コンポーネントをインストールしてデプロイします。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
-
対象のクラスターをクリックします。図の番号付きの手順に従って、Flowise コンポーネントをインストールします。
[アプリケーション名] と [名前空間] は空のままにします。⑤ [次へ] をクリックし、次に [はい] をクリックしてデフォルト (flowise/flowise-system) を使用します。

-
[Chart Version] を最新バージョンに設定し、[OK] をクリックします。
[パラメーター] タブで、カスタムの [username] と [password] を設定します。
-
Flowise コンポーネントが正常に実行されていることを確認します。
flowise-system名前空間のポッドが Running 状態であることを確認します:kubectl get pod -n flowise-system期待される出力:
NAME READY STATUS RESTARTS AGE flowise-596fb8bf88-7zdlr 1/1 Running 0 3h flowise-postgresql-0 1/1 Running 0 3h
2. ワークフローオーケストレーションテンプレートの作成
2.1 Flowise サービスへのアクセス
-
Flowise コンポーネントのインターネットアクセスを有効にします。
本番環境では、データを保護するために [アクセス制御] を有効にします。

-
設定後、Flowise コンポーネントの [外部 IP] を見つけます。この IP をブラウザーに入力して、Flowise サービスにアクセスします。

-
Flowise サービスにアクセスします。
[外部 IP] アドレスを開き、[ユーザー名] と [パスワード] を入力します。

インストール時にカスタムの [ユーザー名] または [パスワード] が設定されなかった場合は、デフォルトの
Username=flowiseuserとPassword=flowisepasswordを使用してください。
2.2 Chatflows の作成
Flowise はフローをツールに変換できます。メインフローはタスク固有のツールフローを調整し、各ツールフローは特定のタスク用に設計されています。
各子フローは独自のメモリで独立して実行されます。最終的なエージェントがすべての出力を要約し、より高品質な結果を生成します。
Chatflow を作成するには:
-
Flowise サービスにログインします。
-
をクリックします。

3. パーソナライズされた会話フローのオーケストレーション
3.1 チャットモデルの設定
Flowise は、ノードを接続することで LLM アプリケーションをオーケストレーションします。これらのノードは、LangChain や LlamaIndex などのフレームワークから抽象化されており、エージェント、チェーン、チャットモデルなどのタイプが含まれます。
-
[チャットモデル] パネルで、[ChatOpenAI Custom] ノードをドラッグします。[認証情報に接続] > [新規作成] をクリックし、通義千問の API キーを入力します。

-
[接続資格情報] で、[Tongyi Qianwen] を選択します。[モデル名] を [qwen-turbo] に設定し、[Temperature] を [0.9] に設定します。[追加パラメーター] ページで、[BasePath] を
https://dashscope.aliyuncs.com/compatible-mode/v1に設定します。
3.2 プロンプトテンプレートの設定
[プロンプト] パネルで、[プロンプトテンプレート] ノードをドラッグし、[テンプレート] を次のように設定します。
Question: {question}
Answer: Let's think step by step.

3.3 LLM チェーンの設定
-
[チェーン] パネルで、[LLM チェーン] ノードをドラッグします。

-
ノードを接続して、チャットボットのオーケストレーションを完了します。

3.4 結果の検証
Chatflow のオーケストレーション後、右上の [保存] をクリックします。[メッセージ] ボタンを使用して、チャットボットをデバッグします。

まとめ
本番環境に適用
チャットボットを本番環境にデプロイするには、2 つの方法があります。
-
会話フローをフロントエンドアプリケーションの API として使用します。
Flowise は、すべてのアプリケーションに BaaS スタイルの API を提供し、フロントエンドアプリケーションでの LLM アクセスを可能にします。詳細については、「API を使用した開発」をご参照ください。
-
Web サイトにチャットボットを埋め込みます。
埋め込みコードを HTML ファイルにコピーします。
Flowise を使用してチャットボットを作成し、Web サイトに埋め込みます。詳細については、「Web サイトへの埋め込み」をご参照ください。
例:AI アプリケーションの Web サイトへの埋め込み
以下の手順に従って、LLM アプリケーションを Web サイトに埋め込みます。
この例はデモンストレーションのみを目的としています。本番環境では、データを保護するために [アクセス制御] を有効にしてください。
-
Flowise コンポーネントのインターネットアクセスを有効にし、ブラウザーで外部 IP を開きます。詳細については、「Flowise サービスへのアクセス」をご参照ください。

-
ACK クラスターでシンプルな Web アプリケーションを構築し、チャットボットをデバッグします。
ACK クラスターに Web アプリケーションをデプロイして、Flowise LLM アプリケーションをホストします。
-
Flowise サービスコードを取得します。
埋め込み方法を選択し、コードを Web サイトにコピーします。

-
ACK クラスターで、Deployment と Service を作成して、Web アプリケーションを実行および公開します。
次の YAML は、静的 HTML を持つ Nginx サーバーをデプロイします。
-
ACK コンソールにログインします。[設定] > [ConfigMap] ページで、[default] 名前空間を選択し、[YAML から作成] をクリックします。以下の YAML を貼り付け、
window.difyChatbotConfig、scr、およびidをご使用の Flowise サービスコードに置き換えます。以下の例をご参照ください。
-
デプロイ成功:

-
デプロイされたサービスのインターネットアクセスを有効にします。
本番環境では、データを保護するために [アクセス制御] を有効にします。

設定後、
web-serviceの [外部 IP] を見つけます。この IP をブラウザーに入力して、Web サービスにアクセスします。
重要-
外部からアクセスするには、クラスターのセキュリティグループがポート 80 でのトラフィックを許可していることを確認してください。詳細については、「セキュリティグループルールの追加」をご参照ください。
-
コードがクロスサイトスクリプティング (XSS) やコードインジェクションに対して安全であることを確認してください。これは基本的な例です。必要に応じて拡張および変更してください。
-
-
結果を表示します。

-
-
継続的な改善
詳細については、「Dify を使用した Web サイト向けのカスタマイズされたAI Q&Aアシスタントの構築」をご参照ください。
Dify を使用すると、ナレッジベースを LLM アプリケーションに統合して、ビジネス向けのカスタマイズされた AI Q&A ソリューションを構築できます。
課金
この機能では、ACK Pro クラスターの管理手数料と、使用される Alibaba Cloud リソースの料金が課金されます。この機能に関わる Alibaba Cloud 製品には、Elastic Compute Service (ECS)、Server Load Balancer (SLB)、Elastic IP アドレス (EIP)、Apsara File Storage NAS が含まれます。使用したリソースに対して、各製品の課金ルールに基づいて課金されます。クラスター管理手数料とリソース料金の詳細については、「課金の概要」をご参照ください。