mcpField
C
chatqna-docker-deploy

chatqna-docker-deploy

github.com/open-edge-platformクラウド・DevOps17542 回インストール今日更新
リポジトリ

chatqna-docker-deploy について

Docker Compose で Chat Question and Answer Core をデプロイするスキルです。コンテナアプリを起動または停止する運用担当者向けで、OpenVINO の CPU/GPU と Ollama CPU の構成に対応し、コンテナ状態とヘルスエンドポイントで稼働を確認します。

主な機能

  1. 01Docker Compose によるアプリ起動
  2. 02OpenVINO CPU/GPU と Ollama CPU に対応
  3. 03事前構築イメージまたはローカルビルドの選択
  4. 04コンテナ、ログ、ヘルスエンドポイントの確認
  5. 05UI と API ドキュメントの URL 表示

活用シーン

  1. 01ChatQnA Core コンテナの起動
  2. 02OpenVINO GPU 構成の選択
  3. 03Ollama CPU バックエンドの利用
  4. 04サービス確認とアクセス URL の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/open-edge-platform/edge-ai-libraries --skill chatqna-docker-deploy

インストール後、Claude Code で/chatqna-docker-deployを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

benchmark/
benchmark.md
evals/
evals.json
trigger-evals.json

詳細

ChatQnA の Docker デプロイ

Docker Compose を使用して、Chat Question and Answer Core のサンプルアプリケーションをコンテナーとしてデプロイします。

コードベースのルート:sample-applications/chat-question-and-answer-core/

このスキルで実現すること

  • 次のいずれかのバックエンドプロファイルで ChatQnA Core を実行します。
    • OpenVINO CPU(OPENVINO)
    • OpenVINO GPU(OPENVINO-GPU)
    • Ollama CPU(OLLAMA)
  • コンテナーのステータス、ログ、ヘルスエンドポイントを使用して、起動状態を検証します。
  • 次の内容を含む簡潔なデプロイレポートを作成します。
    • 選択したランタイムプロファイル
    • 使用したイメージソース(事前ビルド済みタグまたはローカルビルド)
    • 固定のデフォルトタグとユーザー指定タグのどちらを使用したか
    • アクセス URL と API ドキュメントの URL
    • 警告(トークン/モデル/デバイスの制約)

使用するタイミング

  • 「chat question and answer core をデプロイして」
  • 「chatqna コンテナーを起動して」
  • 「chatqna の docker compose を実行して」
  • 「OpenVINO GPU プロファイルをデプロイして」
  • 「ollama バックエンドをデプロイして」

確認する入力

コマンドを実行する前に、次の値を確認するか、推定してください。

  1. バックエンド/ランタイム:openvino または ollama
  2. デバイス:cpu または gpu(GPU は OpenVINO でのみ有効です)
  3. イメージソース:
    • 事前ビルド済みのレジストリーイメージ(REGISTRY、BACKEND_TAG、UI_TAG)、または
    • ローカルソースビルド(通常、タグは latest)
  4. 任意のモデル設定パス:MODEL_CONFIG_PATH
  5. プライベート/ゲート付きモデル用の任意の Hugging Face トークン:HUGGINGFACEHUB_API_TOKEN

ランタイム/デバイスの値が指定されていない場合は、openvino + cpu をデフォルトにします。

事前ビルド済みイメージを使用し、ユーザーがタグを指定していない場合は、固定のリリースタグをデフォルトとして使用します。

このスキルでのデプロイ操作には、Docker Compose コマンドのみを使用してください。

判断ロジック

  • バックエンドが ollama の場合:
    • CPU パスを強制します
    • source scripts/setup_env.sh -b ollama を使用します
  • バックエンドが openvino で、デバイスが gpu の場合:
    • source scripts/setup_env.sh -d gpu を使用します
    • /dev/dri/render* が存在しない場合は警告し、CPU パスにフォールバックします
  • それ以外の場合:
    • source scripts/setup_env.sh(OpenVINO CPU)を使用します

デプロイのワークフロー

sample-applications/chat-question-and-answer-core から実行します。

