Source: https://ailoot.ai/models/fi/codegeex-4/
Canonical: https://ailoot.ai/models/fi/codegeex-4/
Language: fi

# CodeGeeX-4

[Markdown](https://ailoot.ai/models/fi/codegeex-4/index.md) · [JSON](https://ailoot.ai/models/fi/codegeex-4/facts.json)

## [CodeGeeX-4](https://ailoot.ai/models/fi/codegeex-4/)

CodeGeeX4 on monikielinen ohjelmointimalliperhe koodin tuottamiseen, täydentämiseen, selittämiseen, korjaamiseen ja ohjelmistovarastoa koskeviin kysymyksiin. Sen omat oppaat kattavat tehtäväkohtaiset kehotteet, olemassa olevan koodin välisten aukkojen täyttämisen ja liittyvien tiedostojen käytön muutosten valmisteluun täsmällisin tiedostopoluin.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `codegeex-4`](https://ailoot.ai/models/fi/codegeex-4/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `codegeex-4`](https://ailoot.ai/models/fi/codegeex-4/#method-1)

Tietoa mallista

Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.

CodeGeeX4 on monikielinen ohjelmointimalliperhe, joka keskittyy ohjelmointiapuun ja toisiinsa liittyvien lähdetiedostojen käsittelyyn. Valmistaja julkaisee CodeGeeX4-ALL-9B:n sarjan avoimen lähdekoodin jäsenenä, joka on kehitetty jatkokouluttamalla GLM-4-9B:tä. Sen dokumentaatio kattaa koodin tuottamisen ja täydentämisen, ohjelmointikysymykset, ohjelmistovaraston analyysin sekä liitetyt työnkulut, joissa käytetään kooditulkkia, verkkohakua tai funktiokutsuja. Tavallinen tuloste on tekstiä: koodia, selityksiä, vastauksia tai tiedostotunnisteilla merkittyjä muutoksia tehtäväohjeen mukaan.

Aloita valitsemalla toimenpide ja antamalla mallille sen tarvitsema koodi. Oma järjestelmäkehoteopas antaa erilliset ohjeet kommenttien lisäämiseen, ohjelman selittämiseen, ohjelmointikielten väliseen kääntämiseen, koodin katselmointiin tai korjaamiseen, testien tuottamiseen ja tiedostoa koskeviin kysymyksiin vastaamiseen. Sisällytä korjaukseen virheellinen koodi, havaittu toiminta ja tavoiteltu tulos. Kerro käännökselle kohdeohjelmointikieli ja anna koko olennainen funktio. Kommentointitehtävässä valmistajan ohje säilyttää koodin ja lisää kommentteja; useissa koodia tuottavissa tehtävissä se pyytää pelkkää koodia. Nämä erot tekevät tuloksesta käyttökelpoisen koodituotoksen tai selityksen sen sijaan, että tulosteen muoto jäisi määrittelemättä.

Oppaat tarjoavat kiinan- ja englanninkielisiä järjestelmäkehotteita. Järjestelmäohjeen kieli ei yksin määrää vastauksen kieltä, joten pyydä vastauskieli erikseen, kun tarvitset selityksen. Erikoistunut katselmointiohje kuvaa kiinankielistä tulostetta; yleinen ohjelmointiavustajan kehote tarjoaa erillisen tavan pyytää katselmointia toisella vastauskielellä. Jotkin tehtävämallineet määräävät kommenttikielen lähteen mukaiseksi ja sulkevat pois kiinaa ja englantia sekoittavan tulosteen. Toista jatkuvassa keskustelussa olennainen tehtäväohje vaihtaessasi toimenpidettä, jotta selityspyyntö ei sekoitu edeltävään pelkän koodin pyyntöön.

Kontekstuaalisessa täydennyksessä oma muoto kuvaa kohdetiedoston, sen ohjelmointikielen ja lisäyskohdan molemmilla puolilla olevan koodin. Käytä suhteellista tiedostopolkua merkinnällä ###PATH: ja sisällytä ###LANGUAGE:; opas sallii tyhjän kieliarvon, jos kieli on tuntematon. ###MODE: valitsee LINE-tilan yhden rivin täydennykselle tai BLOCK-tilan usealle riville, ja BLOCK on dokumentoitu oletus. Keskeltä täyttävässä sekvenssissä tulee ensin loppuosa, sitten alkuosa ja lopuksi puuttuva keskiosa, merkittyinä tunnisteilla \<|code\_suffix|\>, \<|code\_prefix|\> ja \<|code\_middle|\>. Valmistajan täyttömalline jättää järjestelmäkehotteen pois. Loppuosan säilyttäminen antaa mallille ympäröivän ohjausvirran ja koodin, jonka on jäätävä lisäyksen jälkeen. Tulos on ehdotettu puuttuva koodi, joka voidaan sitten tarkistaa alkuperäisessä sijainnissaan.

Tiedostojen välinen täydennys lisää liittyviä katkelmia viiteaineistoksi; kukin alkaa merkinnällä ###REFERENCE: ja omalla ###PATH:-merkinnällään. Pidä nämä viitteet erillään kohdetiedostosta ja sen lisäyskohdasta. Kun esimerkiksi täydennät olemassa olevaa apufunktiota kutsuvaa funktiota, anna apufunktion allekirjoitus ja toteutus kohdefunktion alku- ja loppuosan rinnalla. Projektitason täydennysopas laajentaa tämän uuden tiedoston tuottamiseen projektivaatimuksista ja olennaisesta olemassa olevasta koodista. Selkeät polut ja valitut riippuvuudet auttavat erottamaan näyttönä annetun koodin tiedostosta, jota mallia pyydetään täydentämään.

Ohjelmistovarastoa koskevat kysymykset käyttävät eri omaa asettelua: luettele jokainen tiedosto merkinnällä ###PATH:, sisällytä sen koodi ja kysy sitten kysymys. Hyödyllinen tehtävänanto voi kysyä, missä arvo määritellään tai miten kutsu kulkee annettujen moduulien välillä. Ohjelmistovaraston muokkauksessa on oma järjestelmäohje tiedostojen lisäämiseen, poistamiseen tai muokkaamiseen, ja se pyytää tulosteen muodossa ###PATH: {PATH}, jota seuraa koodi. Valmistele olennaiset tiedostot ja kuvaa vaadittu muutos, mukaan lukien lisättävä tiedosto tai säilytettävä toiminta. Lue palautetut polkumerkityt lohkot muutosehdotuksina; ne eivät osoita, että ohjelmistovarastoa olisi jo muokattu tai koodi suoritettu.

Julkaistulle CodeGeeX4-ALL-9B-jäsenelle valmistaja dokumentoi 128K:n kontekstin ja suosittelee olennaisen ohjelmistovarastosisällön valitsemista, jos projekti ylittää tämän ikkunan. Liittyvien katkelmien haku ja liian suurten syötteiden karsiminen ovat ohjelmistovarasto-oppaan valmisteluvaiheita. Kontekstiin pitää mahtua ohjeet, annettu koodi ja tuotettu jatko, joten kohdennettu tiedostojoukko on usein hyödyllisempi kuin erottelematon koko projektin vedos. Valmistajan esimerkkigeneroinnin asetukset ohjaavat yksittäisen ajon pituutta; ne eivät määritä kaikkien CodeGeeX4-versioiden yleistä enimmäisvastauspituutta.

Sarja kuvaa myös liitettyjä ohjelmointityönkulkuja, joissa käytetään tulkkeja, hakua ja funktiokutsuja. Tällainen työnkulku tarvitsee ympäröivän sovelluksen tarjoamaan nimetyt työkalut ja palauttamaan niiden tulokset keskusteluun. Kun pyydät suoritettavaa koodia, määrittele aiottu kieli, riippuvuudet ja odotettu toiminta; kun pyydät analyysia, pyydä olennaiset tiedosto- tai funktioviitteet. Käännä tai suorita ehdotetut muutokset tarkoitetussa ympäristössä ja tarkista toiminta annettua vaatimusta vasten ennen niiden sisällyttämistä projektiin.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `codegeex-4`

[`codegeex-4`](https://ailoot.ai/models/fi/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=chat)

Zhipu /`codegeex-4`

### Aloitus

CodeGeeX4 on monikielinen ohjelmointimalliperhe koodin tuottamiseen, täydentämiseen, selittämiseen, korjaamiseen ja ohjelmistovarastoa koskeviin kysymyksiin. Sen omat oppaat kattavat tehtäväkohtaiset kehotteet, olemassa olevan koodin välisten aukkojen täyttämisen ja liittyvien tiedostojen käytön muutosten valmisteluun täsmällisin tiedostopoluin.

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` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat codegeex-4 | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat Kohteiden vähimmäismäärä: 1 | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat Riippuu mallista | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string` | VaatimusValinnainen | Arvot & rajat Sovelletaan, kun: Tekstikeskustelu | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |

Syöteaineistojen yhdistelmät

**Teksti** · UTF8-teksti

`messages[].content`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages |
| Parametri`material_types` | Sopimustext |
| Parametri`messages` | Sopimusviestitaulukko role/content-rakenteella |
| Parametri`file_material` | Sopimusvarsinainen UTF-8-asiakirja lisätään sellaisenaan tekstinä; tiedoston ID:tä ei päätellä |
| Parametri`optional_controls` | Sopimusstream |
| Parametri`control_scope` | SopimusTekstikeskustelu; stream on totuusarvo, jonka oletus on false. |
| Parametri`output_modalities` | Sopimustext |
| Parametri`hosted_operations` | Sopimusfalse |
| Parametri`multimodal_input_binding` | Sopimusnull |

Menetelmien aliakset: `/chat/completions`

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

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

| Asetukset | Hinnasto | Veloitus |
| --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Veloitus Syöte · Syötetokenit **$0.028** / 1K tokenia Tuloste · Tulostokenit **$0.028** / 1K tokenia Syöte · Välimuistin luku **$0** / 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 →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"codegeex-4","messages":[{"role":"user","content":"hello"}],"stream":false}')

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
```

```python
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="codegeex-4", messages=[{"role":"user","content":"hello"}], stream=False)
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"))
```

### 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** [`codegeex-4`](https://ailoot.ai/models/fi/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=chat)

#### Menetelmäpolkujen aliakset

`/chat/completions`

#### Liittyvät kutsujan ID:t

[`codegeex-4`](https://ailoot.ai/models/fi/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `codegeex-4`

[`codegeex-4`](https://ailoot.ai/models/fi/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=messages)

Zhipu /`codegeex-4`

### Aloitus

CodeGeeX4 on monikielinen ohjelmointimalliperhe koodin tuottamiseen, täydentämiseen, selittämiseen, korjaamiseen ja ohjelmistovarastoa koskeviin kysymyksiin. Sen omat oppaat kattavat tehtäväkohtaiset kehotteet, olemassa olevan koodin välisten aukkojen täyttämisen ja liittyvien tiedostojen käytön muutosten valmisteluun täsmällisin tiedostopoluin.

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` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat codegeex-4 | Oletus— |
| Kenttä`messages` | Tyyppi`message[]` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`messages[].role` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat user, assistant | Oletus— |
| Kenttä`messages[].content` | Tyyppi`string` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`max_tokens` | Tyyppi`integer` | VaatimusPakollinen | Arvot & rajat | Oletus— |
| Kenttä`stream` | Tyyppi`boolean` | VaatimusValinnainen | Arvot & rajat | Oletusfalse |

