3.0 KiB
3.0 KiB
| name | description | argument-hint |
|---|---|---|
| image-recognition | AI 图像识别工具。当用户提供图片并希望识别、描述、提取文字、分析画面内容或回答图片相关问题时使用。 | 需要 prompt(识别提示词)和 image_url(图片 URL) |
Image Recognition Skill
描述
这是一个 AI 图像识别技能,输入一张图片 URL 或本地图片路径和识别提示词,输出模型对图片的识别、描述或分析结果。
该技能从数据库读取当前会话的聊天 AI 配置:chat_base_url、chat_api_key 和 image_recognition_model,并调用 OpenAI 兼容的多模态 Chat Completions 接口完成图片理解。
这个仓库里额外提供了一个可执行脚本 scripts/image_recognition.py,方便宿主机器人直接调用。
触发条件
- 用户发送图片并要求描述图片内容。
- 用户说「识别这张图」「看看图片里有什么」「分析一下这张图片」。
- 用户要求从图片中提取文字、物体、场景、人物动作、票据内容等信息。
- 用户基于图片提问,例如「这是什么」「图片里的文字是什么」「这张图哪里不对」。
参数说明(JSON Schema)
调用脚本时,需要通过 shell 风格参数传入,参数结构如下:
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "图像识别提示词,用户想从图片中得到什么信息。"
},
"image_url": {
"type": "string",
"description": "图片的 URL 地址、本地图片路径,或 file:// 本地图片地址。"
}
},
"required": ["prompt", "image_url"],
"additionalProperties": false
}
对应的命令行参数为:
--prompt <识别提示词>必填--image_url <图片 URL 或本地图片路径>必填
依赖安装
- 脚本首次运行时会自动创建虚拟环境并安装依赖,无需手动执行。
- 如需手动重新安装,可执行:
python3 scripts/bootstrap.py
执行步骤
- 当用户提供图片并要求识别、描述、分析或提取信息时触发该技能。
- 从用户输入中提取
prompt和image_url,不要改写用户真正想问图片的问题。 - 在仓库根目录执行脚本,例如:
python3 scripts/image_recognition.py --prompt '请描述这张图片' --image_url 'https://example.com/image.jpg'
本地图片示例:
python3 scripts/image_recognition.py --prompt '请提取图片里的文字' --image_url '/tmp/example.jpg'
- 脚本将图片和提示词一起发送给 OpenAI 兼容的多模态模型。远程图片会直接传 URL;本地图片会转成
data:image/...;base64,...后传入image_url.url。 - 成功时,脚本输出图像识别结果文本,宿主机器人可直接作为消息回复给用户。
校验规则
prompt不能为空。image_url不能为空,支持http://、https://、file://和本地图片路径。
回复要求
- 成功时,脚本输出图片识别结果。
- 失败时,返回脚本输出的具体错误信息。