mcpField
H
huawei-cloud-ascend-models-deploy

huawei-cloud-ascend-models-deploy

github.com/huaweicloudクラウド・DevOps59425 回インストール2 日前に更新
リポジトリ

huawei-cloud-ascend-models-deploy について

huawei-cloud-ascend-models-deploy は、Huawei Cloud Ascend DevServer(910B シリーズ)でモデルをデプロイ、テストするスキルです。DevServer を扱うエージェントのワークフロー向けで、単機・2 台構成、推論テスト、状態監視、モデル別スクリプト選択に対応します。

主な機能

  1. 01単機および2台構成でモデルをデプロイ
  2. 02LLM、視覚言語、Embedding、Rerank の推論をテスト
  3. 03デプロイログと状態を確認
  4. 04モデルカテゴリに応じてスクリプトを選択
  5. 05対応モデルカタログを表示

活用シーン

  1. 01Ascend 910B DevServer にモデルをデプロイ
  2. 02テキストまたはマルチモーダルモデルの推論をテスト
  3. 03デプロイ中にログと状態を確認
  4. 04モデルカテゴリに合わせたデプロイコマンドを作成

インストール

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

$npx skills add https://github.com/huaweicloud/huaweicloud-skills --skill huawei-cloud-ascend-models-deploy

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

同梱ファイル

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

references/
acceptance-criteria.md
api-parameters.md
model-catalog.md
prerequisites.md
task-deploy-model.md
task-test-model.md
troubleshooting.md
verification-method.md
scripts/
deploy_helper.py

詳細

Huawei Cloud Ascend Models Deploy

Huawei Cloud Ascend DevServer(910B シリーズ)で大規模言語モデルをデプロイしてテストします。単一マシンおよび2台構成のデプロイ、モデル推論テスト、デプロイ監視に対応しています。

概要

このスキルでは、Huawei Cloud Ascend DevServer(910B シリーズ)で大規模言語モデルをデプロイしてテストします。LLM、VL、Embedding、Rerank モデルの単一マシンおよび2台構成のデプロイに対応しています。

関連スキル(エージェントによるオーケストレーション。直接呼び出し不可。ルール 3):

  • huawei-cloud-ascend-remote-connect - DevServer への SSH 接続(デプロイの前提条件)
  • huawei-cloud-ascend-command - NPU の状態確認と監視(前提条件およびデプロイ後の監視)

機能:

  • モデルのデプロイ(単一ノード、2ノード)
  • 推論テスト(LLM チャット、VL マルチモーダル、Embedding、Rerank)
  • デプロイログと状態の監視
  • モデルカタログとスクリプトの自動照合

デプロイワークフロー(エージェントによるオーケストレーション):

  1. エージェントが huawei-cloud-ascend-remote-connect を呼び出して SSH 接続を確立します
  2. エージェントが huawei-cloud-ascend-command を呼び出して NPU の健全性と使用可否を確認します
  3. エージェントがこのスキル(huawei-cloud-ascend-models-deploy)を呼び出してモデルをデプロイします
  4. エージェントが huawei-cloud-ascend-command を呼び出して、デプロイ中の NPU の状態を監視します

アーキテクチャ

