Smart Spectrum выпустила бесплатную модель видения GLM-4V-Flash Ограничение параллелизма увеличено до 10, на этот раз достаточно для производственных сред

Новости ИИОпубликовано 8 месяцев назад Круг обмена ИИ
8.1K 00

Серия GLM-4V

Серия GLM-4V состоит из 3 моделей для различных сценариев применения.

  • GLM-4V-Plus: Обеспечивает превосходное мультимодальное восприятие, может обрабатывать до 5 изображений одновременно и поддерживает восприятие видеоконтента для сложных сценариев анализа мультимедиа.
  • GLM-4V: Ориентированный на понимание содержания изображений, он способен анализировать до 5 изображений одновременно и подходит для случаев, когда требуется глубокое понимание изображений.
  • GLM-4V-Flash (бесплатно): ориентирован на эффективное понимание одного изображения для сценариев с быстрым разрешением изображения, таких как анализ изображений в реальном времени или пакетная обработка изображений.

синхронный вызов

запрос интерфейса

типологияинструкции
метод передачиhttps
адрес запросаhttps://open.bigmodel.cn/api/paas/v4/chat/completions
метод вызоваСинхронный вызов, ожидающий завершения выполнения модели и возврата конечного результата, или вызов SSE
кодировка символовUTF-8
Формат запроса интерфейсаJSON
формат ответаJSON или стандартное событие потока
Тип запроса интерфейсаПОСТ
язык развитияЛюбой язык разработки, который может инициировать http-запросы.

параметр запроса

Имя параметратипологияобязательное полеОписание параметров
модельСтрокабытьКодировка модели вызова. Коды моделей: glm-4v-plus , glm-4v, glm-4v-flash (бесплатно)
сообщенияСписокбытьПри вызове языковой модели список текущих диалоговых сообщений вводится в модель в виде подсказок, передавая параметры в виде json-массивов. Например, параметр понимания видео:{ "role": "user", "content": [ { "type": "video_url", "video_url": { "url" : "https://xxx/xx.mp4" } }, { "type": "text", "text": "请仔细描述这个视频" } ] }Параметры понимания картинок:{ "role": "user", "content": [ { "type": "image_url", "image_url": { "url" : "https://xxx/xx.jpg" } }, { "type": "text", "text": "解释一下图中的现象" } ] }Возможные типы сообщений: сообщение пользователя, сообщение помощника. см. описание полей сообщений ниже.
идентификатор запросаСтрокаЗасорениеПередается пользователем, необходимо обеспечить уникальность; используется для различения уникальной идентичности каждого запроса, если пользователь не передает платформу, будет сгенерирован по умолчанию.
сделать_образецБулевоЗасорениеСтратегия выборки включена, если значение do_sample равно true, а стратегии выборки temperature и top_p не будут действовать, если значение do_sample равно false.
потокБулевоЗасорениеЭтот параметр должен быть установлен в Fasle или опущен при использовании синхронных вызовов. Если установлено значение True, модель вернет все содержимое сразу после генерации всего содержимого. Если установлено значение True, модель будет возвращать сгенерированный контент в стандартном потоке событий, по одному блоку за раз, а в конце потока событий будет возвращено сообщениеdata: [DONE]Сообщение.
температураПоплавокЗасорениеТемпература образца, контролирует случайность выхода, должна быть положительной Диапазон значений:[0.0,1.0]Значение по умолчанию - 0,8. Чем больше значение, тем более случайным и нестандартным будет выход; чем меньше значение, тем более стабильным или определенным будет выход. Рекомендуется настроить значение в соответствии со сценарием применения. top_p возможно temperature параметр, но не настраивайте оба параметра одновременно
top_pПоплавокЗасорениеДругой метод выборки с помощью температуры, называемый выборкой ядра Диапазон значений составляет:[0.0, 1.0]Значение по умолчанию - 0,6 Модели считаются имеющими top_p масса вероятности жетоны Например, 0,1 означает, что модель декодера учитывает только лексемы из набора вероятностей-кандидатов из бывшего 10%. Рекомендуется настроить модель в соответствии с вашим сценарием применения. top_p возможно temperature параметр, но не настраивайте оба параметра одновременно
max_tokensЦелое числоЗасорениеМаксимальное количество выходных токенов модели, по умолчанию 1024, максимальная поддержка 1024токенов.
идентификатор пользователяСтрокаЗасорениеУникальный идентификатор конечного пользователя, помогающий платформе принимать меры в случае нарушений со стороны конечного пользователя, создания незаконной и нежелательной информации или другого неправомерного поведения.Требования к длине идентификатора: минимум 6 символов, максимум 128 символов.

Формат сообщений

Допустимые типы сообщений для модели включают сообщение пользователя, сообщение помощника, а формат для разных типов сообщений различается. Подробности приведены ниже:

Сообщение пользователя

