すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:Compute Nest を使用した専用チャットボットの作成

最終更新日:Mar 01, 2026

大規模言語モデル(LLM)とベクトルデータベースを統合した検索拡張生成(RAG)チャットボットをデプロイします。Compute Nest は、Elastic Compute Service(ECS)インスタンス、AnalyticDB for PostgreSQL インスタンス、および Platform for AI(PAI)Elastic Algorithm Service(EAS)エンドポイントを含む、すべての必要リソースを単一のサービスインスタンスとして自動的にプロビジョニングします。

仕組み

このチャットボットは、Compute Nest が一括してデプロイする 3 つのコンポーネントで構成されます。

コンポーネント役割
ECS インスタンスWeb UI および API を提供する LangChain アプリケーションをホストします。ドキュメントのアップロード、チャンキング、および埋め込み処理を実行します。
AnalyticDB for PostgreSQL インスタンス(弾力的ストレージモード)ベクトルデータベースとして機能します。ドキュメントの埋め込みベクトルおよびメタデータを格納し、取得時にベクトル類似検索を実行します。
PAI-EAS エンドポイント推論用の LLM をホストします。Llama 2-7b、Llama 2-13b、ChatGLM2-6b、Qwen-7B をサポートします。デプロイ後にモデルを切り替えることができます。

ユーザーがクエリを送信すると、LangChain サービスは AnalyticDB for PostgreSQL から関連するドキュメントチャンクを取得し、それをコンテキストとして PAI-EAS 上の LLM に渡して回答を生成し、その結果を返します。

機能

  • 複数の LLM 対応 — Tongyi Qianwen-7b、ChatGLM-6b、Llama 2-7b、Llama 2-13b、 の中から選択できます。デプロイ後も任意のタイミングでモデルを切り替えることが可能です。

  • GPU クラスター管理 — テスト時は低リソースの GPU インスタンスから開始し、需要の増加に応じて弾力的にスケールアウトできます。

  • 細かい権限制御 — AnalyticDB for PostgreSQL のデータベースレベル権限を活用してナレッジベースへのアクセスを制御します。オープンソースコードによるクエリ権限付与およびナレッジベース管理のための API 操作呼び出しをサポートします。

  • Web UI および API アクセス — ブラウザベースの UI を通じてチャットボットと対話するか、API を使用してアプリケーションに統合し、AI 生成コンテンツ(AIGC)ワークフローを構築できます。

  • データ隔離 — 業務データ、アルゴリズム、GPU リソースはすべてご利用のアカウント内に留まります。

課金

チャットボットのサービスインスタンスを作成すると、ECS インスタンスおよび弾力的ストレージモードの AnalyticDB for PostgreSQL インスタンスがプロビジョニングされます。これらのリソースは、設定時に選択した課金方法に基づいて課金されます。

リソース課金リファレンス
Compute NestCompute Nest の課金概要
ECSECS の課金の概要
AnalyticDB for PostgreSQLAnalyticDB for PostgreSQL の課金項目

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • 課金機能が有効化された Alibaba Cloud アカウント

  • サービスインスタンスを作成する RAM ユーザーに Resource Access Management(RAM)権限が付与されていること

説明 特定のロール権限が不足している場合、サービス作成時の 依存関係チェック セクションで、権限付与 をクリックするよう促されます。

操作動画

サービスインスタンスの作成

