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: [完了]. メッセージ |
温度 |
フロート |
詰り |
サンプル温度は、出力のランダム性を制御し、正の値でなければなりません:[0.0,1.0] デフォルト値は0.8で、値が大きいほどランダムで創造的な出力となり、値が小さいほど安定した、あるいは確実な出力となる。 アプリケーションのシナリオに応じて値を調整することを推奨する。 トップ もしかしたら 温度 ただし、両方のパラメーターを同時に調整しないでください。 |
トップ |
フロート |
詰り |
カーネル・サンプリングと呼ばれる、温度によるサンプリングの別の方法:[0.0, 1.0] デフォルト値は0.6です。 トップ 確率質量 トークン 例えば、0.1 は、モデルデコーダが旧 10% の確率候補セットからのトークンのみを考慮することを意味する。 アプリケーションシナリオに従ってモデルを調整することを推奨する。 トップ もしかしたら 温度 ただし、両方のパラメーターを同時に調整しないでください。 |
max_tokens |
整数 |
詰り |
最大モデル出力トークン数、デフォルトは1024、最大サポートは1024tokens。 |
ユーザーID |
ストリング |
詰り |
エンドユーザーの違反、違法で望ましくない情報の生成、またはその他の不正行為にプラットフォームが介入する際に役立つ、エンドユーザー固有のID。IDの長さの要件:最小6文字、最大128文字。 |
メッセージの形式
このモデルで使用可能なメッセージ・タイプには、ユーザー・メッセージ、アシスタント・メッセージがあり、メッセージ・タイプによってフォーマットが異なる。詳細は以下の通り:
ユーザーメッセージ
パラメータ名 |
類型論 |
必須項目 |
パラメータの説明 |
役割 |
ストリング |
であります |
メッセージの役割情報は次のようにする。ユーザー |
内容 |
リスト |
であります |
メッセージの内容 |
タイプ |
ストリング |
であります |
テキストタイプ:テキスト 画像タイプ: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秒以上ではありません。 |
アシスタントメッセージ
パラメータ名 |
類型論 |
必須項目 |
パラメータの説明 |
役割 |
ストリング |
であります |
メッセージの役割情報は次のようにする。アシスタント |
内容 |
ストリング |
であります |
メッセージ |
応答パラメーター
パラメータ名 |
類型論 |
パラメータの説明 |
アイドル |
ストリング |
タスクID |
作成 |
ロング |
リクエストの作成時間。Unixタイムスタンプを秒単位で指定する。 |
モデル |
ストリング |
モデル名 |
選択肢 |
リスト |
現在のダイアログのモデル出力内容 |
インデックス |
整数 |
結果の添え字 |
終了理由 |
ストリング |
モデル推論終了の理由。ストップ 推論の自然な終わりを表すか、ストップワードを誘発する。長さ はトークンの長さが上限に達したことを表す。繊細 セキュリティ監査インターフェースによって傍受されるモデル推論の内容を表す。ネットワークエラー はモデル推論の異常を表す。 |
メッセージ |
対象 |
モデルが返すテキストメッセージ |
役割 |
ストリング |
現在のダイアログの役割、現在のデフォルトはアシスタント(モデル) |
内容 |
リスト |
現在の対話の内容 |
使用状況 |
対象 |
処理終了時に、このモデルコールのトークン数のカウントを返す。 |
プロンプトトークン |
整数 |
ユーザーが入力したトークンの数 |
コンプリーション・トークン |
整数 |
モデルが出力したトークンの数 |
トークン |
整数 |
トークン合計 |
コンテンツフィルター |
リスト |
コンテンツ・セキュリティに関する情報に戻る |
役割 |
ストリング |
安全保障に関する発効リンク役割=アシスタント モデリング推論。ロール = ユーザー ユーザーの入力。役割=歴史 歴史的背景 |
レベル |
整数 |
重症度レベル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": [ {
"content": [
{
"type": "video_url", "content": [ { "type": "user", "content": {
「video_url": {
"url" : "https://sfile.chatglm.cn/testpath/video/xxxxx.mp4"
}
},
{
"type": "text".
"テキスト": "このビデオを丁寧に説明してください。"
}
]
}
]
)
print(response.choices[0].message)
動画のアップロード Base64
インポート 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": [ {
"content": [
{
"type": "video_url", "content": [ { "type": "user", "content": {
"video_url": {
"url" : video_base
}
},
{
"type": "text", "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": [ {
"content": [
{
"type": "text", "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
インポート base64
from zhipuai import ZhipuAI
img_path = "/Users/YourCompluter/xxxx.jpeg"
with open(img_path, 'rb') as img_file: img_base = base64.
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": [ {
"content": [
{
"type": "image_url"、
"image_url": {
"url": img_base
}
},
{
"type": "text", "text": "Please describe this image", {
"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": [
{
"テキスト": "これは自然の風景を描いた絵画で、青緑色の様々な色合いの水をたたえた穏やかな湖が描かれている。湖のそばには桜の木があり、ピンクがかった白い花が陽の光を受けて鮮やかに輝いている。桜の木の下では、青い服を着た男がボートに座って、楽しそうにしている。背景には緑の植物に覆われたなだらかな丘があり、丘の頂上は雲に囲まれて神秘的な雰囲気を醸し出している。湖の近くの岩場に建つ小さなパビリオンも遠くに見え、周囲の自然環境と調和している。\絵全体が静寂と調和を感じさせ、まるで楽園にいるようだ。",
"type": "text"
}
],
「役割": "アシスタント"
}, { "role": "assistant".
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "この画像は上の画像とどう違いますか?"、
"type": "text"
}
], { "role": "user".
"role": "user".
},
{
"content": [
{
"text": "1枚目の写真と2枚目の写真は、絵の内容、構図、色彩が大きく異なり、鋭いコントラストを形成している。\一枚目は風景写真で、主に桜、湖、山などの自然風景が描かれており、色彩が豊かで春爛漫であるのに対し、二枚目は冬の万里の長城を描いた風景写真で、万里の長城が雪山を蛇行しており、全体的に寒色系で、冷たさと静けさを感じさせる。\構図は、一枚目が左右対称の構図で、中央の桜の木と両側の風景が呼応して、バランスがとれていて、調和がとれていて、二枚目が斜めの構図で、万里の長城が視覚的なガイド線となって、見る人の視線を画面全体に導いて、画面に奥行きと躍動感を与えている。\全体として、この2枚の写真は、絵の内容、色彩、構図、雰囲気の面で明確なコントラストを示しており、1枚は生命力と色彩に満ちた春の風景、もう1枚は万里の長城の静謐で神秘的な冬の風景を撮影したものである。",
"type": "text"
}
],.
「役割": "アシスタント"
}, { "role": "assistant".
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "この画像と前の画像の違いは何ですか。", {
"type": "text"
}
], { "role": "user".
"role": "ユーザー".
}
]
)
print(response.choices[0].message)
応答例
{
"created": 1703487403、
"id": "8239375684858666781"、
"model": "glm-4v-plus"、
"request_id": "8239375684858666781", "choices": [ { created": 1703487403
「選択肢": [
{
"finish_reason": "stop"、
「メッセージ": {
"content": "この絵には青い海と青い空があり、空には白い雲がある。写真の右下には島か岩があり、そこに濃い緑の木が生えている。",
"role": "assistant"
}
}
],.
"usage": {
completion_tokens": 37, "prompt_tokens": 1037, { { "prompt_tokens": 1037, "total_tokens": 1074, "prompt_tokens": 1074
「prompt_tokens": 1037, "total_tokens": 1074, "prompt_tokens": 1074
「total_tokens": 1074
}
}
ストリーミング出力
応答パラメーター
パラメータ名 |
類型論 |
パラメータの説明 |
アイドル |
ストリング |
タスクID |
作成 |
ロング |
リクエストの作成時間。Unixタイムスタンプを秒単位で指定する。 |
選択肢 |
リスト |
現在のダイアログのモデル出力内容 |
インデックス |
整数 |
結果の添え字 |
終了理由 |
ストリング |
モデル推論終了の理由。ストップ 推論の自然な終わりを表すか、ストップワードを誘発する。長さ はトークンの長さが上限に達したことを表す。繊細 セキュリティ監査インターフェースによって傍受されるモデル推論の内容を表す。ネットワークエラー はモデル推論の異常を表す。 |
デルタ |
対象 |
モデルインクリメントが返すテキストメッセージ |
役割 |
ストリング |
現在のダイアログの役割、現在のデフォルトはアシスタント(モデル) |
内容 |
ストリング |
現在の対話の内容 |
使用状況 |
対象 |
このモデルによって呼び出されたトークンの数に関する統計 |
プロンプトトークン |
整数 |
ユーザーが入力したトークンの数 |
コンプリーション・トークン |
整数 |
モデルが出力したトークンの数 |
トークン |
整数 |
トークン合計 |
コンテンツフィルター |
リスト |
コンテンツ・セキュリティに関する情報に戻る |
役割 |
ストリング |
安全保障に関する発効リンク役割=アシスタント モデリング推論。ロール = ユーザー ユーザーの入力。役割=歴史 歴史的背景 |
レベル |
整数 |
重症度レベル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": [ {
"content": [
{
"type": "image_url"、
"image_url": {
"url" : "sfile.chatglm.co.uk/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": "1人です"}}]。
... ...
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}}.