Имя параметратипологияобязательное полеОписание параметров
рольСтрокабытьИнформация о роли для сообщения должна быть следующейuser
содержаниеСписокбытьСодержание сообщения.
типСтрокабытьТип текста: text Тип изображения: image_url Тип видео: video_url Типы видео и изображения не могут быть введены одновременно
текстСтрокабытьДополнительно, если тип - текст
image_urlОбъектбытьЕсли тип - image_url, добавьте
urlСтрокабытьurl изображения или кодировка base64. Ограничение на размер загружаемого изображения - не более 5М на одно изображение и не более 6000*6000 пикселей. Поддерживаются форматы jpg, png, jpeg. Примечание: GLM-4V-Flash не поддерживает кодировку base64.
video_urlОбъектбытьЕсли тип - video_url, параметр video_url должен быть первым, если только glm-4v-plus поддерживает восприятие входного видеосигнала.
urlСтрокабытьВидео url. размер видео поддерживается только до 20M, продолжительность видео не более 30s. поддерживаемый тип видео mp4.

Сообщение помощника

Имя параметратипологияобязательное полеОписание параметров
рольСтрокабытьИнформация о роли для сообщения должна быть следующейassistant
содержаниеСтрокабытьСообщение

Параметры реагирования

Имя параметратипологияОписание параметров
idСтрокаИдентификатор задачи
созданДлинныйВремя создания запроса, которое представляет собой временную метку Unix в секундах.
модельСтрокаНазвание модели
выборСписокСодержание выходных данных модели для текущего диалога
индексЦелое числоПодскрипты результатов
причина окончанияСтрокаПричины прекращения рассуждений о моделях.stopПредставляет собой естественный конец рассуждения или запускает стоп-слово.length означает достижение верхнего предела длины лексем.sensitive Представляет содержимое выводов модели, перехваченное интерфейсом аудита безопасности.network_error представляет собой аномалии в выводах модели.
сообщениеОбъектТекстовое сообщение, возвращаемое моделью
рольСтрокаРоль текущего диалога, в настоящее время по умолчанию - помощник (модель)
содержаниеСписокСодержание текущего диалога
использованиеОбъектВозвращает подсчет количества токенов для данного вызова модели в конце процесса.
prompt_tokensЦелое числоКоличество жетонов, введенных пользователем
токены завершенияЦелое числоКоличество лексем, выведенных моделью
total_tokensЦелое числоВсего токенов
content_filterСписокВернуться к информации о безопасности контента
рольСтрокаСвязи вступления в силу по вопросам безопасности, включаяrole = assistant моделирование рассуждений.role = user пользовательский ввод.role = history исторический контекст
уровеньЦелое числоУровень тяжести 0-3, при этом 0 - самый тяжелый, а 3 - наименее тяжелый.

Пример запроса

Загрузите URL-адрес видео

#视频理解示例、上传视频URL
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="YOUR API KEY") # 填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4v-plus",  # 填写需要调用的模型名称
messages=[
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url" : "https://sfile.chatglm.cn/testpath/video/xxxxx.mp4"
}
},
{
"type": "text",
"text": "请仔细描述这个视频"
}
]
}
]
)
print(response.choices[0].message)

Загрузка видео Base64

import base64
from zhipuai import ZhipuAI
video_path = "/Users/YourCompluter/xxxx.mp4"
with open(video_path, 'rb') as video_file:
video_base = base64.b64encode(video_file.read()).decode('utf-8')
client = ZhipuAI(api_key="YOUR API KEY") # 填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4v-plus",  # 填写需要调用的模型名称
messages=[
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url" : video_base
}
},
{
"type": "text",
"text": "请仔细描述这个视频"
}
]
}
]
)
print(response.choices[0].message)

Загрузить URL-адрес изображения

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4v",  # 填写需要调用的模型名称
messages=[
{
"role": "user",
"content": [
{
"type": "text",
"text": "图里有什么"
},
{
"type": "image_url",
"image_url": {
"url" : "https://img1.baidu.com/it/u=1369931113,3388870256&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1703696400&t=f3028c7a1dca43a080aeb8239f09cc2f"
}
}
]
}
]
)
print(response.choices[0].message)

Загрузка изображения Base64

import base64
from zhipuai import ZhipuAI
img_path = "/Users/YourCompluter/xxxx.jpeg"
with open(img_path, 'rb') as img_file:
img_base = base64.b64encode(img_file.read()).decode('utf-8')
client = ZhipuAI(api_key="YOUR API KEY") # 填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4v-plus",  # 填写需要调用的模型名称
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": img_base
}
},
{
"type": "text",
"text": "请描述这个图片"
}
]
}
]
)
print(response.choices[0].message)

