视力
我们最新的Pixtral 12B引入了视觉功能,使其能够分析图像,并根据文本和视觉内容提供见解。这种多模式方法为需要文本和视觉理解的应用程序开辟了新的可能性。
传递图像URL
如果图像是在线托管的,您只需在请求中提供图像的URL即可。这种方法很简单,不需要任何编码。
- python
- 打字稿
- 卷曲
进口 os
从 米斯特拉伊 进口
#从环境变量中检索API键
api_key = os.环境[“MIUI_API_KEY”]
#指定型号
模型 = “pixtral-12b-2409”
#初始化MIUI客户端
客户 = (api_key =api_key )
#定义聊天消息
信息 = [
{
“角色”: “用户”,
“内容”: [
{
“类型”: “文本”,
“文本”: “这张照片里有什么?”
},
{
“类型”: “image_url”,
“image_url”: “/static/picture/eiffel塔与雪.jpeg”
}
]
}
]
#获取聊天响应
聊天响应 =客户 .聊天.完成(
模型 =模型 ,
信息 =信息
)
#打印响应内容
打印(聊天响应 .选择[0].消息.内容)
进口 { } 从 “@MIUIai/MIUIai”;
const apiKey = 过程.env[“MIUI_API_KEY”];
const客户 = 新 ({ apiKey : apiKey });
const chatResponse = 等待客户 .聊天.完成({
模型 : “pixtral-12b”,
信息 : [
{
角色: “用户”,
内容: [
{ 类型: “文本”, 文本: “这张照片里有什么?” },
{
类型: “image_url”,
imageUrl: “/static/picture/eiffel塔与雪.jpeg”,
},
],
},
],
});
慰问.日志(“JSON:”, chatResponse .选择[0].消息.内容);
卷曲 https://www.miuiai.com/v1/chat/completions \
H “内容类型:应用程序/json” \
H “授权:持票人 $MIUI_API_KEY" \
d '{
“型号”:“pixtral-12b-2409”,
“消息”:[
{
“角色”:“用户”,
“内容”:[
{
“类型”:“文本”,
“text”:“这张图片里有什么?”
},
{
“type”:“image_url”,
“image_url”:“/static/picture/eiffel雪塔.jpeg”
}
]
}
],
“max_tokens”:300
}'
传递Base64编码图像
如果您在本地存储了一个或一组图像,则可以将它们以base64编码格式传递给模型。Base64编码是一种将二进制数据转换为易于在互联网上传输的文本格式的常用方法。当您需要在API请求中包含图像时,这尤其有用。
进口 base64
进口 请求:
进口 os
从 米斯特拉伊 进口
def encode_image(图像路径):
“”“将图像编码为base64。”“”
尝试:
具有 打开(图像路径, “rb”) 作为 图像文件:
返回 base64.b64编码( 图像文件.阅读()).解码('utf-8')
除了 FileNotFound错误:
打印(f“错误:文件 {图像路径} 未找到。")
返回 没有
除了 例外情况 作为 e: #增加了一般异常处理
打印(f“错误: { e}")
返回 没有
#图像路径
图像路径= “path_to_your_image.jpg”
#获取base64字符串
base64图像 =encode_image(图像路径)
#从环境变量中检索API键
api_key = os.环境[“MIUI_API_KEY”]
#指定型号
模型 = “pixtral-12b-2409”
#初始化MIUI客户端
客户 = (api_key =api_key )
#定义聊天消息
信息 = [
{
“角色”: “用户”,
“内容”: [
{
“类型”: “文本”,
“文本”: “这张照片里有什么?”
},
{
“类型”: “image_url”,
“image_url”: f“数据:图像/jpeg;base64,{base64图像 }"
}
]
}
]
#获取聊天响应
聊天响应 =客户 .聊天.完成(
模型 =模型 ,
信息 =信息
)
#打印响应内容
打印(聊天响应 .选择[0].消息.内容)
使用案例
了解图表
卷曲 https://www.miuiai.com/v1/chat/completions \
H “内容类型:应用程序/json” \
H “授权:持票人 $MIUI_API_KEY" \
d '{
“型号”:“pixtral-12b-2409”,
“消息”:[
{
“角色”:“用户”,
“内容”:[
{
“类型”:“文本”,
“text”:“这张图片里有什么?”
},
{
“type”:“image_url”,
“image_url”:“/static/picture/30322.jpeg”
}
]
}
],
“max_tokens”:300
}'
型号输出:
该图表是一个名为“法国社会鸿沟”的条形图,比较了弱势地区和整个法国的社会经济指标。它由两部分组成:第一部分包括三个律师团体,代表工人阶级的百分比、失业率以及16-25岁未上学和失业的百分比。第二部分包括三个酒吧组,分别代表月收入中位数、贫困率和居住在过度拥挤住房中的家庭。每个酒吧组包含两个酒吧:一个为弱势地区(红色),一个为整个法国(蓝色)。数据显示,贫困地区的工人阶级个人比例较高(33.5%对14.5%),失业率较高(18.1%对7.3%),未上学和失业的年轻人比例较高(25.2%对12.9%)。他们还显示,月收入中位数较低(1168欧元对1822欧元),贫困率较高(43.3%对15.5%),居住在过度拥挤住房中的家庭比例较高(22.0%对8.7%)。该图表突出了弱势地区和法国其他地区之间社会经济状况的显著差异,强调了这些社区面临的挑战。
比较图像
\
H “内容类型:应用程序/json” \
H “授权:持票人 $MIUI_API_KEY" \
d '{
“型号”:“pixtral-12b-2409”,
“消息”:[
{
“角色”:“用户”,
“内容”:[
{
“类型”:“文本”,
“text”:“两个图像之间有什么区别?”
},
{
“type”:“image_url”,
“image_url”:“/static/picture/eiffel雪塔.jpeg”
},
{
“type”:“image_url”,
“image_url”:{
“url”:“https://assets.visitorscoverage.com/production/wp-content/uploads/2024/04/AdobeStock_626542468-min-1024x683.jpeg"
}
}
]
}
],
“max_tokens”:300
}'
型号输出:
第一张图片展示了埃菲尔铁塔被白雪覆盖的树木和小径环绕,可以清楚地看到铁塔复杂的铁格子结构。第二张图片展示了埃菲尔铁塔,背景是一个挤满观众的大型户外体育场,中心有一个红色网球场。最显著的区别是场景——一个是冬天下雪的场景,另一个是夏天体育赛事上人群的场景。第一张图片的情绪是宁静的,而第二张图片传达了一种活泼而充满活力的氛围。这些差异突显了埃菲尔铁塔作为地标的多功能性,可以在各种环境和季节中欣赏。