スマートスペクトラムは、ビジョンモデルGLM-4V-Flashの同時実行数制限を10に引き上げ、本番環境向けに無償リリースしました。

吐司AI

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 (free)
メッセージリストであります言語モデルを呼び出す際には、現在の対話メッセージのリストがヒントとしてモデルに入力され、パラメータは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": "解释一下图中的现象" } ] }可能なメッセージ・タイプには、ユーザー・メッセージ、アシスタ ント・メッセージがあります。
リクエストIDストリング詰りユーザーによって渡され、一意性を確保する必要があります。各要求の一意のアイデンティティを区別するために使用され、ユーザーがデフォルトで生成されるプラットフォームを渡すことはありません。
do_sampleブーリアン詰りサンプリング戦略はdo_sampleがtrueのときに有効になり、サンプリング戦略temperatureとtop_pはdo_sampleがfalseのときには有効にならない。
ストリームブーリアン詰りこのパラメータはFasleに設定するか、同期呼び出しを使用する場合は省略する必要があります。Trueに設定すると、モデルはすべてのコンテンツを生成した後、すべてのコンテンツを一度に返します。Trueに設定された場合、モデルは標準のイベントストリームで生成されたコンテンツを1ブロックずつ返します。data: [DONE]メッセージ
温度フロート詰りサンプル温度は、出力のランダム性を制御し、正の値でなければなりません:[0.0,1.0]デフォルト値は0.8で、値が大きいほどランダムで創造的な出力となり、値が小さいほど安定した、あるいは確実な出力となる。 アプリケーションのシナリオに応じて値を調整することを推奨する。 top_p もしかしたら temperature ただし、両方のパラメーターを同時に調整しないでください。
トップフロート詰りカーネル・サンプリングと呼ばれる、温度によるサンプリングの別の方法:[0.0, 1.0]デフォルト値は0.6です。 top_p 確率質量 トークン 例えば、0.1 は、モデルデコーダが旧 10% の確率候補セットからのトークンのみを考慮することを意味する。 アプリケーションシナリオに従ってモデルを調整することを推奨する。 top_p もしかしたら temperature ただし、両方のパラメーターを同時に調整しないでください。
max_tokens整数詰り最大モデル出力トークン数、デフォルトは1024、最大サポートは1024tokens。
ユーザーIDストリング詰りエンドユーザーの違反、違法で望ましくない情報の生成、またはその他の不正行為にプラットフォームが介入する際に役立つ、エンドユーザー固有のID。IDの長さの要件:最小6文字、最大128文字。

メッセージの形式

このモデルで使用可能なメッセージ・タイプには、ユーザー・メッセージ、アシスタント・メッセージがあり、メッセージ・タイプによってフォーマットが異なる。詳細は以下の通り:

ユーザーメッセージ

パラメータ名類型論必須項目パラメータの説明
役割ストリングでありますメッセージの役割情報は次のようにする。user
内容リストでありますメッセージの内容
タイプストリングでありますテキストタイプ:テキスト 画像タイプ:image_url 動画タイプ:video_url 動画タイプと画像タイプを同時に入力することはできません。
テキストストリングでありますタイプがテキストの場合の補足
画像URL対象でありますtypeがimage_urlの場合は
urlストリングであります画像のURLまたはbase64エンコーディング。アップロード可能な画像サイズは、1枚あたり5M以下、6000*6000ピクセル以下です。注:GLM-4V-Flashはbase64エンコーディングに対応していません。
ビデオURL対象でありますtypeがvideo_urlの場合、glm-4v-plusのみがビデオ入力の映像理解をサポートしている場合、video_urlパラメータは最初のものでなければならない。
urlストリングでありますビデオのURL。ビデオのサイズは20Mまでしかサポートされていません、ビデオの持続時間は30秒以上ではありません。

アシスタントメッセージ

パラメータ名類型論必須項目パラメータの説明
役割ストリングでありますメッセージの役割情報は次のようにする。assistant
内容ストリングでありますメッセージ

応答パラメーター

パラメータ名類型論パラメータの説明
アイドルストリングタスクID
作成ロングリクエストの作成時間。Unixタイムスタンプを秒単位で指定する。
モデルストリングモデル名
選択肢リスト現在のダイアログのモデル出力内容
インデックス整数結果の添え字
終了理由ストリングモデル推論終了の理由。stop推論の自然な終わりを表すか、ストップワードを誘発する。length はトークンの長さが上限に達したことを表す。sensitive セキュリティ監査インターフェースによって傍受されるモデル推論の内容を表す。network_error はモデル推論の異常を表す。
メッセージ対象モデルが返すテキストメッセージ
役割ストリング現在のダイアログの役割、現在のデフォルトはアシスタント(モデル)
内容リスト現在の対話の内容
使用状況対象処理終了時に、このモデルコールのトークン数のカウントを返す。
プロンプトトークン整数ユーザーが入力したトークンの数
コンプリーション・トークン整数モデルが出力したトークンの数
トークン整数トークン合計
コンテンツフィルターリストコンテンツ・セキュリティに関する情報に戻る
役割ストリング安全保障に関する発効リンク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 はモデル推論の異常を表す。
デルタ対象モデルインクリメントが返すテキストメッセージ
役割ストリング現在のダイアログの役割、現在のデフォルトはアシスタント(モデル)
内容ストリング現在の対話の内容
使用状況対象このモデルによって呼び出されたトークンの数に関する統計
プロンプトトークン整数ユーザーが入力したトークンの数
コンプリーション・トークン整数モデルが出力したトークンの数
トークン整数トークン合計
コンテンツフィルターリストコンテンツ・セキュリティに関する情報に戻る
役割ストリング安全保障に関する発効リンク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}}
© 著作権表示
AiPPT

関連記事

コメントなし

なし
コメントはありません