大模型视觉问答技能:在 Agent 里对图片做开放式 VQA

前言

做图像相关需求时,常见做法是单独接一套多模态 API,或在对话里手写上传与 prompt 拼装。图片路径、用户身份、历史记录往往各写一套,Agent 也很难稳定复现同一套流程。下面介绍 SkillHub 上的 Large Model Visual Question Answering Skill | 大模型视觉问答技能(坐标 @user_bb47e3e3/visual-qa-analysis,当前版本 1.0.4):把「看图 + 任意自然语言提问 + 云端问答与历史查询」收敛成标准 SKILL.md 与配套脚本,由 Agent 按文档触发与执行。

这是什么

一句话定位:基于计算机视觉与大语言模型的开放式图片问答(VQA) Skill,支持对任意图片提问并得到自然语言回答。

  • 出品与来源:社区发布者 user_bb47e3e3,来源为 community,分类 knowledge-management。
  • 解决的问题:统一图片输入(本地文件或公网 URL)、用户标识(open-id)、调用后端 API 问答,以及从云端拉取历史问答清单;避免 Agent 自行拼接口或误读本地记忆充当历史数据。

官方页面:SkillHub - visual-qa-analysis。SkillHub 展示评分 100000,下载 656 次;技能标签含 requires_api_key=true,表示运行链路与密钥/身份配置相关,需按文档准备。

核心功能

以下能力均来自该 Skill 的 SKILL.md(v1.0.4)说明:

  1. 开放式视觉问答:识别物体、场景、文字、图表等视觉元素,结合 LLM 对用户问题做推理,生成自然语言回答;支持多轮对话场景的描述(如图像分析、文档解读、教育辅助等)。
  2. 双通道图片输入:本地路径(--input)或网络图片 URL(--url,由 API 服务下载,Agent 侧无需先下载到本地)。
  3. 历史问答清单:通过 --list 与 --open-id 从云端接口查询历史记录,并以 Markdown 表格输出(含 reportImageUrl 跳转链接);Skill 明确要求不得用本地 memory 或 LanceDB 替代云端数据。
  4. 可配置输出:--detail 支持 basic / standard / json;可选 --output 写入结果文件。
  5. 格式与体积限制:图片支持 jpg、png、jpeg、webp,单张最大 20MB。

脚本依赖:requests>=2.28.0(见 Skill 前置准备)。

安装与启用

安装 SkillHub CLI(若尚未安装)

先确认本机是否已有 CLI:

command -v skillhub && skillhub --version

未安装时,可按 SkillHub 安装说明 执行完整安装或仅 CLI:

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only

安装本 Skill

安装时必须用 --dir 指向当前 Agent 实际使用的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。

skillhub install visual-qa-analysis --namespace user_bb47e3e3 --dir <你的 skills 目录>

也可将下面提示交给 AI,让其按官方安装文档操作:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_bb47e3e3/visual-qa-analysis`。

常见 Agent 的 skills 路径(摘自 SkillHub 安装文档):

环境 skills 目录
Cursor ~/.cursor/skills/
Claude Code ~/.claude/skills/
Codex ~/.codex/skills/ 或项目下 .agents/skills/

安装完成后,按你所用客户端要求刷新或重启 Agent,使新 Skill 被加载。

身份与配置(open-id)

执行问答前,Skill 规定按优先级获取 open-id(用作用户标识,并可能与 scripts/config.yaml 中的 api-key 字段关联):

  1. 技能目录下 scripts/config.yaml 的 api-key;
  2. 若存在共享配置:skills/smyx_common/scripts/config.yaml 的 api-key;
  3. 用户在本轮对话中明确提供的 open-id;
  4. 以上皆无则暂停并提示用户提供用户名或手机号作为 open-id。

禁止自行编造 open-id。可选参数 --api-key 用于 API 访问密钥;未正确鉴权时按 Skill 说明处理。

典型用法

在技能根目录下调用模块(与官方示例一致):

# 本地图片
python -m scripts.visual_qa_analysis \
  --input /path/to/image.jpg \
  --question "这张图片里有什么内容?请描述一下" \
  --open-id <你的-open-id>

# 网络图片(URL 由 API 侧下载)
python -m scripts.visual_qa_analysis \
  --url https://example.com/image.jpg \
  --question "图片中有几个人,他们在做什么?" \
  --open-id <你的-open-id>

# 云端历史问答列表
python -m scripts.visual_qa_analysis --list --open-id <你的-open-id>

# 精简输出或落盘
python -m scripts.visual_qa_analysis \
  --input image.jpg \
  --question "描述一下这张图片" \
  --open-id <你的-open-id> \
  --detail basic

python -m scripts.visual_qa_analysis \
  --input image.jpg \
  --question "请识别图片中的文字内容" \
  --open-id <你的-open-id> \
  --output result.json

在 Agent 对话中的触发方式(摘自 Skill 约定):用户提供图片 URL/文件并提问;或出现 VQA、看图问答、图片问答等关键词且已上传图片;查询历史时使用「查看历史问答记录」「视觉问答历史」等表述时,应走 --list 云端查询而非本地记忆。

接口细节与错误码见技能内 references/api_doc.md(需要时再让 Agent 读取,避免撑爆上下文)。

适用场景与注意

适合谁

  • 需要在 Cursor、Claude Code、Codex 等环境中,用统一 Skill 完成「上传或引用图片 + 自由提问」的开发者或团队。
  • 希望历史问答与当前会话分离、由云端归档并可列表查看的场景。

限制与注意

  • 回答由大模型生成,Skill 注明仅供参考,关键信息需人工核实。
  • 必须准备有效 open-id 及(按需)API 密钥;标签 requires_api_key=true 表示不能假设零配置即可调用生产接口。
  • 历史记录只能走云端 API;Skill 禁止读取 memory/、MEMORY.md 或 LanceDB 作为回退。
  • 仅使用技能自带脚本,不要临时生成替代脚本;网络图传 URL 即可,无需 Agent 先下载到本地。

结尾

大模型视觉问答技能把 VQA 的输入规范、身份获取、API 调用与历史清单输出写进同一套 Agent Skill,减少每次对话重新约定接口的行为。若要安装或查看元数据,请访问 SkillHub 技能页 或 API 坐标页 https://api.skillhub.cn/user_bb47e3e3/visual-qa-analysis。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