视觉语言模型与图像理解
视觉语言模型(VLM)是一种融合了计算机视觉和自然语言处理能力的 AI 模型,能够理解图像、视频等视觉输入并生成或理解文本。
概述
GenStudio 的 API 提供了 VL 模型,支持多种图像相关的功能,例如图像生成、图像分析和多模态交互。本指南将帮助你了解如何通过聊天模式(Chat)使用这些功能。
通用视觉语言模型
通用视觉语言模型(VLM)通常执行的任务包括看图说话(图像字幕生成)、视觉问答、图像内容推理以及跨模态检索。
支持的 VLM 列表
以下模型支持将图像作为输入。可以通过 API 上传图像,并结合文本提示让模型生成描述、分类或分析结果。
kimi-k2.6kimi-k3qwen3.6-27bqwen3.6-35b-a3b
本文列出的视觉模型仅供参考。实际可用的全部视觉模型,请前往 GenStudio 模型广场进行筛选。
kimi-k3 支持图片和视频理解,并始终进行推理。使用 video_url 发送视频时,请提供 GenStudio 服务可访问的媒体地址。K3 的推理强度参数和多轮历史回传规则参见使用 Kimi 的 thinking 和 reasoning_effort。
处理图片输入
GenStudio API 服务提供一个实现 OpenAI 的 /v1/chat/completions 的 API 接口。可使用 OpenAI Python 客户端接入。
GENSTUDIO_API_KEY:GenStudio API Key。DEFAULT_BASE_URL:使用默认接口时,为https://neogpu.com/maas/v1
本节演示将图片编码为带 MIME 前缀的 Base64 数据,并通过 image_url.url 传入。不同模型支持的输入类型和数量限制可能不同,请以模型广场中的当前说明为准。
import base64
import os
from openai import OpenAI
API_KEY = os.getenv("GENSTUDIO_API_KEY")
BASE_URL = os.getenv("DEFAULT_BASE_URL")
client = OpenAI(api_key=API_KEY, base_url=BASE_URL)
model_name = "kimi-k2.6"
# Function to encode the image
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")
# Path to your image
image_path = "path_to_your_image.jpg"
# Getting the Base64 string
base64_image = encode_image(image_path)
completion = client.chat.completions.create(
model=model_name,
messages=[
{
"role": "user",
"content": [
{ "type": "text", "text": "what's in this image?" },
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}",
},
},
],
}
],
)
print(completion.choices[0].message.content)注意
本节只演示带 MIME 前缀的 Base64 图片输入。不同模型支持的媒体类型、输入方式和大小限制可能不同;发送图片、视频或文件前,请先在模型广场确认目标模型当前支持的能力。
处理图片输入(Qwen 系列)
Qwen 视觉模型通过兼容 OpenAI 的 /v1/chat/completions API 调用。图片输入请使用带 MIME 前缀的 Base64 数据,并写入 image_url.url。
以下示例沿用上一节的 client 和 base64_image 变量:
completion = client.chat.completions.create(
model="qwen3.6-27b",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "what's in this image?"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{base64_image}",
},
},
],
}
],
stream=False,
)
print(completion.choices[0].message.content)注意
Qwen 视觉请求请使用带 MIME 前缀的 Base64 数据,例如 data:image/jpeg;base64,...。不要直接传远程图片 URL。用于连通性验证时,请使用正常尺寸图片,避免使用 1x1 像素等极小图片。
多模态应用
通过结合图像输入和文本输出,您可以实现丰富的多模态应用,例如:
- 图像描述:上传图片,让模型生成详细的文字描述。例如「请识别以下图片中的文本内容,表格部分以markdown的格式呈现」
- 图像问答:上传图片并提问,例如“这张图片里有什么动物?”。
- 图像分析:让模型识别图片中的情绪、物体或场景。例如「在图像中检测出所有汽车,并以坐标的形式返回他们的位置」
DeepSeek-OCR 模型
DeepSeek-OCR 是一个专为处理复杂文档和高精度表格而设计的高效能视觉语言模型(VLM)。
OCR 任务场景及提示词
DeepSeek-OCR 支持多种任务场景,建议使用 DeepSeek 官方已适配的简单提示词:
- 文档转 Markdown:
<image>\n<|grounding|>Convert the document to markdown. - 通用 OCR:
<image>\n<|grounding|>OCR this image. - 无布局提取:
<image>\nFree OCR. - 图表解析:
<image>\nParse the figure. - 图像描述:
<image>\nDescribe this image in detail. - 文本定位:
<image>\nLocate <|ref|>特定文字<|/ref|> in the image.
注意
- 官方推荐 temperature 设置为 0。
- 默认采用 Gundam 模式,不支持用户指定。
- 默认已设置官方推荐的
NGramPerReqLogitsProcessor参数,如ngram_size/window_size,不支持指定。
图表图像解析
以下 CURL 请求示例使用当前站点对应的 GenStudio API URL。请先设置 API_KEY 环境变量。以下 curl 命令适用于 bash/zsh 等 POSIX 风格 Shell(macOS/Linux、WSL、Git Bash)。PowerShell 或 CMD 用户需调整换行符、环境变量和引号语法。
API_KEY:GenStudio API key。请将 CURL 命令中的$API_KEY修改为您获取的 API 密钥。
# 图像转 base64,需添加前缀
figuretobase64="data:image/png;base64,$(base64 -i figure.png | tr -d '\n')"
curl --request POST \
--url "https://neogpu.com/maas/v1/chat/completions" \
--header "Accept: application/json, text/event-stream" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data-raw '{
"model": "deepseek-ocr-2",
"temperature": 0.0,
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "'"$figuretobase64"'"
}
},
{
"type": "text",
"text": "<image>\nParse the figure."
}
]
}
]
}'注意
- base64 字符换需添加前缀。
base64工具以 macOS zsh 为例,不适用于 Linux / Windows 平台(选项有差异)。 - 输入的图表图像文件应仅包含图标本身,否则无法保证解析效果。
PDF 解析
以下 CURL 请求示例使用当前站点对应的 GenStudio API URL。请先设置 API_KEY 环境变量。以下 curl 命令适用于 bash/zsh 等 POSIX 风格 Shell(macOS/Linux、WSL、Git Bash)。PowerShell 或 CMD 用户需调整换行符、环境变量和引号语法。
API_KEY:GenStudio API key。请将 CURL 命令中的$API_KEY修改为您获取的 API 密钥。
# pdf 转 base64,需添加前缀
pdftobase64="data:application/pdf;base64,$(base64 -i 2510.12766v1.pdf | tr -d '\n')"
curl --request POST \
--url "https://neogpu.com/maas/v1/chat/completions" \
--header "Accept: application/json, text/event-stream" \
--header "Authorization: Bearer $API_KEY" \
--header "Content-Type: application/json" \
--data-raw '{
"model": "deepseek-ocr-2",
"temperature": 0.0,
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "'"$pdftobase64"'"
}
},
{
"type": "text",
"text": "<image>\n<|grounding|>Convert the document to markdown."
}
]
}
]
}'注意
- base64 字符换需添加前缀。
base64工具以 macOS zsh 为例,不适用于 Linux / Windows 平台(选项有差异)。
API 输入格式限制
- 暂不支持使用 URL 方式发送图片/视频/PDF。
image_url.url与video_url.url字段仅接受 BASE64 格式数据。 image_url/video_url单文件大小限制 5 MB。- 部分模型会拒绝宽或高过小的图片。用于连通性验证时,请使用正常尺寸的测试图,不要使用 1x1 像素图片。
- 单图/单视频最多读取 16384 个 Token。
常见问题
为什么我无法生成图像?
视觉模型 API 专注于文本交互。如果需要生成图像,请使用图像生成模型。
哪些模型支持图像输入?
GenStudio 支持 Kimi、Qwen3.6 等视觉模型,可以将图像作为输入。
kimi-k2.6kimi-k3qwen3.6-27bqwen3.6-35b-a3b
本文列出的视觉模型仅供参考。实际可用的全部视觉模型,请前往 GenStudio 模型广场进行筛选。
如何处理大文件图像?
建议将图像压缩到合理大小(例如 <4MB)。