Z.ai: GLM 4.5V
GLM-4.5V on Z.ai:n 106B-A12B-visuaalisen päättelyn malli kuville, videolle, monimutkaisille asiakirjoille ja graafisen käyttöliittymän tehtäville. Se palauttaa tekstiä, tukee ajattelua ja suoria vastauksia ja voi paikantaa visuaalisia elementtejä koordinaateilla, jotka on normalisoitu välille 0–1 000.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsz-ai/glm-4.5v - Ailoot Ultra · Anthropic Messages
POST /v1/messagesz-ai/glm-4.5v
Tietoa mallista
Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.
GLM-4.5V on Z.ai:n visuaalisen päättelyn malli, joka on rakennettu GLM-4.5-Airin pohjalle ja sisältää yhteensä 106 miljardia parametria, joista 12 miljardia aktivoidaan. Se käsittelee kuvapäättelyä, videon ymmärtämistä, graafisen käyttöliittymän tehtäviä, monimutkaisia kaavioita, pitkiä asiakirjoja ja visuaalista paikannusta. Valmistajan palveluprofiili luettelee kuva-, video-, teksti- ja tiedostosyötteet sekä tekstitulosteen. Hyödyllinen tehtävä voi pyytää sivuselityksen, poimitun taulukon, visuaalisen sijainnin tai kuvakaappauksesta valmistellun koodin. Tämä malli on erillinen GLM-4.1V-9B:stä ja myöhemmästä GLM-4.6V:stä.
Kuvapäättely kattaa kohtauksen ymmärtämisen, usean kuvan analyysin ja tilalliset suhteet. Anna jokaiselle kuvalle merkintä ja esitä täsmällinen kysymys. Säilytä kaaviosta akselit, yksiköt ja selitteet ja kysy, mitkä näkyvät arvot tukevat päätelmää. Yksilöi vertailusta tarkasteltavat piirteet ja jäsennä vastaus lähdemerkintöjen mukaan. Malli voi yhdistää visuaaliset havainnot kirjalliseen kysymykseen; syötteen laatu ja pyydetty tulos ovat merkityksellisiä annetun aineiston määrän rinnalla.
Paikannus on erityinen tulostetyönkulku. Kortti kuvaa rajauslaatikot, jotka merkitään begin_of_box- ja end_of_box-tokeneilla, ja neljä koordinaattia, jotka yksilöivät vasemman yläkulman ja oikean alakulman. Arvot normalisoidaan välille 0–1 000 kuvan koon suhteen sen sijaan, että ne annettaisiin suoraan pikselisijainteina. Kerro paikannettava kohde tai alue ja vaadittu laatikkomuoto. Säilytä alkuperäisen kuvan mitat tuloksen yhteydessä, jotta sovellus voi muuntaa koordinaatit takaisin kyseiseen kuvaan myös silloin, kun sen kokoa on muutettu käsittelyä varten.
Videotehtäviin kuuluvat segmentointi ja tapahtumien tunnistaminen, kun taas asiakirjatyö voi yhdistää tekstiä, kaavioita, taulukoita ja asettelua useilta sivuilta. Valmistaja esittelee kuvatun taulukon muuntamista Markdowniksi ja tutkimusraportin sisällön analysointia. Valmistele konkreettinen kysymys, säilytä sivu- tai jaksotunnisteet ja pyydä kutakin poimittua kenttää tai kuvattua tapahtumaa tukeva näyttö. Generoitu yhteenveto on tekstitulos; ruutujen kerääminen, tiedoston kokoaminen tai muokkauksen toteuttaminen kuuluu yhdistetylle ympäristölle.
Graafisen käyttöliittymän ja verkkosivujen tehtävät käyttävät näyttönäkymän ymmärtämistä ehdotettuun vuorovaikutukseen tai koodiin. Valmistajan esimerkit pyytävät HTML- ja CSS-koodia sivukuvakaappauksesta ja esittelevät yhdistetyn työpöytäavustajan, joka käyttää kuvakaappauksia tai tallenteita. Anna olennaiset tilat, sallitut toimet ja haluttu muutos. Malli valmistelee koodin tai toimintokuvauksen, kun taas sovellus suorittaa sen ja antaa muuttuneen näkymän tai renderöidyn sivun jatkotarkasteluun.
Malli tukee ajattelua sisältäviä ja ajatteluttomia vastauksia. Sen täsmällinen kortti kuvaa kytkimen, ja avoimen mallin esimerkit ottavat ajattelun oletusarvoisesti käyttöön sekä tarjoavat keskustelupohjan asetuksen sen poistamiseen käytöstä. Pidä nämä asetukset sidottuina tuettuun työnkulkuun. Tarkistuspisteen kokoonpano asettaa max_position_embeddings-arvoksi 65 536; palveluprofiili ilmoittaa erikseen enintään 16K tulostokenia. Nämä kuvaavat valmistajan eri kokoonpanoja eivätkä määrittele yleispätevää sovellusikkunaa. Valmistaja dokumentoi myös avoimen GLM-4.5V-tarkistuspisteen hienosäädön mukautettuihin multimodaalisiin tehtäviin; tämä on tavallisesta inferenssistä erillinen mukautustyönkulku. Pitkä aineisto ja pyydetty vastaus tarvitsevat tilaa tosiasiallisesti käytetyssä kokoonpanossa.
Kortti yksilöi visuaalisen koodin jäljentämisen erityisiä rajoituksia: raakamuotoisesta HTML:stä voi puuttua Markdown-kääre, ja merkkien suojaus voi aiheuttaa renderöintiongelmia. Se mainitsee myös heikomman puhtaasti tekstimuotoisen kysymys-vastaustyön, ajoittaisen liiallisen tai toistuvan ajattelun, vastauksen toistamisen ja havaintovirheet, esimerkiksi lukumäärien laskemisessa syntyvät virheet. Pyydä kooditehtävään täsmällinen tuotosmuoto ja tarkasta renderöity tulos. Säilytä poiminnassa tai visuaalisessa analyysissa pienet merkinnät ja pyydä näkyvään näyttöön sidottuja arvoja. Tämä pitää mallin päättely- ja paikannusvalmiudet yhteydessä tulokseen, jota voi verrata alkuperäiseen lähteeseen.
Käytännön tehtävä
Käytännön tehtävä
Tekninen esimerkki englanniksi
Format a transcribed report table
From this text transcription of page V5, produce a Markdown table: 'Experiment | control | treated; run 1 | 12 | 15; run 2 | 11 | unreadable.' Add a difference column only where both values are available. Keep V5 with the result and separate the extracted values from the calculated differences. No image is supplied.Odotettu tulos
A source-labeled Markdown table with extracted numbers, calculated differences and explicit unknown values.Tarkista tulos
The unreadable treated value and its difference must remain unknown rather than be estimated.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions z-ai/glm-4.5v
z-ai/glm-4.5vAloitus
GLM-4.5V on Z.ai:n 106B-A12B-visuaalisen päättelyn malli kuville, videolle, monimutkaisille asiakirjoille ja graafisen käyttöliittymän tehtäville. Se palauttaa tekstiä, tukee ajattelua ja suoria vastauksia ja voi paikantaa visuaalisia elementtejä koordinaateilla, jotka on normalisoitu välille 0–1 000.
- Hyväksytyt syötteet
- Teksti
- Tulokset
- Teksti
Saatavilla Ailootissa · syötteet & menetelmät
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Syötetyypit
text- Tulostyypit
text- Tulosteen muoto
- json tai SSE
| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
|---|---|---|---|---|
Kenttämodel | Tyyppistring | VaatimusPakollinen | Arvot & rajat z-ai/glm-4.5v | Oletus— |
Kenttämessages | Tyyppimessage[] | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
Kenttämessages[].role | Tyyppistring | VaatimusPakollinen | Arvot & rajat Esimerkit: system, user, assistant, tool, function Ehdot: Nämä roolit esitetään nimenomaisesti lähdekoodin yhteensopivuustyypeissä; mallin täsmällinen roolijoukko pysyy mallikohtaisena. Riippuu mallista | Oletus— |
Kenttämessages[].content | Tyyppistring|content_part[]|null | VaatimusValinnainen | Arvot & rajat | Oletus— |
Kenttämessages[].tool_calls | Tyyppitool_call[] | VaatimusValinnainen | Arvot & rajat | Oletus— |
Kenttämessages[].tool_call_id | Tyyppistring | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: role=tool; käytä todella palautettua ID:tä | Oletus— |
Kenttämessages[].name | Tyyppistring | VaatimusValinnainen | Arvot & rajat | Oletus— |
Kenttämessages[].reasoning_content | Tyyppistring | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: Palauta todella saatu päättely takaisin mallille, kun kyseinen malli käyttää sitä | Oletus— |
Kenttämessages[].reasoning_details | Tyyppiobject|array | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttämax_tokens | Tyyppiinteger | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
Kenttämax_completion_tokens | Tyyppiinteger | VaatimusValinnainen | Arvot & rajat Vähimmäismäärä: 1 Riippuu mallista | Oletus— |
Kenttästream | Tyyppiboolean | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
Kenttästream_options.include_usage | Tyyppiboolean | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttätemperature | Tyyppinumber | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttätop_p | Tyyppinumber | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttästop | Tyyppistring|string[] | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttätools | Tyyppifunction_tool[] | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttätools[].type | Tyyppistring | VaatimusValinnainen | Arvot & rajat function Riippuu mallista | Oletus— |
Kenttätools[].function.name | Tyyppistring | VaatimusPakollinen | Arvot & rajat Sovelletaan, kun: funktiotyökalu annettu | Oletus— |
Kenttätools[].function.description | Tyyppistring | VaatimusValinnainen | Arvot & rajat | Oletus— |
Kenttätools[].function.parameters | TyyppiJSON_schema | VaatimusValinnainen | Arvot & rajat | Oletus— |
Kenttätool_choice | Tyyppistring|object | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäparallel_tool_calls | Tyyppiboolean | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäresponse_format | Tyyppiobject | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäreasoning_effort | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäreasoning | Tyyppiobject | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäservice_tier | Tyyppistring | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäinstructions | Tyyppistring | VaatimusValinnainen | Arvot & rajat Yhteensopivuuskenttä | Oletus— |
Kenttäfunctions | Tyyppifunction[] | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäfunction_call | Tyyppistring|object | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttäprompt_cache_options | Tyyppiobject | VaatimusValinnainen | Arvot & rajat Riippuu mallista | Oletus— |
Kenttämodalities | Tyyppistring[] | VaatimusValinnainen | Arvot & rajat text | Oletus— |
Kenttäprovider | Tyyppiobject | VaatimusValinnainen | Arvot & rajat Ehdot: provider.options hylätään tällä Ultran tekstireitillä | Oletus— |
Kenttäcache_control.ttl | Tyyppistring | VaatimusValinnainen | Arvot & rajat Ehdot: 1h hylätään varsinaisissa kehotevälimuistin kohdissa | Oletus— |
Syöteaineistojen yhdistelmät
Teksti · UTF8-teksti
messages[].content
Menetelmän parametrit ja elinkaari
| Parametri | Sopimus |
|---|---|
Parametricontent_type | Sopimusapplication/json |
Parametrirequired | Sopimusmodel, messages |
Parametrimaterial_types | Sopimustext |
Parametrimessages | Sopimusviestitaulukko role/content-rakenteella |
Parametrifile_material | Sopimusvarsinainen UTF-8-asiakirja lisätään sellaisenaan tekstinä; tiedoston ID:tä ei päätellä |
Parametrioptional_controls | Sopimusstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametricontrol_scope | Sopimusmallikohtainen; käyttäjän funktiotyökalut eroavat palvelun isännöimistä työkaluista |
Parametrioutput_modalities | Sopimustext |
Parametrihosted_operations | Sopimusfalse |
Parametrimultimodal_input_binding | Sopimusnull |
Elinkaari: synchronous_or_streamed
Lähetä mallin täsmällinen ID yhdessä messages-kentän kanssa.
Kontekstin pituus ei ole tuloksen yläraja.
Tekstitiedosto voi antaa tekstiä sellaisenaan; kuva-, ääni- ja tiedosto-objektisyötteet tarvitsevat täsmällisen sidonnan.
Hinnoittelu
Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.
- Nopea tila
- Vakiohinta Kun nopea tila on valittu
- Flex-tila
- Vakiohinta Kun flex-tila on valittu
- Päättelyn enimmäisteho
- Vakiohinta Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä
Ailoot-hinnat
Hinnat asetusten mukaan
Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.
| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
|---|---|---|---|---|
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit $0.0012 / 1K tokenia Tuloste · Tulostokenit $0.0036 / 1K tokenia Syöte · Välimuistin luku $0.00022 / 1K tokenia Syöte · Välimuistiin kirjoitus $0 / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit $0.0012 / 1K tokenia Tuloste · Tulostokenit $0.0036 / 1K tokenia Syöte · Välimuistin luku $0.00022 / 1K tokenia Syöte · Välimuistiin kirjoitus $0 / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia |
Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →
Esimerkkipyynnöt
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "z-ai/glm-4.5v", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='z-ai/glm-4.5v',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='z-ai/glm-4.5v',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Vastaanota ja tallenna tulokset
Ailoot Ultra · OpenAI Chat
json tai SSE
Säilytä kaikki valmistuneet tulokset
Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.
Säilytä jokainen vastausvaihtoehto sisältöineen, työkalukutsuineen ja päättelyineen. Kokoa SSE:ssä muutokset vastausvaihtoehdon ja työkalun indeksin mukaan ja säilytä lopullinen päättymissyy sekä käyttötiedot.
Jos alkuperäinen vastaus on tarkistettava
Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.
Vastauksen kentät
| Kenttä | Tyyppi |
|---|---|
Kenttächoices[].index | Tyyppiinteger |
Kenttächoices[].message.content | Tyyppistring|null |
Kenttächoices[].message.tool_calls | Tyyppitool_call[] |
Kenttächoices[].message.reasoning_content | Tyyppistring |
Kenttächoices[].message.reasoning_details | Tyyppiobject|array |
Kenttächoices[].finish_reason | Tyyppistring|null |
Kenttäusage | Tyyppiobject |
Virheet ja seuraavat vaiheet
| Vastaus | Ehto | Seuraava vaihe |
|---|---|---|
Vastaus400 · invalid_request_error | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |
Aliakset
Mallin aliakset
Ailoot Ultra z-ai/glm-4.5v
Menetelmäpolkujen aliakset
Käytä yllä näytettyjä menetelmäpolkuja.
Liittyvät kutsujan ID:t
Ailoot Ultra · Anthropic Messages POST /v1/messages z-ai/glm-4.5v
z-ai/glm-4.5vAloitus
GLM-4.5V on Z.ai:n 106B-A12B-visuaalisen päättelyn malli kuville, videolle, monimutkaisille asiakirjoille ja graafisen käyttöliittymän tehtäville. Se palauttaa tekstiä, tukee ajattelua ja suoria vastauksia ja voi paikantaa visuaalisia elementtejä koordinaateilla, jotka on normalisoitu välille 0–1 000.
- Hyväksytyt syötteet
- Teksti
- Tulokset
- json · sse
Saatavilla Ailootissa · syötteet & menetelmät
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Syötetyypit
text- Tulostyypit
json,sse- Tulosteen muoto
- JSON tai SSE
| Kenttä | Tyyppi | Vaatimus | Arvot & rajat | Oletus |
|---|---|---|---|---|
Kenttämodel | Tyyppistring | VaatimusPakollinen | Arvot & rajat z-ai/glm-4.5v | Oletus— |
Kenttämessages | Tyyppimessage[] | VaatimusPakollinen | Arvot & rajat | Oletus— |
Kenttämessages[].role | Tyyppistring | VaatimusPakollinen | Arvot & rajat user, assistant | Oletus— |
Kenttämessages[].content | Tyyppistring | VaatimusPakollinen | Arvot & rajat | Oletus— |
Kenttämax_tokens | Tyyppiinteger | VaatimusPakollinen | Arvot & rajat | Oletus— |
Kenttästream | Tyyppiboolean | VaatimusValinnainen | Arvot & rajat | Oletusfalse |
Syöteaineistojen yhdistelmät
Teksti · UTF-8-teksti
messages[].content-merkkijono
Menetelmän parametrit ja elinkaari
| Parametri | Sopimus |
|---|---|
Parametricontent_type | Sopimusapplication/json |
Parametrirequired | Sopimusmodel, messages, max_tokens |
Parametrioptional_controls | Sopimusstream |
Parametrimaterial_types | Sopimustext |
Parametritext_file_material | SopimusLue varsinainen UTF-8-asiakirja ja sijoita sen teksti ilmoitettuun syöte- tai viestisisällön merkkijonoon. |
Elinkaari: synchronous_or_streamed
Hinnoittelu
Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.
- Nopea tila
- Vakiohinta Kun nopea tila on valittu
- Flex-tila
- Vakiohinta Kun flex-tila on valittu
- Päättelyn enimmäisteho
- Vakiohinta Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä
Ailoot-hinnat
Hinnat asetusten mukaan
Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.
| Asetukset | Hinnasto | Kontekstin tokenit, enemmän kuin | Kontekstin tokenit, enintään raja-arvo mukaan lukien | Veloitus |
|---|---|---|---|---|
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Kontekstin tokenit, enemmän kuin— | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit $0.0012 / 1K tokenia Tuloste · Tulostokenit $0.0036 / 1K tokenia Syöte · Välimuistin luku $0.00022 / 1K tokenia Syöte · Välimuistiin kirjoitus $0 / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia |
| AsetuksetPyynnön pituusluokka 1 | Hinnasto— | Kontekstin tokenit, enemmän kuin0 | Kontekstin tokenit, enintään raja-arvo mukaan lukienEi ylärajaa | Veloitus Syöte · Syötetokenit $0.0012 / 1K tokenia Tuloste · Tulostokenit $0.0036 / 1K tokenia Syöte · Välimuistin luku $0.00022 / 1K tokenia Syöte · Välimuistiin kirjoitus $0 / 1K tokenia Syöte · Välimuistiin kirjoitus, 1 tunti — / 1K tokenia |
Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. Varauksen ja lopullisen veloituksen toiminta →
Esimerkkipyynnöt
Ailoot Ultra · Anthropic Messages
{
"model": "z-ai/glm-4.5v",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'z-ai/glm-4.5v', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'z-ai/glm-4.5v', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Vastaanota ja tallenna tulokset
Ailoot Ultra · Anthropic Messages
JSON tai SSE
Säilytä kaikki valmistuneet tulokset
Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.
Säilytä kaikki sisältölohkot, päättelyallekirjoitukset ja todelliset työkalukäytön ID:t. Kokoa kaikki SSE-lohkomuutokset; ensimmäinen tekstilohko ei ole koko tulos.
Jos alkuperäinen vastaus on tarkistettava
Säilytä pyyntöjen/vastausten ID:t ja otsakkeet. Yleistä tekstityön haku-URL:ää ei anneta.
Vastauksen kentät
| Kenttä | Tyyppi |
|---|---|
Kenttäid | Tyyppistring |
Kenttämodel | Tyyppistring |
Kenttäcontent[] | Tyyppitext|thinking|tool_use|other content block |
Kenttästop_reason | Tyyppistring|null |
Kenttäusage | Tyyppiobject |
Virheet ja seuraavat vaiheet
| Vastaus | Ehto | Seuraava vaihe |
|---|---|---|
Vastaus400 · invalid_request_error | EhtoVirheelliset pakolliset kentät, aineiston esitysmuoto tai parametrin arvo | Seuraava vaiheKorjaa ilmoitetut kentät ennen uutta luontipyyntöä. |
Aliakset
Mallin aliakset
Ailoot Ultra z-ai/glm-4.5v
Menetelmäpolkujen aliakset
Käytä yllä näytettyjä menetelmäpolkuja.
Liittyvät kutsujan ID:t
FAQ · Z.ai: GLM 4.5V
- Mitä syötteitä ja tuloksia on saatavilla?
POST /v1/chat/completions·z-ai/glm-4.5v:text→textPOST /v1/messages·z-ai/glm-4.5v:text→json,sse- Mitä kenttiä pyyntö käyttää?
POST /v1/chat/completions·z-ai/glm-4.5v:model,messages,stream,modalities,providerPOST /v1/messages·z-ai/glm-4.5v:model,messages,max_tokens,stream- Mitä rajoja sovelletaan?
POST /v1/chat/completions·z-ai/glm-4.5v:messages.min_items:1