1. 事前確認
docker --version
docker compose version

事前ビルド済みイメージが要求され、ユーザーからタグが指定されていない場合は、固定のデフォルト値を使用します。

export REGISTRY="intel/"
export BACKEND_TAG="core_1.3.3"      # or core_gpu_1.3.3 / core_ollama_1.3.3
export UI_TAG="core_1.3.3"

ユーザーが別のタグまたはレジストリーを明示的に指定した場合は、固定のデフォルト値ではなく、その値を使用します。

任意のモデル設定の上書き:

export MODEL_CONFIG_PATH="/absolute/path/to/config.yaml"

ゲート付き/プライベートモデル用の任意のトークン:

export HUGGINGFACEHUB_API_TOKEN="<token>"
2. プロファイルを選択して環境をエクスポート

次のいずれか 1 つだけを選択します。

# OpenVINO CPU (default)
source scripts/setup_env.sh

# OpenVINO GPU
source scripts/setup_env.sh -d gpu

# Ollama CPU
source scripts/setup_env.sh -b ollama
3. コンテナーを起動

デフォルトの起動モードはデタッチモードです。

docker compose -f docker/compose.yaml up -d
4. デプロイを検証
docker compose -f docker/compose.yaml ps
docker compose -f docker/compose.yaml logs --tail=150
curl -sf "http://${HOST_IP:-127.0.0.1}:8102/v1/chatqna/health"

デプロイ要求に対応する場合は、証拠としてコマンドの生出力を回答に含めてください。

  • 期待されるサービスが Up と表示されている docker compose -f docker/compose.yaml ps の出力。
  • 次のコマンドによるヘルスチェックの出力と HTTP ステータス: curl -sS -w "\nHTTP_STATUS:%{http_code}\n" "http://${HOST_IP:-127.0.0.1}:8102/v1/chatqna/health"

期待される準備完了の指標:

  • バックエンドコンテナーが running である
  • UI コンテナーが running である
  • 選択したプロファイルの nginx コンテナーが running である
  • ヘルスエンドポイントが成功を返す

アクセス URL:

  • UI:http://<HOST_IP>:8102
  • API ドキュメント:http://<HOST_IP>:8102/v1/chatqna/docs
5. 停止またはリセット
# Stop and remove service containers
docker compose -f docker/compose.yaml down

# Evidence: show running containers after shutdown
docker ps

# Optional deep cleanup (only when explicitly requested)
docker compose -f docker/compose.yaml down -v --remove-orphans

停止要求に対応する場合は、コンテナーが終了している証拠として、docker ps の出力をそのまま回答に含めてください。

完全に停止した状態を示す証拠:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

障害への対応

  • setup_env.sh が未対応のバックエンド/デバイスを返す場合:
    • openvino または ollama のいずれかに修正し、デバイスは cpu/gpu にします
  • GPU が要求されているが、レンダーノードがない場合:
    • OpenVINO CPU で続行し、フォールバックしたことを報告します
  • コンテナーの起動に失敗した場合:
    • docker compose ... logs --tail=200 を収集します
    • 失敗したサービス名と、最初に対処可能なエラーを報告します
  • 起動後にヘルスチェックが失敗した場合:
    • バックエンドのログを確認し、HOST_IP、プロファイル、モデルのダウンロード状況を確認します
    • 初回起動ではモデルのダウンロード/変換に時間がかかる場合があることを記載します

完了条件

  1. 要求されたランタイムプロファイルが正常に起動していること。
  2. docker compose ps で想定されるサービスが実行中であることが確認できること。
  3. ヘルスエンドポイント /v1/chatqna/health が応答すること。
  4. ユーザーにアクセス URL、API ドキュメントの URL、正確な停止コマンド、および使用したイメージタグを案内すること。
  5. デプロイのリクエストでは、準備完了の証拠として、生の docker compose ps 出力と HTTP_STATUS:200 を含む生のヘルスチェック出力を提示すること。
  6. 停止のリクエストでは、終了の証拠として生の docker ps 出力を提示すること。また、完全に停止した状態では、次の形式と一致すること: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

コメント