# ollama_vl.py
import ollama
def qwen3_vl_chat(image_path: str, prompt: str) -> None:
"""
调用本地 Ollama 服务,使用 qwen3-vl:2b 做视觉问答。
参数:
image_path: 本地图片路径
prompt : 提问文本
打印:
模型回复字符串
"""
with open(image_path, "rb") as f:
img_bytes = f.read()
response = ollama.generate(
model="qwen3-vl:2b-instruct",
prompt=prompt,
#format='json', #没有json 请不要使用这个,使用prompt中强制输出json也可以
images=[img_bytes], # ollama 库直接支持 bytes 列表
stream=False,
options={
"temperature": 0, # 最 deterministic
"top_p": 0.5, # 可再收紧,也可保留默认
"top_k": 20, # 默认即可
"num_predict": 2048 # 按需限制最大 token 数,防瞎飘
}
)
print(response["response"])
# 简单自测
if __name__ == "__main__":
qwen3_vl_chat("a.png", "请描述这张图片里有什么")
#Ollama中查看模型是否支持JSON ,如果结果中有json 就可以使用 format='json',这个参数
ollama show qwen3-vl:2b --parameters