mcpField
A
aliyun-qwen-vl

aliyun-qwen-vl

github.com/cinience数据与数据库39683 次安装11 周前更新
代码仓库

关于 aliyun-qwen-vl

通过 DashScope compatible-mode API 使用 Qwen VL,将图像输入转为文本回答。支持多种图像来源、结构化提取,以及可配置的模型和重试设置。

主要功能

  1. 01分析 URL、本地或 data URL 图像
  2. 02支持 JSON 模式和 JSON Schema
  3. 03可配置模型及生成参数
  4. 04重试限流和服务器错误
  5. 05保存响应与提取结果

适用场景

  1. 01概述图像内容
  2. 02提取发票字段
  3. 03输出结构化图像分析

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cinience/alicloud-skills --skill aliyun-qwen-vl

安装后在 Claude Code 中输入/aliyun-qwen-vl确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
api_reference.md
sources.md
references/examples/
invoice.schema.json
scripts/
analyze_image.py

详细介绍

类别:提供商

Model Studio Qwen VL(图像理解)

验证

mkdir -p output/aliyun-qwen-vl
python -m py_compile skills/ai/multimodal/aliyun-qwen-vl/scripts/analyze_image.py && echo "py_compile_ok" > output/aliyun-qwen-vl/validate.txt

通过标准:命令退出码为 0,且已生成 output/aliyun-qwen-vl/validate.txt。

输出与证据

  • 将原始模型响应和规范化提取结果保存到 output/aliyun-qwen-vl/。
  • 包含输入图像引用和提示词,以便追溯。

通过 DashScope 兼容模式 API 使用 Qwen VL 模型执行图像输入 + 文本输出理解任务。

前置条件

  • 安装依赖项(建议在 venv 中安装):
python3 -m venv .venv
. .venv/bin/activate
python -m pip install requests
  • 在环境中设置 DASHSCOPE_API_KEY,或将 dashscope_api_key 添加到 ~/.alibabacloud/credentials。

重要模型名称

优先使用 Qwen3 VL 系列:

  • qwen3-vl-plus
  • qwen3-vl-flash

需要显式路由到“最新”版本或使用可复现的快照时,请使用官方模型列表中支持的别名/快照,例如:

  • qwen3-vl-plus-latest
  • qwen3-vl-plus-2025-12-19
  • qwen3-vl-flash-2026-01-22
  • qwen3-vl-flash-latest

部分工作负载中仍可见旧版名称:

  • qwen-vl-max-latest
  • qwen-vl-plus-latest

对于专门的 OCR 提取,请优先使用 skills/ai/multimodal/aliyun-qwen-ocr/,而不是通用 VL 技能。

规范化接口(multimodal.chat)

请求
  • prompt(字符串,必填):关于图像的问题/指令。
  • image(字符串,必填):HTTPS URL、本地路径或 data: URL。
  • model(字符串,可选):默认值为 qwen3-vl-plus。
  • max_tokens(整数,可选):默认值为 512。
  • temperature(浮点数,可选):默认值为 0.2。
  • detail(字符串,可选):auto/low/high,默认值为 auto。
  • json_mode(布尔值,可选):尽可能仅返回 JSON 响应。
  • schema(对象,可选):用于结构化提取的 JSON Schema。
  • max_retries(整数,可选):针对 429/5xx 的重试次数,默认值为 2。
  • retry_backoff_s(浮点数,可选):指数退避的基准秒数,默认值为 1.5。
响应
  • text(字符串):模型的主要回答。
  • model(字符串):实际使用的模型。
  • usage(对象):后端返回时包含令牌用量。

快速入门

python skills/ai/multimodal/aliyun-qwen-vl/scripts/analyze_image.py \
  --request '{"prompt":"Summarize the main content in this image","image":"https://example.com/demo.jpg"}' \
  --print-response

使用本地图像:

python skills/ai/multimodal/aliyun-qwen-vl/scripts/analyze_image.py \
  --request '{"prompt":"Extract key information from the image","image":"./samples/invoice.png","model":"qwen3-vl-plus"}' \
  --print-response

结构化提取(JSON 模式):

python skills/ai/multimodal/aliyun-qwen-vl/scripts/analyze_image.py \
  --request '{"prompt":"Extract fields: title, amount, date","image":"./samples/invoice.png"}' \
  --json-mode \
  --print-response

结构化提取(JSON Schema):

python skills/ai/multimodal/aliyun-qwen-vl/scripts/analyze_image.py \
  --request '{"prompt":"Extract invoice fields","image":"./samples/invoice.png"}' \
  --schema skills/ai/multimodal/aliyun-qwen-vl/references/examples/invoice.schema.json \
  --print-response

cURL(兼容模式)

curl -sS https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"qwen3-vl-plus",
    "messages":[
      {
        "role":"user",
        "content":[
          {"type":"image_url","image_url":{"url":"https://example.com/demo.jpg"}},
          {"type":"text","text":"Describe this image and list executable actions"}
        ]
      }
    ],
    "max_tokens":512,
    "temperature":0.2
  }'

输出位置

  • 如果设置了 --output,JSON 响应将保存到该文件。
  • 默认输出目录约定:output/aliyun-qwen-vl/。

冒烟测试

python tests/ai/multimodal/aliyun-qwen-vl-test/scripts/smoke_test_qwen_vl.py \
  --image ./tmp/vl_test_cat.png

错误处理

错误可能原因操作
401/403缺少密钥或密钥无效检查 DASHSCOPE_API_KEY 和账户权限。
400请求架构无效或图像来源不受支持验证 messages 内容以及图像 URL/路径格式。
429速率限制使用指数退避重试,并降低并发量。
5xx后端临时故障使用退避策略重试,并采用幂等请求设计。

操作指南

  • 为确保生产环境行为稳定,请固定快照模型 ID,而不要使用纯 -latest。
  • 上传前压缩超大图像,以降低延迟和成本。
  • 在提示词中明确提取约束(字段、JSON 结构、语言)。
  • 对于类似 OCR 的输出,请要求提供置信度说明和未能识别文本的标记。

工作流

  1. 确认用户意图、区域、标识符,以及操作是只读还是会修改数据。
  2. 首先运行一个最简只读查询,以验证连接和权限。
  3. 使用明确的参数和受限范围执行目标操作。
  4. 验证结果并保存输出/证据文件。

参考资料

  • 来源列表:references/sources.md
  • API 说明:references/api_reference.md

评论

支持 Markdown