智谱 GLM 解析图片时,应使用支持视觉输入的模型,把图片作为 image_url 内容块传入,再用文本提示规定要提取什么。图片理解与图片生成是两件事:本题输入现有图片、输出文字分析,不调用 GLM-Image 生成新图。
准备一张有标准答案的测试图
先制作一张简单图片:白底上写“订单号 ORDER-27”,旁边放一个红色圆形和两个蓝色方块。保存前人工记录标准答案。不要一开始就用身份证、合同、病历或客户照片;真实材料需要授权和脱敏。

智谱GLM-5.3-Flash 官方说明列出图像、视频、文本和文件输入,并说明可在 messages[].content[] 中添加 image_url,通过 URL 或 Base64 Data URL 传图。模型代码和参数以后可能变化,应以当前页面为准。
用 URL 传入图片
import os
from zai import ZhipuAiClient
client = ZhipuAiClient(api_key=os.environ["ZAI_API_KEY"])
response = client.chat.completions.create(
model="glm-5.3-flash",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {"url": "https://example.com/test-order-27.png"}
},
{
"type": "text",
"text": (
"请读取图片中的订单号,并分别统计红色圆形和蓝色方块数量。"
"只输出 JSON:order_id、red_circle、blue_square、uncertain。"
)
}
]
}]
)
print(response.choices[0].message.content)
示例 URL 必须换成你有权访问且模型服务能读取的 HTTPS 地址。私网、临时签名过期、防盗链或需要登录的 URL 可能失败。使用 Base64 时要按官方格式构造 Data URL,并注意请求体大小。
结果怎么核对
- 确认返回能解析成 JSON,没有额外 Markdown 围栏。
order_id应严格等于ORDER-27,不能自动改成别的编号。- 红色圆形数量应为 1,蓝色方块数量应为 2。
- 把文字缩小、遮住一个方块再测,模型应在
uncertain中说明不确定,而不是自信补全。 - 关键 OCR 结果应再用专用 OCR 或人工抽查,不能只凭一次视觉模型回答入库。
提高可复核性的提示词
只描述画面中直接可见的内容,不推测人物身份、地点或时间。
文字逐字抄录;无法辨认的位置写[无法辨认]。
计数时先列出每个对象的位置,再给总数。
把“可见事实”和“可能解释”分成两个字段。
如果要处理多张图片,为每张图指定稳定编号,并要求答案带 image_id。不要把多图结果混成一个无法追溯的总结。
常见失败与边界
- 小字、倾斜、反光、遮挡和低分辨率会影响文字识别。
- 相似图形、密集物体和局部裁切会造成漏数或重复计数。
- 模型可能基于场景常识推测图片外内容;提示词只能降低风险,不能消除。
- 图片 URL 可访问不代表你有权上传或处理,涉及个人信息时先确认合规要求。
本文没有用你的 Key 请求智谱接口,示例图片和结果标准均为教学设计,并非模型实测输出。模型版本、内容块格式、额度和可访问 URL 规则应在实际账号中再次核对。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32940.html