Syöteaineistojen yhdistelmät

**Teksti** · UTF-8-teksti

`messages[].content-merkkijono`

Menetelmän parametrit ja elinkaari

| Parametri | Sopimus |
| --- | --- |
| Parametri`content_type` | Sopimusapplication/json |
| Parametri`required` | Sopimusmodel, messages, max\_tokens |
| Parametri`optional_controls` | Sopimusstream |
| Parametri`material_types` | Sopimustext |
| Parametri`text_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

Ei määritetty Kun nopea tila on valittu

Flex-tila

Ei määritetty Kun flex-tila on valittu

Päättelyn enimmäisteho

Ei määritetty Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä

#### Ailoot-hinnat

#### Hinnat asetusten mukaan

| Asetukset | Hinnasto | Veloitus |
| --- | --- | --- |
| AsetuksetTokenien perushinnat | HinnastoPerushinta | Veloitus Syöte · Syötetokenit **$0.028** / 1K tokenia Tuloste · Tulostokenit **$0.028** / 1K tokenia Syöte · Välimuistin luku **$0** / 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 →](https://ailoot.ai/docs/fi/billing/reserve/)

### Esimerkkipyynnöt

#### Ailoot Ultra · Anthropic Messages

Täydellinen minimaalinen JSON-runkocurl · käytä omaa UTF-8-dokumenttiasiPython · tallenna koko tulos

```json
{
  "model": "codegeex-4",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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': 'codegeex-4', '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
```

```python
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': 'codegeex-4', '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** [`codegeex-4`](https://ailoot.ai/models/fi/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=messages)

#### Menetelmäpolkujen aliakset

`/chat/completions`

#### Liittyvät kutsujan ID:t

[`codegeex-4`](https://ailoot.ai/models/fi/#m=codegeex-4&route=Ultra&caller=codegeex-4&fmt=messages)

FAQ · CodeGeeX-4

Mitä syötteitä ja tuloksia on saatavilla?

`POST /v1/chat/completions` · `codegeex-4`: `text` → `text` `POST /v1/messages` · `codegeex-4`: `text` → `json`, `sse`

Mitä kenttiä pyyntö käyttää?

`POST /v1/chat/completions` · `codegeex-4`: `model`, `messages`, `stream` `POST /v1/messages` · `codegeex-4`: `model`, `messages`, `max_tokens`, `stream`

Mitä rajoja sovelletaan?

`POST /v1/chat/completions` · `codegeex-4`: `messages.min_items`: `1`

Yhdistä Ailoot Claude Codeen, OpenCodeen, Hermesiin tai omaan sovellukseesi.

## Yritys ja sen projektisalkku

Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.

## Osta tokenit alennuksella.

Tilausalennus säännölliseen käyttöön. Kampanjakoodit — jopa 50% tokeniostoista.

Tilaus

Valitse alennushintainen paketti säännöllisiä pyyntöjäsi varten.

Kampanjakoodi jopa 50%

Syötä koodi oston yhteydessä. Hinta lasketaan uudelleen voimassa olevan kampanjan mukaan.

Kulut historiassa

Malli, tokenit ja summa tallennetaan jokaiselle pyynnölle.

[Valitse tilaus](https://ailoot.ai/docs/fi/billing/subscriptions/) · [Katso mallihinnat](https://ailoot.ai/models/fi/)

## Yhdistä API tuotteeseen, jonka myyt.

SaaS, sovellukset ja botit Ailootin palveluehtojen ja lisenssisopimuksen mukaisesti. Pyydä edelleenmyyntiin jälleenmyyjälisenssi.

Kaupallinen sovellus

Lisää tekstin, kuvien, videoiden ja äänen luonti palvelusi maksullisiin ominaisuuksiin.

Jälleenmyyjälisenssi

Lähetä projektikuvaus ja pääsyn toteutustapa. Pyydä kirjalliset käyttö- ja jälleenmyyntiehdot.

Asiakirjat verkkosivustolla

Palveluehdot, lisenssisopimus ja tietojenkäsittelykäytäntö ovat saatavilla ennen yhdistämistä.

[Pyydä jälleenmyyjälisenssi](mailto:support@ailoot.ai) · [Palveluehdot ja lisenssisopimus](https://ailoot.ai/legal/offer?lang=fi)

## Ailoot · Yritys ja sen projektisalkku





Ailoot perustuu kertyneeseen toimintakokemukseen, laajaan asiakaskuntaan, vakaaseen palveluun ja jatkuvaan KPI-seurantaan.





Yritys ja sen projektisalkku: miljoonia asiakkaita; kuukausittainen myynti miljardiluokassa.





Ailoot hyödyntää tätä toimintakokemusta tarjotessaan API-yhteyden tekoälytoimintoihin asiakkaiden tuotteissa, agenteissa, sovelluksissa ja automaatioissa.