Несколько раундов диалогов с картинками

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="YOUR API KEY") # 填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4v-plus",  # 填写需要调用的模型名称
messages=[
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxx.png"
},
"type": "image_url"
},
{
"text": "图中有什么",
"type": "text"
}
],
"role": "user"
},
{
"content": [
{
"text": "这是一幅描绘自然风景的画,展现了一片宁静的湖泊,湖水呈现出深浅不一的蓝绿色调。湖边长着一棵盛开的樱花树,粉白色的花朵在阳光下显得格外鲜艳。树下有一位身穿蓝色衣服的人坐在船上,似乎正在享受这美好的时光。\n\n背景是连绵起伏的山脉,山体被绿色的植被覆盖,山顶则被云雾缭绕,增添了几分神秘感。远处还可以看到一座小亭子,它坐落在湖边的岩石上,与周围的自然环境和谐相融。\n\n整个画面给人一种宁静、和谐的感觉,仿佛置身于一个世外桃源之中。",
"type": "text"
}
],
"role": "assistant"
},
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "这个图与上面图有什么不一样",
"type": "text"
}
],
"role": "user"
},
{
"content": [
{
"text": "第一张图和第二张图在画面内容、构图、色彩等方面都有很大的不同,形成鲜明的对比。\n\n1.第一张图是风景画,主要描绘了自然风景,如樱花树、湖泊、山脉等,色彩丰富,充满春天的气息,而第二张图是描绘长城在冬季的风景照片,长城在白雪覆盖的山脉中蜿蜒盘旋,整体色调偏冷,给人一种寒冷、宁静的感觉。\n\n2.构图上,第一张图采用对称式构图,以樱花树为中心,两侧的景物相互呼应,形成平衡和谐的画面效果,第二张图则采用对角线构图,长城作为视觉引导线,引导观众的视线穿越整个画面,增加画面的深度和动态感。\n\n整体来看,这两张图在画面内容、色彩、构图和氛围上都呈现出明显的对比,一张是充满生机和色彩的春日风景画,另一张是宁静而神秘的冬日长城风景照。",
"type": "text"
}
],
"role": "assistant"
},
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "这个图与上一张图有什么区别",
"type": "text"
}
],
"role": "user"
}
]
)
print(response.choices[0].message)

Образец ответа

{
"created": 1703487403,
"id": "8239375684858666781",
"model": "glm-4v-plus",
"request_id": "8239375684858666781",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"content": "图中有一片蓝色的海和蓝天,天空中有白色的云朵。图片的右下角有一个小岛或者岩石,上面长着深绿色的树木。",
"role": "assistant"
}
}
],
"usage": {
"completion_tokens": 37,
"prompt_tokens": 1037,
"total_tokens": 1074
}
}

потоковый вывод

Параметры реагирования

Имя параметратипологияОписание параметров
idСтрокаИдентификатор задачи
созданДлинныйВремя создания запроса, которое представляет собой временную метку Unix в секундах.
выборСписокСодержание выходных данных модели для текущего диалога
индексЦелое числоПодскрипты результатов
причина окончанияСтрокаПричины прекращения рассуждений о моделях.stopПредставляет собой естественный конец рассуждения или запускает стоп-слово.length означает достижение верхнего предела длины лексем.sensitive Представляет содержимое выводов модели, перехваченное интерфейсом аудита безопасности.network_error представляет собой аномалии в выводах модели.
дельтаОбъектТекстовое сообщение, возвращаемое инкрементом модели
рольСтрокаРоль текущего диалога, в настоящее время по умолчанию - помощник (модель)
содержаниеСтрокаСодержание текущего диалога
использованиеОбъектСтатистика по количеству токенов, вызванных этой моделью
prompt_tokensЦелое числоКоличество жетонов, введенных пользователем
токены завершенияЦелое числоКоличество лексем, выведенных моделью
total_tokensЦелое числоВсего токенов
content_filterСписокВернуться к информации о безопасности контента
рольСтрокаСвязи вступления в силу по вопросам безопасности, включаяrole = assistant моделирование рассуждений.role = user пользовательский ввод.role = history исторический контекст
уровеньЦелое числоУровень тяжести 0-3, при этом 0 - самый тяжелый, а 3 - наименее тяжелый.

Пример запроса

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 请填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4v-plus",  # 填写需要调用的模型名称
messages=[
{
"role": "user", 
"content": [
{
"type": "image_url",
"image_url": {
"url" : "sfile.chatglm.cn/testpath/xxxx.jpg"
}
},
{
"type": "text",
"text": "图里有什么"
}
]
},
],
stream=True,
)
for chunk in response:
print(chunk.choices[0].delta)

Образец ответа

data: {"id":"8305986882425703351","created":1705476637,"model":"glm-4v-plus","choices":[{"index":0,"delta":{"role":"assistant","content":"下"}}]}
data: {"id":"8305986882425703351","created":1705476637,"model":"glm-4v-plus","choices":[{"index":0,"delta":{"role":"assistant","content":"角"}}]}
data: {"id":"8305986882425703351","created":1705476637,"model":"glm-4v-plus","choices":[{"index":0,"delta":{"role":"assistant","content":"有一个"}}]}
... ...
data: {"id":"8305986882425703351","created":1705476637,"model":"glm-4v-plus","choices":[{"index":0,"delta":{"role":"assistant","content":"树木"}}]}
data: {"id":"8305986882425703351","created":1705476637,"model":"glm-4v-plus","choices":[{"index":0,"delta":{"role":"assistant","content":"。"}}]}
data: {"id":"8305986882425703351","created":1705476637,"model":"glm-4v-plus","choices":[{"index":0,"finish_reason":"stop","delta":{"role":"assistant","content":""}}],"usage":{"prompt_tokens":1037,"completion_tokens":37,"total_tokens":1074}}
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...