システムアーキテクチャ図
┌─────────────────────────────────────────────────────────────────────┐
│                         Agent Orchestration                         │
│  ┌─────────────────────────────────────────────────────────────┐    │
│  │  1. SSH connect (remote-connect)                             │    │
│  │  2. NPU health check (ascend-command)                        │    │
│  │  3. Deploy model (this skill)                                 │    │
│  │  4. Monitor NPU (ascend-command)                             │    │
│  └────────────────────────────┬────────────────────────────────┘    │
│                               │ Explicit param passing (Rule 1)    │
│                               ▼                                     │
├─────────────────────────────────────────────────────────────────────┤
│              Huawei Cloud Ascend Models Deploy                      │
│                      (Stateless, Rule 2)                            │
├─────────────────────────────────────────────────────────────────────┤
│  ┌──────────────────┐    ┌──────────────────────────────────┐      │
│  │  Natural Language│    │          Deploy Helper           │      │
│  │     Commands     │───▶│  - Model Matching & Catalog      │      │
│  └──────────────────┘    │  - Script Auto-Match             │      │
│                          │  - Command Generation            │      │
│                          └──────────────────────────────────┘      │
│                                           │                         │
│          ┌─────────────────────────────────┼──────────────┐        │
│          ▼                                 ▼              ▼        │
│  ┌───────────────┐              ┌─────────────────┐ ┌────────┐    │
│  │ Model         │              │ Inference       │ │ Log    │    │
│  │ Deployment    │              │ Testing         │ │ Status │    │
│  │               │              │                 │ │        │    │
│  │ • Single-node │              │ • LLM Chat      │ │ • View │    │
│  │ • Dual-node   │              │ • VL Multimodal │ │ • Check│    │
│  │ • 910B Series │              │ • Embedding     │ │        │    │
│  └───────────────┘              │ • Rerank        │ └────────┘    │
│                                 └─────────────────┘               │
└─────────────────────────────────────────────────────────────────────┘
エージェントのオーケストレーションフロー
User request: "Deploy Qwen2.5-72B on DevServer 116.204.23.145"
         │
         ▼
┌─────────────────────────────────────────────────────────────┐
│ Agent Step 1: SSH Connection                                 │
│   → Call huawei-cloud-ascend-remote-connect                  │
│   → Pass: host, user, password (explicit, Rule 1)            │
└─────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────┐
│ Agent Step 2: NPU Health Check                               │
│   → Call huawei-cloud-ascend-command                         │
│   → Check: NPU list, health, HBM availability                │
│   → Fail if NPU not healthy or insufficient HBM              │
└─────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────┐
│ Agent Step 3: Deploy Model (this skill)                      │
│   → Match model from catalog                                 │
│   → Generate deploy script                                   │
│   → Execute deployment                                        │
│   → Stateless execution (Rule 2)                             │
└─────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────┐
│ Agent Step 4: Monitor NPU                                    │
│   → Call huawei-cloud-ascend-command                         │
│   → Monitor: HBM usage, temperature, processes               │
└─────────────────────────────────────────────────────────────┘
         │
         ▼
      Deployment Complete
関連スキル一覧
スキル目的オーケストレーション段階
huawei-cloud-ascend-remote-connectSSH 接続デプロイ前:DevServer への接続を確立
huawei-cloud-ascend-commandNPU 管理デプロイ前:健全性チェック。デプロイ後:監視

注:スキル間の直接呼び出しはありません。すべてのオーケストレーションは、ユーザーの意図に基づいてエージェントが行います(ルール 3)。

前提条件

前提条件の確認:Ascend 910B シリーズが必要です

  • 対応:910B1、910B2、910B3、910B4
  • 非対応:910A、310、310P など
  • 次のコマンドで確認します:npu-smi info

必須ルール(AI は必ず従うこと)

  1. 記憶だけでコマンドを推測しないでください — 必ず「デプロイスクリプトの自動照合」セクションを読んでください
  2. 最初に deploy_helper.py を呼び出してください — モデルのカテゴリとスクリプト URL を確認します
  3. モデルごとに使用するスクリプトが異なります:
    • LLM / Embedding / Rerank → deploy-large-models.sh
    • VL → deploy-qwen3-vl-model.sh
    • OpenSource → deploy-ai-models.sh
  4. デプロイ前に検証してください — ポート、NPU、モデル、カード数
  5. コマンドを表示して確認を待ってください — 影響の大きい操作のため、直接実行しないでください

自然言語の理解ルール

ユーザーの自然言語から重要な情報を抽出し、コマンドを正確に組み立てます。

操作タイプの判定
キーワード操作
deploy / start / launch単一マシンへのデプロイ
dual-machine / two-node / dual-node2台構成でのデプロイ
test / inference / callテスト(実行)
write command / generate commandテストコマンドの作成(生成のみ、実行しない)
deployment log / view logデプロイログの表示
deployment status / is readyデプロイ状態の表示
model list / supported modelsモデルカタログの表示
parameter help / API parametersパラメータマニュアルの表示
情報抽出ルール

