最近Kimi也发布了他们的视觉大模型,简单测试了一下,效果还不错,对图片中的物品识别的比较准确和细致。
Kimi的视觉分析,和之前的文本调用非常接近。Kimi采用了将图片进行Base64编码为文本的方式,进行参数传递,可以直接使用OpenAI客户端进行调用。
源代码
import os
import base64
from openai import OpenAI
client = OpenAI(
# 换成自己的Key
api_key="sk-sqdKLGHredWTrltpOSuJWCJHPHHfqGoJzZXqWmGMTOsrCsRm",
base_url="https://api.moonshot.cn/v1",
)
image_path = r"D:\test780_386.png"
with open(image_path, 'rb') as f:
image_data = f.read()
image_url = f"data:image/{os.path.splitext(image_path)[1]};base64,{base64.b64encode(image_data).decode('utf8')}"
completion = client.chat.completions.create(
model="moonshot-v1-8k-vision-preview",
messages=[
{"role": "system", "content": "I am kimi"},
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": image_url
}
},
{
"type": "text",
"text": "请详细描述图片中有什么内容"
}
]
}
]
)
print(completion.choices[0].message.content)
运行结果
图片内容:
识别结果:
C:\anaconda3\envs\train\python.exe C:/Users/jihui/PycharmProjects/train/kimi_vision_image_analysis.py
这张图片展示了一个工业环境,可能是一个工厂或车间。图片中可以看到:
1. **左侧**:有一个大型的工业设备,可能是用于生产或加工的机器。设备旁边有一个穿着蓝色工作服和安全帽的人,正在进行工装检测。
2. **中间**:地面上有一些轨道,可能是用于运输材料或设备的。轨道旁边有一个黄色的平板车,上面似乎有一些设备或材料。
3. **右侧**:有一辆红色的卡车,停在一个黄色和黑色相间的警示线旁边。卡车的前面有一个标志,上面写着“熔炼炉:1号熔炉”。
4. **背景**:可以看到一些其他的工业设备和结构,显示出这是一个繁忙的工业场所。
整体来看,这张图片展示了一个工业生产环境中的场景,有工人正在进行检测工作,有运输设备和材料的平板车,以及用于运输的卡车。
Process finished with exit code 0