Baureihe GLM-4V
Die GLM-4V-Serie besteht aus 3 Modellen für unterschiedliche Anwendungsszenarien.
- GLM-4V-Plus: Mit seiner ausgezeichneten multimodalen Verständnisfähigkeit kann es bis zu 5 Bilder gleichzeitig verarbeiten und unterstützt das Verstehen von Videoinhalten, wodurch es sich für komplexe Multimedia-Analyseszenarien eignet.
- GLM-4V: Es konzentriert sich auf das Verstehen von Bildinhalten und ist in der Lage, bis zu 5 Bilder gleichzeitig zu analysieren und eignet sich für Situationen, in denen ein tiefes Bildverständnis erforderlich ist.
- GLM-4V-Flash (kostenlos): Konzentriert sich auf effizientes Einzelbildverständnis für Szenarien mit schneller Bildauflösung, wie Echtzeit-Bildanalyse oder Stapelverarbeitung.
synchroner Aufruf
Schnittstellenanfrage
Typologie |
Anweisungen |
Übertragungsverfahren |
https |
Anfrageadresse |
https://open.bigmodel.cn/api/paas/v4/chat/completions |
Aufrufmethode |
Synchroner Aufruf, der darauf wartet, dass das Modell die Ausführung beendet und das Endergebnis zurückgibt oder SSE-Aufruf |
Zeichenkodierung |
UTF-8 |
Format der Schnittstellenanforderung |
JSON |
Antwortformat |
JSON oder Standard Stream Ereignis |
Art der Schnittstellenanforderung |
POST |
Entwicklungssprache |
Jede Entwicklungssprache, die http-Anfragen initiieren kann. |
Abfrageparameter
Name des Parameters |
Typologie |
Pflichtfeld |
Beschreibung der Parameter |
Modell |
Zeichenfolge |
sein |
Die Modellkodierung des Aufrufs. Modellcodes: glm-4v-plus , glm-4v, glm-4v-flash (frei) |
Nachrichten |
Liste |
sein |
Beim Aufruf des Sprachmodells wird eine Liste aktueller Dialognachrichten als Hinweis an das Modell übergeben, wobei die Parameter in Form von json-Arrays übergeben werden. Zum Beispiel der Parameter für das Videoverständnis:{ "role": "user", "content": [ { "type": "video_url", "video_url": { "url" : "https://xxx/xx.mp4" } }, { "type": "text", "text": "Bitte beschreiben Sie dieses Video sorgfältig" } ] } Parameter des Bildverständnisses:{ "role": "user", "content": [ { "type": "image_url", "image_url": { "url" : "https://xxx/xx.jpg" } }, { "type": "text", "text": "Erkläre das Phänomen im Bild" } ] } Mögliche Nachrichtentypen sind Benutzermeldung, Assistentenmeldung. Siehe die Beschreibungen der Nachrichtenfelder unten. |
anfrage_id |
Zeichenfolge |
Verstopft |
Durch den Benutzer übergeben, müssen die Einzigartigkeit zu gewährleisten; verwendet, um zwischen der eindeutigen Identität der einzelnen Anfrage zu unterscheiden, der Benutzer nicht passieren die Plattform wird standardmäßig generiert werden. |
tun_probe |
Boolesche |
Verstopft |
Die Probenahmestrategie ist aktiviert, wenn do_sample true ist, und die Probenahmestrategien temperature und top_p werden nicht wirksam, wenn do_sample false ist. |
Strom |
Boolesche |
Verstopft |
Dieser Parameter sollte auf Fasle gesetzt oder weggelassen werden, wenn synchrone Aufrufe verwendet werden. Wenn er auf True gesetzt ist, gibt das Modell den gesamten Inhalt auf einmal zurück, nachdem es den gesamten Inhalt erzeugt hat. Wenn er auf True gesetzt ist, gibt das Modell den vom Modell generierten Inhalt in einem Standard-Ereignisstrom zurück, einen Block nach dem anderen, und am Ende des Ereignisstroms gibt es einDaten: [FERTIG] Nachricht. |
Temperatur |
Schwimmer |
Verstopft |
Probentemperatur, Kontrolle der Zufälligkeit der Ausgabe, muss positiv sein Der Bereich der Werte ist:[0.0,1.0] Der Standardwert ist 0,8, je größer der Wert ist, desto zufälliger und kreativer ist die Ausgabe; je kleiner der Wert ist, desto stabiler oder sicherer ist die Ausgabe. Es wird empfohlen, den Wert je nach Anwendungsszenario anzupassen. top_p vielleicht Temperatur Parameter, aber nicht beide Parameter gleichzeitig einstellen |
top_p |
Schwimmer |
Verstopft |
Eine andere Methode der Probenahme mit der Temperatur, die so genannte Kernel-Probenahme Der Wertebereich ist:[0.0, 1.0] Der Standardwert ist 0,6 Modelle werden als top_p Wahrscheinlichkeitsmasse Token Ein Wert von 0,1 bedeutet beispielsweise, dass der Modelldecoder nur Token aus der Kandidatengruppe der Wahrscheinlichkeiten des früheren 10% berücksichtigt. Es wird empfohlen, das Modell an Ihr Anwendungsszenario anzupassen. top_p vielleicht Temperatur Parameter, aber nicht beide Parameter gleichzeitig einstellen |
max_tokens |
Integer |
Verstopft |
Maximale Modellausgabe-Token, Standardwert ist 1024, maximale Unterstützung 1024tokens. |
Benutzer_id |
Zeichenfolge |
Verstopft |
Eine eindeutige ID für den Endnutzer, die es der Plattform ermöglicht, bei Verstößen des Endnutzers, bei der Generierung illegaler und unerwünschter Informationen oder bei anderen missbräuchlichen Verhaltensweisen einzugreifen. ID-Länge: mindestens 6 Zeichen, maximal 128 Zeichen. |
Format der Meldungen
Zu den zulässigen Nachrichtentypen für das Modell gehören Benutzernachricht, Assistentennachricht, und das Format variiert für die verschiedenen Nachrichtentypen. Die Details sind wie folgt:
Benutzer-Nachricht
Name des Parameters |
Typologie |
Pflichtfeld |
Beschreibung der Parameter |
Rolle |
Zeichenfolge |
sein |
Die Rolleninformationen für die Nachricht sollten lautenBenutzer |
Inhalt |
Liste |
sein |
Inhalt der Nachricht. |
Typ |
Zeichenfolge |
sein |
Texttyp: text Bildtyp: image_url Videotyp: video_url Video- und Bildtypen können nicht gleichzeitig eingegeben werden |
Text |
Zeichenfolge |
sein |
Ergänzend, wenn der Typ Text ist |
bild_url |
Objekt |
sein |
Wenn der Typ image_url ist, fügen Sie |
url |
Zeichenfolge |
sein |
Bild-URL oder base64-Kodierung. Die maximale Bildgröße beträgt weniger als 5M pro Bild und nicht mehr als 6000*6000 Pixel. Die Formate jpg, png und jpeg werden unterstützt. Hinweis: GLM-4V-Flash unterstützt keine base64-Kodierung. |
video_url |
Objekt |
sein |
Wenn der Typ video_url ist, muss der video_url-Parameter der erste sein, wenn nur glm-4v-plus Videoeingabe-Videoverständnis unterstützt. |
url |
Zeichenfolge |
sein |
Video url. Videogröße wird nur bis zu 20M unterstützt, Videodauer ist nicht länger als 30s. unterstützter Videotyp mp4. |
Assistentin Nachricht
Name des Parameters |
Typologie |
Pflichtfeld |
Beschreibung der Parameter |
Rolle |
Zeichenfolge |
sein |
Die Rolleninformationen für die Nachricht sollten lautenAssistent |
Inhalt |
Zeichenfolge |
sein |
Nachricht |
Antwort-Parameter
Name des Parameters |
Typologie |
Beschreibung der Parameter |
id |
Zeichenfolge |
Aufgaben-ID |
erstellt |
Lang |
Die Erstellungszeit der Anfrage, die ein Unix-Zeitstempel in Sekunden ist. |
Modell |
Zeichenfolge |
Name des Modells |
Auswahlmöglichkeiten |
Liste |
Inhalt der Modellausgabe des aktuellen Dialogs |
Index |
Integer |
Ergebnis Teilstriche |
Ziel_Grund |
Zeichenfolge |
Gründe für die Beendigung des Modelldenkens.stoppen Stellt das natürliche Ende der Argumentation dar oder löst ein Stoppwort aus.Länge bedeutet, dass die Obergrenze der Tokenlänge erreicht ist.empfindlich Stellt den Inhalt der Modellinferenz dar, der von der Sicherheitsaudit-Schnittstelle abgefangen wird.Netzwerk-Fehler steht für Anomalien der Modellinferenz. |
Nachricht |
Objekt |
Vom Modell zurückgegebene Textnachricht |
Rolle |
Zeichenfolge |
Die Rolle des aktuellen Dialogs, derzeit standardmäßig der Assistent (Modell) |
Inhalt |
Liste |
Inhalt des aktuellen Dialogs |
Verwendung |
Objekt |
Gibt die Anzahl der Token für diesen Modellaufruf am Ende des Prozesses zurück. |
prompt_tokens |
Integer |
Anzahl der vom Benutzer eingegebenen Token |
abschluss_tokens |
Integer |
Anzahl der vom Modell ausgegebenen Token |
gesamt_tokens |
Integer |
Token insgesamt |
inhalt_filter |
Liste |
Zurück zu Informationen über die Sicherheit von Inhalten |
Rolle |
Zeichenfolge |
Verbindungen zum Inkrafttreten der Sicherheit, einschließlichRolle = Assistent Modellierung der Argumentation.Rolle = Benutzer Benutzereingabe.Rolle = Geschichte historischer Zusammenhang |
Ebene |
Integer |
Schweregrad 0-3, wobei der Schweregrad 0 der schwerste und 3 der am wenigsten schwere ist. |
Beispiel für einen Antrag
Video-URL hochladen
# Beispiel für das Verstehen von Videos, Hochladen von Video-URLs
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="YOUR API KEY") # Geben Sie Ihren eigenen APIKey ein
response = client.chat.completions.create(
model="glm-4v-plus", # Füllen Sie den Namen des aufzurufenden Modells ein
messages=[
{
"Rolle": "Benutzer", "Inhalt": [ {
"content": [
{
"type": "video_url", "content": [ { "type": "user", "content": {
"video_url": {
"url" : "https://sfile.chatglm.cn/testpath/video/xxxxx.mp4"
}
},
{
"type": "text".
"text": "Bitte beschreiben Sie dieses Video sorgfältig"
}
]
}
]
)
print(response.choices[0].message)
Video hochladen Base64
base64 importieren
von zhipuai importieren ZhipuAI
video_pfad = "/Benutzer/IhrComputer/xxxx.mp4"
with open(video_pfad, 'rb') as video_datei.
video_base = base64.b64encode(video_file.read()).decode('utf-8')
client = ZhipuAI(api_key="YOUR API KEY") # vervollständigen Sie Ihren eigenen APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Füllen Sie den Namen des aufzurufenden Modells aus
messages=[
{
"Rolle": "Benutzer", "Inhalt": [ {
"content": [
{
"type": "video_url", "content": [ { "type": "user", "content": {
"video_url": {
"url" : video_base
}
},
{
"type": "text", "text": "Bitte beschreiben Sie dieses Video sorgfältig", {
"text": "Bitte beschreiben Sie dieses Video sorgfältig"
}
]
}
]
)
print(response.choices[0].message)
Bild-URL hochladen
von zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # Füllen Sie Ihren eigenen APIKey ein
response = client.chat.completions.create(
model="glm-4v", # Geben Sie den Namen des Modells ein, das aufgerufen werden soll.
messages=[
{
"Rolle": "Benutzer", "Inhalt": [ {
"content": [
{
"type": "text", "text": "Was ist auf dem Bild", "text": "Was ist auf dem Bild
text": "Was ist auf dem Bild", "text": "Was ist auf dem Bild"
},
{
"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)
Bild hochladen Base64
base64 importieren
von zhipuai importieren ZhipuAI
img_pfad = "/Benutzer/IhrComputer/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") # vervollständigen Sie Ihren eigenen APIKey
response = client.chat.completions.create(
model="glm-4v-plus", # Füllen Sie den Namen des aufzurufenden Modells aus
messages=[
{
"Rolle": "Benutzer", "Inhalt": [ {
"content": [
{
"type": "image_url",
"image_url": {
"url": img_base
}
},
{
"type": "text", "text": "Bitte beschreiben Sie dieses Bild", {
"text": "Bitte beschreiben Sie dieses Bild"
}
]
}
]
)
print(response.choices[0].message)
Mehrere Runden von Bilddialogen
von zhipuai import ZhipuAI
client = ZhipuAI(api_key="YOUR API KEY") # Geben Sie Ihren eigenen APIKey ein
response = client.chat.completions.create(
model="glm-4v-plus", # Füllen Sie den Namen des aufzurufenden Modells ein
messages=[
{
"content": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxx.png"
},
"type": "image_url"
},
{
"text": "Was ist auf dem Bild",
"type": "text"
}
], { "role": "user".
"role": "user"
},
{
"Inhalt": [
{
"text": "Dieses Gemälde zeigt eine natürliche Landschaft mit einem friedlichen See, dessen Wasser in verschiedenen Blaugrüntönen schimmert. In der Nähe des Sees wächst ein blühender Kirschblütenbaum, dessen rosa-weiße Blüten im Sonnenlicht leuchtend aussehen. Unter dem Baum sitzt ein blau gekleideter Mann in einem Boot und scheint sich zu amüsieren. Im Hintergrund sind sanfte Hügel mit grüner Vegetation zu sehen, während die Spitzen der Hügel von Wolken umgeben sind, was dem Bild eine geheimnisvolle Note verleiht. In der Ferne ist auch ein kleiner Pavillon zu sehen, der auf einem Felsen in der Nähe des Sees steht und sich harmonisch in die natürliche Umgebung einfügt. \Das gesamte Bild vermittelt ein Gefühl von Ruhe und Harmonie, als befände man sich in einem Paradies." ,
"type": "text"
}
],
"role": "assistant"
}, { "role": "assistant".
{
"Inhalt": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "Wie unterscheidet sich dieses Bild von dem obigen Bild?",
"type": "text"
}
], { "role": "user".
"role": "user"
},
{
"Inhalt": [
{
"text": "Das erste Bild und das zweite Bild unterscheiden sich stark in Bezug auf Bildinhalt, Komposition und Farbe und bilden einen starken Kontrast. \n\n1.Das erste Bild ist ein Landschaftsfoto, das hauptsächlich natürliche Landschaften wie Kirschblütenbäume, Seen und Berge usw. zeigt. Es ist farbenfroh und frühlingshaft, während das zweite Bild ein Landschaftsfoto ist, das die Große Mauer im Winter zeigt, mit der Großen Mauer, die sich durch die schneebedeckten Berge schlängelt, und der Gesamtton des Bildes ist eher kühl und vermittelt ein Gefühl von Kälte und Gelassenheit. \n. Die Komposition des ersten Bildes ist symmetrisch, mit dem Kirschblütenbaum in der Mitte und der Landschaft auf beiden Seiten, die sich gegenseitig widerspiegeln, um einen ausgewogenen und harmonischen Bildeffekt zu erzielen, während das zweite Bild eine diagonale Komposition aufweist, bei der die Große Mauer als visuelle Führungslinie fungiert, um den Blick des Betrachters über das gesamte Bild zu lenken und die Tiefe und Dynamik des Bildes zu erhöhen. \Insgesamt zeigen diese beiden Bilder einen deutlichen Kontrast in Bezug auf Bildinhalt, Farbe, Komposition und Atmosphäre, wobei das eine eine Frühlingslandschaft voller Leben und Farbe ist und das andere eine ruhige und geheimnisvolle Winterlandschaft mit der Großen Mauer zeigt." ,
"type": "text"
}
],.
"role": "assistant"
}, { "role": "assistant".
{
"Inhalt": [
{
"image_url": {
"url": "https://cdn.bigmodel.cn/xxxxxxx.jpeg"
},
"type": "image_url"
},
{
"text": "Was ist der Unterschied zwischen diesem Bild und dem vorherigen?", {
"type": "text"
}
], { "role": "user".
"role": "user"
}
]
)
print(response.choices[0].message)
Beispielhafte Antwort
{
"erstellt": 1703487403,
"id": "8239375684858666781",
"model": "glm-4v-plus",
"request_id": "8239375684858666781", "choices": [ { created": 1703487403
"choices": [
{
"finish_reason": "stop",
"message": {
"content": "Das Bild zeigt ein blaues Meer und einen blauen Himmel mit weißen Wolken am Himmel. In der unteren rechten Ecke des Bildes befindet sich eine Insel oder ein Felsen, auf dem dunkelgrüne Bäume wachsen." ,
"role": "assistant"
}
}
],.
"usage": {
"completion_tokens": 37, "prompt_tokens": 1037, {
"prompt_tokens": 1037, "total_tokens": 1074, "prompt_tokens": 1074
"total_tokens": 1074
}
}
Streaming-Ausgang
Antwort-Parameter
Name des Parameters |
Typologie |
Beschreibung der Parameter |
id |
Zeichenfolge |
Aufgaben-ID |
erstellt |
Lang |
Die Erstellungszeit der Anfrage, die ein Unix-Zeitstempel in Sekunden ist. |
Auswahlmöglichkeiten |
Liste |
Inhalt der Modellausgabe des aktuellen Dialogs |
Index |
Integer |
Ergebnis Teilstriche |
Ziel_Grund |
Zeichenfolge |
Gründe für die Beendigung des Modelldenkens.stoppen Stellt das natürliche Ende der Argumentation dar oder löst ein Stoppwort aus.Länge bedeutet, dass die Obergrenze der Tokenlänge erreicht ist.empfindlich Stellt den Inhalt der Modellinferenz dar, der von der Sicherheitsaudit-Schnittstelle abgefangen wird.Netzwerk-Fehler steht für Anomalien der Modellinferenz. |
delta |
Objekt |
Vom Modell-Inkrement zurückgegebene Textnachricht |
Rolle |
Zeichenfolge |
Die Rolle des aktuellen Dialogs, derzeit standardmäßig der Assistent (Modell) |
Inhalt |
Zeichenfolge |
Inhalt des aktuellen Dialogs |
Verwendung |
Objekt |
Statistik über die Anzahl der von diesem Modell aufgerufenen Token |
prompt_tokens |
Integer |
Anzahl der vom Benutzer eingegebenen Token |
abschluss_tokens |
Integer |
Anzahl der vom Modell ausgegebenen Token |
gesamt_tokens |
Integer |
Token insgesamt |
inhalt_filter |
Liste |
Zurück zu Informationen über die Sicherheit von Inhalten |
Rolle |
Zeichenfolge |
Verbindungen zum Inkrafttreten der Sicherheit, einschließlichRolle = Assistent Modellierung der Argumentation.Rolle = Benutzer Benutzereingabe.Rolle = Geschichte historischer Zusammenhang |
Ebene |
Integer |
Schweregrad 0-3, wobei der Schweregrad 0 der schwerste und 3 der am wenigsten schwere ist. |
Beispiel für einen Antrag
von zhipuai importieren ZhipuAI
client = ZhipuAI(api_key="") # Bitte geben Sie Ihren eigenen APIKey ein
response = client.chat.completions.create(
model="glm-4v-plus", # Geben Sie den Namen des aufzurufenden Modells ein.
messages=[
{
"Rolle": "Benutzer", "Inhalt": [ {
"content": [
{
"type": "image_url",
"image_url": {
"url" : "sfile.chatglm.co.uk/testpath/xxxx.jpg"
}
},
{
"type": "text", {
"text": "Was ist auf dem Bild"
}
]
}
],
stream=True, )
)
for chunk in Antwort.
print(chunk.choices[0].delta)
Beispielhafte Antwort
data: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant", " content": "next"}}]}
data: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant"," Inhalt": "Ecke"}}]}
data: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant"," content": "Es gibt einen"}}]}
... ...
data: {"id": "8305986882425703351", "created":1705476637, "model": "glm-4v-plus", "choices":[{"index":0, "delta":{"role": "assistant", " Inhalt": "Bäume"}}]}
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}}
Ähnliche Artikel
Google veröffentlicht neu AI Video Veo2, AI Mapping Imagen3
Diese AI-Design-Software ist genial, solange ein Produktbild kann professionelle E-Commerce-Hauptbild, Pop-up-Produkte, die nicht gut kommen zu generieren.
SiliconCloud geht mit beschleunigtem Videomodell Mochi-1-Preview live
ICLR Überraschenderweise [10,10,10,10,10] Volles Notenpapier, ControlNet Neues Werk des Autors - IC-Light V2 Anpassung an Flux
Ilya Sutskever explodiert bei NeurIPS und erklärt: Pre-Training wird beendet, die Datenknappheit hat ein Ende