モデル名(あいまい一致、大文字・小文字を区別しない、カード数フィルターに対応):

  • "qwen3-14b" → Qwen3-14B
  • "qwen3-235b" → 複数候補が一致します。Instruct バージョン(Qwen3-235B-A22B-Instruct-2507)を優先するか、ユーザーに確認してください
  • "vl-32b" → Qwen3-VL-32B-Instruct
  • "bge-m3" → bge-m3
  • "qwen3-vl" + 2 cards → カード数が2以下のVLモデルを一致候補として、ユーザーが選べるように一覧表示します
  • "qwen3" + 2 cards → カード数が2以下のすべてのQwen3モデルを一致候補として、ユーザーが選べるように一覧表示します
  • 複数候補 → すべての候補(カード数とカテゴリを含む)を一覧表示し、ユーザーに確認します
  • 一致なし → モデルカタログ全体を表示して、ユーザーに選択してもらいます

カード数:

  • "2 cards" / "use 2 cards" / "2 npus" → 2
  • "16 cards" / "16 npus" → 16
  • "dual-machine" → 16
  • 指定なし → モデルカタログに記載された最小カード数を使用します

ポート:

  • "port 8022" / "port:8022" → 8022
  • 指定なし → デフォルトは8080です

不足しているパラメーター(それぞれ確認し、不足分を質問します):

  • モデル名が不足 → "Please specify model name" + モデル一覧を表示します
  • カード数が不足 → "Please specify card count, e.g.: 2 cards" + このモデルに必要な最小カード数を表示します
  • ポートが不足 → "Please specify port (default 8080), e.g.: port 8001"
  • デュアルマシンでヘッドIPが不足 → "Please specify head node IP, e.g.: head:192.168.1.1"
  • デュアルマシンでワーカーIPが不足 → "Please specify worker node IP, e.g.: worker:192.168.1.2"

ヘッド/ワーカーIP(デュアルマシンデプロイ):

  • "head:1.1.1.1" / "head node 1.1.1.1" → ヘッドノードのIP
  • "worker:2.2.2.2" / "worker node 2.2.2.2" → ワーカーノードのIP

プロンプト:

  • "prompt:hello" / "ask:hello" → プロンプトのテキスト
  • 指定なし → LLMのデフォルトは "hello"、VLのデフォルトは "describe the image"、Embeddingのデフォルトは "I love shanghai"、Rerankのデフォルトは "What is the capital of France?"

画像URL(VLテスト):

  • "image:https://xxx.jpg" / URLを直接指定 → 画像URL
  • ユーザーが画像を添付 → base64データURLに自動変換します
  • 指定なしでマルチモーダルモデルをテストする場合 → 画像URLをユーザーに求めます

マルチモーダル機能の自動検出:

  • VLカテゴリ → マルチモーダルに対応
  • OpenSource:Qwen3.6-35B-A3B、Qwen3.6-27B → マルチモーダルに対応
  • LLMカテゴリ → テキストのみ
  • Embedding → テキストのみ
  • Rerank → テキストのみ

画像URL変換(ローカル画像 → データURL):

# Efficient base64 conversion
IMG_B64=$(base64 -w 0 ${local_image_path})
IMG_URL="data:image/jpeg;base64,${IMG_B64}"

高度なパラメーター(任意):

  • "max_tokens:64" → max_tokens=64
  • "temperature:0.7" → temperature=0.7
  • "stream" → stream=true
  • "system:You are assistant" → system_prompt
  • "disable thinking" / "no thinking" → chat_template_kwargs: {"enable_thinking": false}
  • (デフォルト = 思考モード有効)

思考モード: Qwen3/Qwen3.6モデルはデフォルトで思考モードになり、最終回答の前に推論プロセスを出力します。

  • 思考モードを有効にする:品質が向上しますが、トークン消費量が増えます
  • 思考モードを無効にする:直接出力し、トークン消費量を抑えます。簡単な問い合わせに適しています
  • "chat_template_kwargs": {"enable_thinking": false/true} でリクエスト単位に制御できます

対応マシンタイプ

Ascend 910Bシリーズ(910B1 / 910B2 / 910B3 / 910B4)のみです。デプロイ前にNPUモデルを確認し、910Bシリーズ以外は拒否する必要があります。


モデルカタログ

