
Alicloud Ai Multimodal Qwen Vl Test
- 301 installs
- 396 repo stars
- Updated July 18, 2026
- cinience/alicloud-skills
alicloud-ai-multimodal-qwen-vl-test is a testing skill that runs regression tests against Alibaba Cloud Qwen-VL multimodal endpoints to verify image prompts, latency, and response quality before release.
About
alicloud-ai-multimodal-qwen-vl-test is a Claude Code skill for ML and backend developers integrating Alibaba Cloud Qwen-VL vision-language models who need repeatable endpoint validation before shipping multimodal features. The skill runs regression tests against Qwen-VL multimodal API endpoints, checking image prompt handling, response latency, and output quality against expected baselines. Developers reach for it when updating model versions, changing prompt templates, or tuning inference parameters and they need confidence that image understanding still meets release thresholds. It targets teams building document OCR, visual QA, or image-captioning pipelines on Alicloud who cannot afford silent quality regressions between deploys.
- Qwen-VL regression suite
- Multimodal prompt validation
- AliCloud endpoint smoke tests
- Response quality checks
- Pre-ship API verification
Alicloud Ai Multimodal Qwen Vl Test by the numbers
- 301 all-time installs (skills.sh)
- Ranked #702 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cinience/alicloud-skills --skill alicloud-ai-multimodal-qwen-vl-testAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 301 |
|---|---|
| repo stars | ★ 396 |
| Last updated | July 18, 2026 |
| Repository | cinience/alicloud-skills ↗ |
How do you regression test Qwen-VL multimodal endpoints?
Run regression tests against Qwen-VL multimodal endpoints to confirm image prompts, latency, and response quality before release.
Who is it for?
Backend and ML engineers shipping Qwen-VL multimodal features on Alibaba Cloud who need automated pre-release endpoint regression coverage.
Skip if: Teams not using Alibaba Cloud Qwen-VL or projects that only need one-off manual prompt testing without repeatable regression suites.
When should I use this skill?
A Qwen-VL model version, prompt template, or inference config changes and release requires verified image prompt and latency baselines.
What you get
Regression test results covering image prompt pass/fail status, latency measurements, and response quality scores against Qwen-VL baselines.
- Regression test report
- Latency and quality metrics
Files
Category: test
Minimal Viable Test
Goals
- Validate only the minimal request path for this skill.
- If execution fails, record exact error details without guessing parameters.
Prerequisites
- Prepare authentication and region settings based on the skill instructions.
- Target skill: skills/ai/multimodal/alicloud-ai-multimodal-qwen-vl
Test Steps (Minimal)
1) Open the target skill SKILL.md and choose one minimal input example. 2) Send one minimal request or run the example script. 3) Record request summary, response summary, and success/failure reason.
推荐直接运行:
python tests/ai/multimodal/alicloud-ai-multimodal-qwen-vl-test/scripts/smoke_test_qwen_vl.py \
--image output/ai-image-qwen-image/images/vl_test_cat.pngPass criteria:
- 返回 JSON 中
status=pass。 - 输出文件
output/ai-multimodal-qwen-vl/smoke-test/result.json存在。 - 结果包含非空
text,且model与请求模型一致或同前缀。
Result Template
- Date: YYYY-MM-DD
- Skill: skills/ai/multimodal/alicloud-ai-multimodal-qwen-vl
- Conclusion: pass / fail
- Notes:
#!/usr/bin/env python3
"""Executable smoke test for alicloud-ai-multimodal-qwen-vl."""
from __future__ import annotations
import argparse
import importlib.util
import json
from pathlib import Path
def load_analyze_module(repo_root: Path):
module_path = (
repo_root
/ "skills/ai/multimodal/alicloud-ai-multimodal-qwen-vl/scripts/analyze_image.py"
)
spec = importlib.util.spec_from_file_location("analyze_image", module_path)
if spec is None or spec.loader is None:
raise RuntimeError(f"Cannot load module: {module_path}")
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
def main() -> None:
parser = argparse.ArgumentParser(description="Smoke test for Qwen VL image understanding skill")
parser.add_argument(
"--image",
required=True,
help="Image URL or local path for validation",
)
parser.add_argument(
"--prompt",
default="Describe the image and list 3 visible details.",
help="Prompt for the model",
)
parser.add_argument(
"--model",
default="qwen3-vl-plus",
help="Model name to test",
)
parser.add_argument(
"--output",
default="output/ai-multimodal-qwen-vl/smoke-test/result.json",
help="Where to save smoke-test output JSON",
)
args = parser.parse_args()
repo_root = Path(__file__).resolve().parents[5]
mod = load_analyze_module(repo_root)
mod._load_env()
mod._load_dashscope_api_key_from_credentials()
req = {
"prompt": args.prompt,
"image": args.image,
"model": args.model,
"max_tokens": 512,
"temperature": 0.2,
}
result = mod.call_analyze(req)
text = result.get("text")
if not isinstance(text, str) or not text.strip():
raise RuntimeError("Smoke test failed: empty text in response")
if result.get("model") != args.model and not str(result.get("model", "")).startswith(args.model):
raise RuntimeError(
f"Smoke test failed: unexpected model. expected={args.model} actual={result.get('model')}"
)
output_path = Path(args.output)
output_path.parent.mkdir(parents=True, exist_ok=True)
output_path.write_text(json.dumps(result, ensure_ascii=True, indent=2), encoding="utf-8")
print(json.dumps({"status": "pass", "output": str(output_path)}, ensure_ascii=True))
if __name__ == "__main__":
main()
#!/usr/bin/env python3
"""Unit tests for Qwen VL analyze_image helper behaviors."""
from __future__ import annotations
import importlib.util
import json
import unittest
from pathlib import Path
def _load_module():
root = Path(__file__).resolve().parents[4]
module_path = root / "skills/ai/multimodal/alicloud-ai-multimodal-qwen-vl/scripts/analyze_image.py"
spec = importlib.util.spec_from_file_location("analyze_image", module_path)
if spec is None or spec.loader is None:
raise RuntimeError("Cannot load analyze_image module")
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module
class AnalyzeImageTests(unittest.TestCase):
def setUp(self) -> None:
self.mod = _load_module()
def test_build_payload_with_json_mode(self) -> None:
payload = self.mod.build_payload(
req={"prompt": "extract", "max_tokens": 100, "temperature": 0.0},
model="qwen3-vl-plus",
image_url="https://example.com/img.jpg",
detail="auto",
json_mode=True,
schema_obj=None,
)
self.assertEqual(payload["response_format"]["type"], "json_object")
def test_build_payload_with_schema(self) -> None:
schema = {
"type": "object",
"properties": {"name": {"type": "string"}},
"required": ["name"],
}
payload = self.mod.build_payload(
req={"prompt": "extract", "max_tokens": 100, "temperature": 0.0},
model="qwen3-vl-plus",
image_url="https://example.com/img.jpg",
detail="high",
json_mode=False,
schema_obj=schema,
)
self.assertEqual(payload["response_format"]["type"], "json_schema")
self.assertEqual(payload["response_format"]["json_schema"]["schema"], schema)
def test_extract_text_content_from_list(self) -> None:
text = self.mod.extract_text_content(
[
{"type": "text", "text": "hello"},
{"type": "reasoning", "text": "ignore"},
]
)
self.assertEqual(text, "hello")
def test_parse_json_text(self) -> None:
parsed = self.mod.try_parse_json_text('{"a":1}')
self.assertEqual(parsed, {"a": 1})
self.assertIsNone(self.mod.try_parse_json_text("not json"))
def test_extract_error_message(self) -> None:
message = self.mod.extract_error_message({"error": {"message": "bad request"}})
self.assertEqual(message, "bad request")
if __name__ == "__main__":
unittest.main()
Related skills
FAQ
What does alicloud-ai-multimodal-qwen-vl-test validate?
alicloud-ai-multimodal-qwen-vl-test validates Alibaba Cloud Qwen-VL multimodal endpoints by regression-testing image prompts, measuring latency, and checking response quality against baselines. The skill is meant to run before release so vision-language regressions are caught bef
When should Qwen-VL regression tests run?
alicloud-ai-multimodal-qwen-vl-test should run before release whenever Qwen-VL model versions, prompt templates, or inference configurations change. Running regression tests at that point confirms image understanding, latency, and output quality still meet deployment thresholds.