本セクションでは、Compute Nest の GenAI-LLM-RAG サービステンプレートを使用します。

  1. Compute Nest コンソールのサービスマーケットプレイス ページに移動し、GenAI-LLM-RAG をクリックしてから、今すぐ起動 をクリックします。

  2. サービスインスタンスの作成 ページで、以下のパラメーターを設定します。

    カテゴリパラメーター説明
    サービスインスタンス名サービスインスタンスの説明的な名前です。システムが自動的に名前を生成します。
    リージョンサービスインスタンス、ECS インスタンス、および AnalyticDB for PostgreSQL インスタンスがデプロイされるリージョンです。
    課金タイプ構成ECS インスタンスの課金タイプECS インスタンスの課金方法:従量課金 または サブスクリプション
    ECS 構成インスタンスタイプECS インスタンスの仕様です。
    インスタンスパスワードECS インスタンスへのログインパスワードです。
    IngressIPECS インスタンスの IP アドレスホワイトリストです。LLM にアクセスする必要があるサーバーの IP アドレスを追加します。
    PAI-EAS 構成ModelTypeデプロイする LLM です。例:llama2-7b を選択します。
    pai instance typePAI-EAS 向けの GPU 仕様です。
    AnalyticDB PostgreSQLDBInstanceSpecAnalyticDB for PostgreSQL インスタンスの計算ノード仕様です。
    SegmentStorageSize計算ノードあたりのストレージ容量(GB 単位)です。
    DB UsernameAnalyticDB for PostgreSQL インスタンスの特権アカウント名です。
    Instance Password特権アカウントのパスワードです。
    モデルリポジトリの選択User NameLLM ソフトウェア(Web UI)へのログイン名です。
    Software Login PasswordLLM ソフトウェアへのログインパスワードです。
    ゾーン構成VSwitch の利用可能ゾーンサービスインスタンスがデプロイされるゾーンです。
    既存のインフラストラクチャ構成の選択WhetherCreateVpc新規仮想プライベートクラウド(VPC)を作成するか、既存の VPC を使用するかを指定します。
    VPC IDVPC の ID です。
    VSwitch IDvSwitch の ID です。
    タグおよびリソースグループTagサービスインスタンスにアタッチするタグです。
    Resource Groupサービスインスタンスのリソースグループです。詳細については、「Resource Management とは?
  3. 次へ:注文の確認 をクリックします。

  4. 依存関係チェックサービスインスタンス情報、および 料金のプレビュー の各セクションを確認します。

    説明 必要なロール権限が付与されていない場合、依存関係チェック セクションで 権限付与 をクリックします。権限付与が完了したら、更新ボタンをクリックします。
  5. Compute Nest サービス契約書を読み、同意しました を選択し、その後 今すぐ作成 をクリックします。

  6. リクエストが送信された後、サービスの表示 をクリックします。

サービスインスタンスのプロビジョニングには約 10 分かかります。サービスインスタンス ページで、ステータスが デプロイ中 から デプロイ済み に変更された時点で、インスタンスが準備完了となります。

チャットボットの利用

チャットボットにクエリを実行する前に、ナレッジベースにドキュメントをアップロードする必要があります。

  1. Compute Nest コンソールサービスインスタンス ページで、サービスインスタンス ID をクリックして サービスインスタンスの詳細 ページを開きます。

  2. インスタンス情報 セクションで、エンドポイント フィールドの URL をクリックします。

  3. ナレッジベースにファイルをアップロードします。

    • ファイルのアップロードファイルおよび URL のアップロード、または フォルダーのアップロード をクリックします。

    • サポートされる形式:PDF、Markdown、TXT、Word。

    • ファイルを削除するには、ファイルの削除 をクリックします。

  4. 質問を入力し、送信 をクリックします。

リソースの管理

関連リソースの表示

  1. Compute Nest コンソールサービスインスタンス ページで、サービスインスタンス ID をクリックして サービスインスタンスの詳細 ページを開きます。

  2. リソース タブをクリックして、プロビジョニングされたすべてのリソースを表示します。

AnalyticDB for PostgreSQL の管理

リソース タブで、サービスが AnalyticDB for PostgreSQL のリソースを見つけ、リソース ID をクリックしてインスタンス管理ページを開きます。

ベクトル分析操作については、以下をご参照ください。

ストレージおよび計算容量の調整については、以下をご参照ください。

ナレッジベースデータの表示

  1. AnalyticDB for PostgreSQL インスタンス管理ページで、右上隅の [データベースにログオン] をクリックします。詳細については、「DMS を使用して AnalyticDB for PostgreSQL インスタンスに接続する」をご参照ください。

    説明 Data Management(DMS)経由で接続する場合、サービスインスタンス作成時に設定した DB Username および Instance Password を使用します。
  2. ログイン後、左側のナビゲーションウィンドウで [接続済みインスタンス] をクリックし、AnalyticDB for PostgreSQL インスタンスを見つけ、chatglmuser データベースの public スキーマをダブルクリックします。

    • langchain_collections テーブルには、ナレッジベースのメタデータが格納されています。

    • アップロードされた各ナレッジベースまたはドキュメントには、それに応じた名前のテーブルが存在します。このテーブルには、埋め込みデータ、チャンク、ファイルのメタデータ、および元のファイル名が含まれています。

DMS の詳細については、「DMS とは」をご参照ください。

EAS の自動スケーリングの有効化

EAS は、自動スケーリングスケジュールによるスケーリング、および弾性リソースプールを提供します。水平方向の自動スケーリングを有効化すると、EAS がトラフィックに基づいて自動的にインスタンス数を調整します。

  1. リソース タブの サービスインスタンスの詳細 ページで、サービスが PAI のリソースを見つけ、リソース ID をクリックして PAI コンソールの サービスの詳細 ページに移動します。

  2. 自動スケーリング タブをクリックし、自動スケーリングの有効化 をクリックします。

  3. スケーリングパラメーターを設定します。

    パラメーター説明
    最小インスタンス数維持する EAS インスタンスの最小数です。
    最大インスタンス数自動スケーリングの上限です。
    一般的なスケーリングメトリックスケーリングをトリガーするメトリックです。個別インスタンスの QPS 閾値 を選択します。
    個別インスタンスの QPS 閾値インスタンスあたりのクエリ/秒(QPS)の閾値です。

    設定例:

    シナリオ最小インスタンス数最大インスタンス数QPS 閾値動作
    低トラフィックまたはテスト環境011最初のリクエストでスケールアップし、アイドル状態になるとスケールダウンします。
    可変負荷対応の生産5502トラフィックに応じて 5~50 インスタンス間でスケールします。
  4. 有効化 をクリックします。