大規模言語モデル(LLM)— エンドポイント:/v1/chat/completions
モデル最小カード数
Qwen3-14B1
Qwen3-30B-A3B-Instruct-25072
Qwen3-32B2
Qwen3-235B-A22B-Thinking-250716
Qwen3-235B-A22B-Instruct-250716
DeepSeek-R1-Distill-Llama-70B4
視覚言語(VL)— エンドポイント:/v1/chat/completions
モデル最小カード数
Qwen3-VL-30B-A3B-Instruct2
Qwen3-VL-32B-Instruct2
Qwen3-VL-235B-A22B-Instruct16
Qwen3-VL-235B-A22B-Instruct-W8A88
Embedding — エンドポイント:/v1/embeddings(V0バックエンドのみ、単一カードのみ)
モデル最小カード数マルチカード
Qwen3-Embedding-8B1いいえ
bge-large-zh-v1.51いいえ
bge-m31いいえ
Rerank — エンドポイント:/v1/rerank(カード1枚のみ)
モデル最小カード数複数カード
Qwen3-Reranker-8B1いいえ
bge-reranker-v2-m31いいえ
OpenSource(マルチモーダル)
モデル最小カード数機能
Qwen3.6-35B-A3B2テキスト+画像(MoE)
Qwen3.6-27B2テキスト+画像(MoE)
Qwen3-Next-80B-A3B-Instruct4LLM
DeepSeek-V4-Flash-w8a8-mtp8LLM

デプロイスクリプトの自動照合(必ず使用し、スクリプト URL を推測しないでください)

スクリプトのパス: scripts/deploy_helper.py

照合ルール(ハードコード済み、精度100%):

モデルカテゴリデプロイスクリプト備考
LLMdeploy-large-models.shEmbedding/Rerank と共用
Embeddingdeploy-large-models.sh上記と同じ
Rerankdeploy-large-models.sh上記と同じ
VLdeploy-qwen3-vl-model.shマルチモーダル専用
OpenSourcedeploy-ai-models.shOpenSource 専用

使用方法:

# Match model (returns category, script URL, min cards, etc.)
python3 scripts/deploy_helper.py match <model_name>

# Generate deploy command directly
python3 scripts/deploy_helper.py command <model_name> <cards> <port>

# List all models (optional category filter)
python3 scripts/deploy_helper.py list [LLM|VL|Embedding|Rerank|OpenSource]

AI は最初に deploy_helper.py match を呼び出してカテゴリとスクリプトを確認し、その後、返された deploy_url を使ってコマンドを組み立てる必要があります。記憶から推測しないでください!


基本コマンド

モデルのデプロイとテストに使用する基本コマンドです。詳細な手順については、操作フローを参照してください。

コマンド説明
deploy <model> <port>単一マシンにモデルをデプロイ
deploy <model> <port> <cards>指定したカード数でデプロイ
dual-machine deploy <model> head:<IP> worker:<IP> port:<PORT>2台構成のクラスターにデプロイ
test <model> <port>モデルの推論をテスト
deployment logデプロイログを表示
deployment statusデプロイ状況を確認
model list対応モデルを表示

操作フロー

I. デプロイ
1. デプロイ前の確認(毎回必ず実行し、省略不可)

順番に確認し、いずれかが失敗したら停止します。

  1. NPU モデルの確認 — エージェントは huawei-cloud-ascend-command を呼び出してチップモデルを確認し、910B シリーズ以外は拒否します
  2. NPU カード数の確認 — エージェントは huawei-cloud-ascend-command を呼び出して利用可能なカードを確認し、必要なカード数以上であることを確認します
  3. ユーザー指定カード数の確認 — ユーザーが指定したカード数は最小数以上で、対応範囲(1、2、4、8、16)内である必要があります
  4. Embedding/Rerank の単一カード確認 — Embedding と Rerank はカード1枚のみ対応しており、複数カードは拒否します
  5. ポート使用状況の確認 — エージェントは huawei-cloud-ascend-remote-connect を呼び出して ss -tlnp | grep :port を実行し、使用中の場合は通知します
  6. SSH 接続の確認 — 2台構成の場合、ヘッドノードとワーカーノードの両方に SSH 接続できることを確認します
