moonshot-v1-8k-vision-preview/moonshot-v1-32k-vision-preview/moonshot-v1-128k-vision-preview/kimi-k2.5/kimi-k2.6)能够理解视觉内容,包括图片文字、图片颜色和物体形状等内容。而最新的 kimi-k2.6 模型还能理解视频内容。
使用base64直接上传图片
我们通过以下代码来向 Kimi 提问有关图片的内容:message.content 字段的类型由 string 变更为 array[object](即 JSON 数组)。额外的,请不要将 JSON 数组序列化后以 string 的格式放入 message.content 中,这样会导致 Kimi 无法正确识别图片类型,并可能引发 Your request exceeded model token limit 错误。
正确的格式:
使用已上传的图片或视频
上一节的例子中,我们的image_url 为base64编码后的图片。由于视频文件往往更大,所以我们还提供额外方法,您可以先上传图片或视频到 Moonshot,然后通过文件 ID 引用。关于图片或视频的上传,请参阅 图片理解上传
video_url.url 的格式为 ms://<file-id>, ms为moonshot storage的缩写, 这是 Moonshot 内部引用文件的协议。
支持的格式
图片支持以下格式- png
- jpeg
- webp
- gif
- mp4
- mpeg
- mov
- avi
- x-flv
- mpg
- webm
- wmv
- 3gpp
Tokens 计算及费用
图片与视频进行动态token计算,可以通过 计算token接口 ,在开始理解前获取包含图片或视频的请求的token消耗。 一般说来,图片分辨率越高,消耗的token越多;视频由若干张关键帧组成,关键帧的数量越多,分辨率越高,则token消耗越多。 Vision 模型在计费方式上与moonshot-v1 系列模型保持一致,根据模型推理的总 Tokens 计费,详情请查看:
关于token价格,详见 模型推理价格说明
最佳实践
分辨率
我们推荐图片分辨率不超过4k (4096*2160),视频分辨率不超过2k (2048*1080),再高的分辨率只会增加处理时间,也不会对模型理解的效果有提升。上传文件还是base64
由于我们对请求体的整体大小有限制,所以对于非常大的视频,必须使用上传文件的方式使用视觉理解功能。 对于需要多次引用的图片或视频,我们推荐使用文件上传的方式使用视觉理解功能。 关于上传文件的限制,请参阅 文件上传 文档。功能说明及限制
Vision 视觉模型支持的特性包括:- 多轮对话
- 流式输出
- 工具调用
- JSON Mode
- Partial Mode
- URL 格式的图片:不支持,目前仅支持使用 base64 编码的图片内容
- 图片数量:Vision 模型没有图片数量限制,但请确保请求的 Body 大小不超过 100M
参数变动说明
在 chat 文档中有一系列参数,但对于 k2.6/k2.5 系列模型,其行为会有所不同 我们建议用户不要手动设置这些字段,而是使用默认值 参数变动列举如下| 字段 | 是否必须 | 说明 | 类型 | 取值 |
|---|---|---|---|---|
| max_tokens | optional | 聊天完成时生成的最大 token 数。 | int | 默认值为32k,即32768 |
| thinking | optional | 新增 该参数控制模型是否启用思考。 | object | 默认值为{"type": "enabled"}. 只能为 {"type": "enabled"} 或 {"type": "disabled"} |
| temperature | optional | 使用什么采样温度。 | float | k2.6/k2.5 系列模型将使用确定值 1.0, 非思考模式下将使用确认值 0.6。若指定其他值,将会报错。 |
| top_p | optional | 采样方法。 | float | k2.6/k2.5 系列模型将使用确定值 0.95。若指定其他值,将会报错。 |
| n | optional | 为每条输入消息生成多少个结果。 | int | k2.6/k2.5 系列模型将使用确定值 1。若指定其他值,将会报错。 |
| presence_penalty | optional | 存在惩罚。 | float | k2.6/k2.5 系列模型将使用固定值 0.0。 若指定其他值,将会报错。 |
| frequency_penalty | optional | 频率惩罚。 | float | k2.6/k2.5 系列模型将使用确定值 0.0。若指定其他值,将会报错。 |