LLM の変更

  1. リソース タブの サービスインスタンスの詳細 ページで、サービスが PAI のリソースを見つけ、リソース ID をクリックして PAI コンソールの サービスの詳細 ページに移動します。

  2. サービスの更新 をクリックします。

  3. 「サービスのデプロイ」ページで、実行コマンド フィールドを変更し、対応する GPU の インスタンスタイプ を選択します。その他のパラメーターはデフォルト値のままにします。

    LLM実行コマンド推奨 GPU
    Llama 2-13bpython api/api_server.py --port=8000 --model-path=meta-llama/Llama-2-13b-chat-hf --precision=fp16V100(gn6e)
    Llama 2-7bpython api/api_server.py --port=8000 --model-path=meta-llama/Llama-2-7b-chat-hfGU30 および A10
    ChatGLM2-6bpython api/api_server.py --port=8000 --model-path=THUDM/chatglm2-6bGU30 および A10
    Qwen-7Bpython api/api_server.py --port=8000 --model-path=Qwen/Qwen-7B-ChatGU30 および A10
  4. デプロイ をクリックします。

  5. サービスのデプロイ ダイアログボックスで、OK をクリックします。

よくある質問

ベクトル検索 API を呼び出すにはどうすればよいですか?

詳細については、「Java SDK を使用したベクトルデータのインポートとクエリ」をご参照ください。

デプロイにはどのくらい時間がかかりますか?

サービスインスタンスのプロビジョニングには約 10 分かかり、これには ECS および AnalyticDB for PostgreSQL の初期化が含まれます。LLM のダウンロードは非同期で行われ、さらに 30~60 分かかります。ダウンロードの進捗を確認するには、ECS インスタンスに接続してダウンロードログを確認します。ダウンロードが完了すると、チャットボットが Web UI に表示されます。

ECS インスタンスに接続するにはどうすればよいですか?

サービスインスタンスの詳細ページの リソース タブで、タイプが セキュリティグループ のリソースを見つけ、リソース ID をクリックします。インスタンスの詳細タブで、接続 をクリックします。詳細については、「インスタンスへの接続」をご参照ください。

LangChain サービスを再起動するにはどうすればよいですか?

ECS インスタンスに接続して、以下のコマンドを実行します。

systemctl restart langchain-chatglm

LangChain のログを確認するにはどうすればよいですか?

ECS インスタンスに接続して、以下のコマンドを実行します。

journalctl -ef -u langchain-chatglm

LLM の読み込みに失敗した場合はどうすればよいですか?

サービスインスタンスの作成後、システムは Hugging Face から LLM をダウンロードします。中国リージョンでは、このダウンロードに 30~60 分かかります。ダウンロードが完了したら、ページをリフレッシュして LLM を読み込みます。

デプロイコードはどこにありますか?

langchain-ChatGLM」をご参照ください。

サポートを依頼するにはどうすればよいですか?

ワンストップ専用企業向けチャットボット運用・保守サービス」を申請してください。

LangChain サービスは ECS 上のどこにデプロイされていますか?

サービスは /home/admin/langchain-ChatGLM にデプロイされています。

LangChain API を有効化するにはどうすればよいですか?

ECS インスタンスに接続して、以下のコマンドを実行します。

# langchain-chatglm-api の systemd ファイルを作成
cp /lib/systemd/system/langchain-chatglm.service /lib/systemd/system/langchain-chatglm-api.service

# /lib/systemd/system/langchain-chatglm-api.service の ExecStart パラメーターを変更
# EAS の場合:
ExecStart=/usr/bin/python3.9 /home/langchain/langchain-ChatGLM/api.py
# GPU シングルホストの場合:
ExecStart=/usr/bin/python3.9 /home/admin/langchain-ChatGLM/api.py

# systemd ファイルを再読み込み
systemctl daemon-reload

# API を起動
systemctl restart langchain-chatglm-api

# API が実行中であることを確認(期待される出力):
# INFO:     Uvicorn running on http://0.0.0.0:7861 (Press CTRL+C to quit)

# すべての API 操作を一覧表示
curl http://0.0.0.0:7861/openapi.json