2. 単一マシンへのデプロイ

ユーザーが「deploy model_name port XXXX」または「deploy model_name port XXXX N cards」と指示した場合

デプロイ前に、SSH 経由で mkdir -p /home/modelarts-agent を実行し、ディレクトリが存在することを確認する必要があります。

LLM/Embedding/Rerank コマンドテンプレート:

nohup bash -c 'export model_name=${model} && export required_cards=${cards} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-large-models/single-machine/deploy-large-models.sh && chmod 755 /home/modelarts-agent/deploy-large-models.sh && sh /home/modelarts-agent/deploy-large-models.sh ${model} ${cards} ${port}' > /home/modelarts-agent/deploy_${model}.log 2>&1 &

VL マルチモーダルコマンドテンプレート:

nohup bash -c 'export model_name=${model} && export required_cards=${cards} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-vl-model/single-machine/deploy-qwen3-vl-model.sh && chmod 755 /home/modelarts-agent/deploy-qwen3-vl-model.sh && sh /home/modelarts-agent/deploy-qwen3-vl-model.sh ${model} ${cards} ${port}' > /home/modelarts-agent/deploy_${model}.log 2>&1 &

OpenSource コマンドテンプレート:

nohup bash -c 'export model_name=${model} && export required_cards=${cards} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-large-models/single-machine/open_source/deploy-ai-models.sh && chmod 755 /home/modelarts-agent/deploy-ai-models.sh && sh /home/modelarts-agent/deploy-ai-models.sh ${model} ${cards} ${port}' > /home/modelarts-agent/deploy_${model}.log 2>&1 &
3. 2台構成でのデプロイ

ユーザーが「dual-machine deploy model_name head:IP worker:IP port XXXX」と指示した場合

2台構成でデプロイする前に、ヘッドノードとワーカーノードの両方で mkdir -p /home/modelarts-agent を実行する必要があります。

ヘッドノードのコマンドテンプレート:

nohup bash -c 'export ray_head_ip=${head_ip} && export model_name=${model} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-large-models/dual-machine/qwen3-235b-a22b.sh && chmod 755 /home/modelarts-agent/qwen3-235b-a22b.sh && sh /home/modelarts-agent/qwen3-235b-a22b.sh head ${head_ip} ${model} ${port}' > /home/modelarts-agent/deploy_${model}_head.log 2>&1 &

ワーカーノードのコマンドテンプレート:

nohup bash -c 'export ray_head_ip=${head_ip} && export model_name=${model} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-large-models/dual-machine/qwen3-235b-a22b.sh && chmod 755 /home/modelarts-agent/qwen3-235b-a22b.sh && sh /home/modelarts-agent/qwen3-235b-a22b.sh worker ${head_ip} ${model} ${port}' > /home/modelarts-agent/deploy_${model}_worker.log 2>&1 &

VL の2台構成でのデプロイ:

VL モデル(Qwen3-VL-235B-A22B-Instruct など)には、以下のスクリプトを使用します。

VL ヘッドノードのコマンド:

nohup bash -c 'export ray_head_ip=${head_ip} && export model_name=${model} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-vl-model/dual-machine/qwen3-vl-235b-a22b.sh && chmod 755 /home/modelarts-agent/qwen3-vl-235b-a22b.sh && sh /home/modelarts-agent/qwen3-vl-235b-a22b.sh head ${head_ip} ${model} ${port}' > /home/modelarts-agent/deploy_${model}_head.log 2>&1 &

VL ワーカーノードのコマンド:

nohup bash -c 'export ray_head_ip=${head_ip} && export model_name=${model} && export port=${port} && wget -P /home/modelarts-agent/ https://documentation-samples-17.obs.cn-north-9.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-module/quickly-deploy-llm-on-modelarts-lite-devserver/userdata/deploy-vl-model/dual-machine/qwen3-vl-235b-a22b.sh && chmod 755 /home/modelarts-agent/qwen3-vl-235b-a22b.sh && sh /home/modelarts-agent/qwen3-vl-235b-a22b.sh worker ${head_ip} ${model} ${port}' > /home/modelarts-agent/deploy_${model}_worker.log 2>&1 &
4. デプロイ確認フロー

機密性の高い操作です。実行前にコマンド全体を表示し、ユーザーの「confirm」を待つ必要があります。

デプロイコマンド送信後:

  1. ユーザーに通知します:準備完了。${model} のデプロイを開始します。ログは /home/modelarts-agent/deploy_${model}.log にあります
  2. 2 分ごとにログを確認し、進捗(重みの読み込み、Dynamo のコンパイル、サービスの起動など)を報告します
  3. ポートがリッスン状態になったら、デプロイ成功を通知します
  4. デプロイ失敗時の対応(厳守):
    • デプロイ失敗 = 失敗理由を報告し、自動で再試行しません
    • イメージを自動で変更して再試行することは決してありません
    • パラメーターを自動で変更して再試行することは決してありません
    • 別のデプロイ方法を試すことは決してありません
    • エラーのみを報告し、次のステップはユーザーに判断してもらいます
  5. ユーザーにAPI のサンプルを出力します:
Deployment successful! ${model} is ready

Service URL: http://${IP}:${PORT}/v1/chat/completions

Example request:
curl -X POST http://${IP}:${PORT}/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"${model}","messages":[{"role":"user","content":"hello"}],"max_tokens":256}'

Multimodal request (if supported):
curl -X POST http://${IP}:${PORT}/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"${model}","messages":[{"role":"user","content":[{"type":"image_url","image_url":{"url":"image_url"}},{"type":"text","text":"describe the image"}]}],"max_tokens":512}'

II. デプロイログ

ユーザーの指示:「deployment log model_name」

エージェントは huawei-cloud-ascend-remote-connect を使って実行します:

tail -50 /home/modelarts-agent/deploy_${model}.log

III. デプロイ状況

ユーザーの指示:「deployment status port XXXX」

エージェントは huawei-cloud-ascend-remote-connect を使って実行します:

ss -tlnp | grep :

ポートがリッスン状態 = サービスのテスト準備完了です。


IV. テスト(実行)

ユーザーの指示:「test model_name prompt:xxx」または「test model_name image:URL」

テストフロー(厳守):

  1. ユーザーが確認できるよう、curl コマンド全体を表示します
  2. 実行前にユーザーの「confirm」または「send」を待ちます
  3. 構造化された結果を出力します:
Test Result

| Field | Value |
|-------|-------|
| id | chatcmpl-xxx |
| model | Qwen3-VL-32B-Instruct |
| prompt_tokens | 93 |
| completion_tokens | 400 |
| total_tokens | 493 |
| finish_reason | stop |

Model Response:
[Extract full content, no truncation]

Raw Response:
[Full JSON, no truncation]
LLM チャット補完
curl -s -X POST http://${IP}:${PORT}/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"${model}","messages":[{"role":"user","content":"${prompt}"}],"max_tokens":1024,"temperature":0.7}'
マルチモーダル VL
curl -s -X POST http://${IP}:${PORT}/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{"model":"${model}","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"image_url","image_url":{"url":"${image_url}"}},{"type":"text","text":"${prompt}"}]}],"max_tokens":512,"temperature":0.7}'
埋め込み
curl -s -X POST http://${IP}:${PORT}/v1/embeddings \
  -H 'Content-Type: application/json' \
  -d '{"model":"${model}","input":"${text}"}'
リランク
curl -s -X POST http://${IP}:${PORT}/v1/rerank \
  -H 'Content-Type: application/json' \
  -d '{"model":"${model}","query":"${query}","documents":["${doc1}","${doc2}"]}'

V. テストコマンドの作成(生成のみ)

ユーザーの指示:「write test command model_name prompt:xxx」

「test」と同じロジックですが、コマンドテキストを出力するだけで、実行はしません。


API パラメーターのマニュアル

LLM パラメーター(/v1/chat/completions)
パラメーター必須デフォルト説明
modelはい—モデル名。デプロイ時と同じです
messagesはい—メッセージのリスト。各メッセージには role と content が含まれます
max_tokensいいえ16最大生成トークン数
temperatureいいえ1.0サンプリングのランダム性。0=貪欲法
top_pいいえ1.0nucleus サンプリングのしきい値
top_kいいえ-1上位 K 個のトークンのみを考慮します
streamいいえfalseストリーミング出力(SSE)
chat_template_kwargsいいえ{}テンプレートのパラメーター。例:{"enable_thinking": false}
VL の追加パラメーター
パラメーター説明
content[]配列形式:image_url オブジェクト+text オブジェクト
detail画像の精度:auto/high/low
埋め込みパラメーター(/v1/embeddings)
パラメーター必須説明
modelはいモデル名
inputはい文字列または文字列のリスト
encoding_formatいいえfloat/base64
リランクパラメーター(/v1/rerank)
パラメーター必須説明
modelはいモデル名
queryはいクエリテキスト
documentsはいリランクするドキュメントのリスト
top_nいいえ上位 N 件を返します

実行モード

このスキルはステートレスモード(ルール 2)で動作します。すべてのコンテキスト(ホスト、認証情報、モデル情報)はエージェントから明示的に渡す必要があります(ルール 1)。

前提条件(エージェントによるオーケストレーション)

このスキルを呼び出す前に、エージェントは必ず以下を実行する必要があります:

  1. huawei-cloud-ascend-remote-connect を使ってSSH 接続を確立します

    • エージェントはユーザーからホスト、ポート、ユーザー、パスワードを受け取ります
    • エージェントは接続が成功したことを検証します
  2. huawei-cloud-ascend-command を使ってNPU の状態を確認します

    • エージェントは NPU の健全性と HBM の空き容量を確認します
    • エージェントはモデルのデプロイに十分な数のカードがあることを検証します
スキルの実行

このスキルはエージェントから明示的なパラメーターを受け取ります:

# Model matching (local operation)
python3 scripts/deploy_helper.py match <model_name>

# Script URL generation (local operation)
python3 scripts/deploy_helper.py script <model_name>

# Deploy command generation (local operation)
python3 scripts/deploy_helper.py command <model> <cards> <port>
リモートデプロイの実行

エージェントはリモートサーバー上でデプロイコマンドを実行します:

# Agent uses SSH to execute deployment on DevServer
ssh root@<host> "cd /path/to/model && bash deploy.sh"
デプロイ後(エージェントによるオーケストレーション)

デプロイ後、エージェントは huawei-cloud-ascend-command を呼び出して以下を実行します:

  • NPU の HBM 使用量を監視します
  • デプロイプロセスの状態を確認します
  • モデルのエンドポイントが応答していることを検証します
パラメータのフロー
User Input                    Agent                      This Skill
    │                          │                            │
    │ host, password           │                            │
    ├─────────────────────────▶│                            │
    │                          │ SSH connect                │
    │                          ├───────────────────────────▶│
    │                          │                            │ (remote-connect)
    │                          │◀───────────────────────────┤
    │                          │                            │
    │                          │ NPU check                  │
    │                          ├───────────────────────────▶│
    │                          │                            │ (ascend-command)
    │                          │◀───────────────────────────┤
    │                          │                            │
    │ model_name, cards        │                            │
    ├─────────────────────────▶│                            │
    │                          │ match model                │
    │                          ├───────────────────────────▶│
    │                          │                            │ deploy_helper.py
    │                          │◀───────────────────────────┤
    │                          │                            │
    │                          │ execute deploy             │
    │                          ├───────────────────────────▶│
    │                          │                            │ (via SSH)
    │                          │◀───────────────────────────┤
    │                          │                            │
    │                          │ monitor NPU                │
    │                          ├───────────────────────────▶│
    │                          │                            │ (ascend-command)
    │                          │◀───────────────────────────┤
    │                          │                            │
    ▼                          ▼                            ▼

注記:スキル間の直接呼び出しはありません。すべてのオーケストレーションはエージェントが行います(ルール 3)。


参考資料

ドキュメント説明
task-deploy-model.mdデプロイタスクの手順
task-test-model.mdテストタスクの手順
model-catalog.mdモデルカタログの全内容
api-parameters.mdAPI パラメータのリファレンス
prerequisites.md前提条件のチェックリスト
verification-method.md検証手順
troubleshooting.mdトラブルシューティングガイド
scripts/deploy_helper.pyモデル照合ヘルパー

コメント