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

# CodeGeeX-4

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

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

CodeGeeX4 er en flersproget kodemodelfamilie til kodegenerering, fuldførelse, forklaring, reparation og spørgsmål om kodearkiver. Dens egne vejledninger omfatter opgavespecifikke prompts, udfyldning af huller mellem eksisterende kodestykker og brug af relaterede filer til at forberede ændringer med eksplicitte filstier.

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

Om modellen

Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.

CodeGeeX4 er en flersproget kodemodelfamilie bygget omkring programmeringshjælp og arbejde på tværs af relaterede kildefiler. Producenten offentliggør CodeGeeX4-ALL-9B som et open source-medlem af serien, udviklet gennem videre træning af GLM-4-9B. Dokumentationen omfatter kodegenerering og fuldførelse, programmeringsspørgsmål, analyse af kodearkiver og tilsluttede arbejdsgange med en kodefortolker, websøgning eller funktionskald. Det almindelige output er tekst: kode, forklaringer, svar eller ændringer mærket med filnavne i henhold til opgaveinstruktionen.

Start med at vælge handlingen og give modellen den kode, den har brug for. Den oprindelige systempromptvejledning har særskilte instruktioner til at tilføje kommentarer, forklare et program, oversætte mellem programmeringssprog, gennemgå eller reparere kode, generere tests og besvare spørgsmål om en fil. Ved en reparation skal du medtage den fejlende kode, den observerede adfærd og det tilsigtede resultat. Ved oversættelse skal du angive målprogrammeringssproget og levere hele den relevante funktion. Ved kommentarer bevarer producentens opgaveinstruktion koden og tilføjer kommentarer; ved flere kodeproducerende opgaver beder den om kode alene. Disse forskelle gør resultatet anvendeligt som en kodeleverance eller en forklaring frem for at lade outputformatet være underforstået.

Vejledningerne giver kinesiske og engelske systemprompts. Sproget i systeminstruktionen bestemmer ikke i sig selv svarets sprog, så bed udtrykkeligt om svarenes sprog, når der er behov for en forklaring. Den specialiserede vejledning til gennemgang beskriver kinesisk output; den generelle prompt til programmeringsassistenten giver en særskilt måde at bede om en gennemgang på et andet sprog. Nogle opgaveskabeloner sætter kommentarsproget til at følge kilden og udelukker blandet kinesisk og engelsk output. I en fortsat samtale skal du gentage den relevante opgaveinstruktion, når du skifter handling, så en anmodning om en forklaring ikke forveksles med den foregående anmodning om output bestående af kode alene.

Ved kontekstuel fuldførelse beskriver det oprindelige format målfilen, dens programmeringssprog og koden på begge sider af indsættelsespunktet. Brug den relative filsti med ###PATH:, og medtag ###LANGUAGE:; vejledningen tillader en tom sprogværdi, når sproget er ukendt. ###MODE: vælger LINE til en fuldførelse på én linje eller BLOCK til flere linjer, med BLOCK som den dokumenterede standard. Fill-in-the-middle-sekvensen har først suffikset, dernæst præfikset og derefter den manglende midterdel, markeret med \<|code\_suffix|\>, \<|code\_prefix|\> og \<|code\_middle|\>. Producentens udfyldningsskabelon udelader systemprompten. Ved at bevare suffikset får modellen det omgivende kontrolflow og den kode, der skal stå efter indsættelsen. Resultatet er den foreslåede manglende kode, som derefter kan kontrolleres på sin oprindelige placering.

Fuldførelse på tværs af filer tilføjer relaterede uddrag som referencemateriale, hvert indledt med ###REFERENCE: og sin egen ###PATH:. Hold disse referencer adskilt fra målfilen og dens indsættelsespunkt. Når du for eksempel fuldfører en funktion, der kalder en eksisterende hjælpefunktion, skal du levere hjælpefunktionens signatur og implementering sammen med målfunktionens præfiks og suffiks. Vejledningen til fuldførelse på projektniveau udvider denne tilgang til at generere en ny fil ud fra projektkravene og relevant eksisterende kode. Tydelige stier og udvalgte afhængigheder gør det muligt at skelne kode leveret som dokumentation fra den fil, modellen skal fuldføre.

Spørgsmål om kodearkiver bruger et andet oprindeligt layout: Angiv hver fil under ###PATH:, medtag dens kode, og stil derefter spørgsmålet. En nyttig opgavebeskrivelse kan spørge, hvor en værdi defineres, eller hvordan et kald passerer mellem de leverede moduler. Redigering af kodearkiver bruger sin egen systeminstruktion til at tilføje, slette eller ændre filer og beder om output i formen ###PATH: {PATH} efterfulgt af koden. Klargør de relevante filer, og beskriv den nødvendige ændring, herunder den fil, der skal tilføjes, eller den adfærd, der skal bevares. Læs de returnerede blokke med filstier som foreslåede ændringer; de er ikke dokumentation for, at et kodearkiv allerede er ændret, eller at koden er kørt.

For det offentliggjorte CodeGeeX4-ALL-9B-medlem dokumenterer producenten en 128K-kontekst og anbefaler at udvælge relevant indhold fra kodearkivet, når et projekt overstiger dette vindue. Hentning af relaterede uddrag og beskæring af for store input er forberedelsestrin i vejledningen til kodearkiver. Konteksten skal rumme instruktioner, leveret kode og genereret fortsættelse, så et målrettet udvalg af filer er ofte mere nyttigt end et udifferentieret projektdump. Producentens eksempelindstillinger til generering styrer længden af en konkret kørsel; de definerer ikke en universel maksimal svarlængde for alle CodeGeeX4-udgaver.

Serien beskriver også tilsluttede programmeringsforløb med fortolkere, søgning og funktionskald. En sådan arbejdsgang kræver, at den omgivende applikation stiller de navngivne værktøjer til rådighed og returnerer deres resultater til samtalen. Når du beder om kørbar kode, skal du angive det tilsigtede sprog, afhængigheder og forventet adfærd; når du beder om en analyse, skal du efterspørge de relevante fil- eller funktionsreferencer. Kompilér eller kør de foreslåede ændringer i det tilsigtede miljø, og kontrollér adfærden mod det leverede krav, før de indarbejdes i et projekt.

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

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

Zhipu /`codegeex-4`

### Start

CodeGeeX4 er en flersproget kodemodelfamilie til kodegenerering, fuldførelse, forklaring, reparation og spørgsmål om kodearkiver. Dens egne vejledninger omfatter opgavespecifikke prompts, udfyldning af huller mellem eksisterende kodestykker og brug af relaterede filer til at forberede ændringer med eksplicitte filstier.

Accepterede input

Tekst

Resultater

Tekst

### Tilgængelig i Ailoot · input og metoder

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

Inputtyper

`text`

Outputtyper

`text`

Outputformat

json eller SSE

| Felt | Type | Krav | Værdier og grænser | Standard |
| --- | --- | --- | --- | --- |
| Felt`model` | Type`string` | KravPåkrævet | Værdier og grænser codegeex-4 | Standard— |
| Felt`messages` | Type`message[]` | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 | Standard— |
| Felt`messages[].role` | Type`string` | KravPåkrævet | Værdier og grænser Afhænger af modellen | Standard— |
| Felt`messages[].content` | Type`string` | KravValgfrit | Værdier og grænser Gælder når: Tekstsamtale | Standard— |
| Felt`stream` | Type`boolean` | KravValgfrit | Værdier og grænser | Standardfalse |

Kombinationer af inputmaterialer

**Tekst** · UTF8-tekst

`messages[].content`

Metodeparametre og livscyklus

| Parameter | Kontrakt |
| --- | --- |
| Parameter`content_type` | Kontraktapplication/json |
| Parameter`required` | Kontraktmodel, messages |
| Parameter`material_types` | Kontrakttext |
| Parameter`messages` | Kontraktbeskedarray med strukturen role/content |
| Parameter`file_material` | Kontraktfaktisk UTF-8-dokument indsat som bogstavelig tekst; intet fil-ID udledes |
| Parameter`optional_controls` | Kontraktstream |
| Parameter`control_scope` | KontraktTekstsamtale; stream er en boolesk værdi og er som standard false. |
| Parameter`output_modalities` | Kontrakttext |
| Parameter`hosted_operations` | Kontraktfalse |
| Parameter`multimodal_input_binding` | Kontraktnull |

Metodealiaser: `/chat/completions`

Livscyklus: `synchronous_or_streamed`

Send det præcise model-ID med messages.

Kontekstlængde er ikke et outputloft.

En tekstfil kan levere bogstavelig tekst; billed-, lyd- og filobjektinput kræver en præcis binding.

### Priser

Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.

Hurtig tilstand

Ikke angivet Når hurtig tilstand er valgt

flex-tilstand

Ikke angivet Når flex-tilstanden er valgt

Maksimal ræsonneringsindsats

Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats

#### Ailoot-takster

#### Priser efter konfiguration

| Konfiguration | Takstplan | Beløb |
| --- | --- | --- |
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens **$0.028** / 1K tokens Output · Outputtokens **$0.028** / 1K tokens Input · Cachelæsning **$0** / 1K tokens Input · Cacheskrivning **$0** / 1K tokens Input · Cacheskrivning, 1 time **—** / 1K tokens |

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. [Sådan fungerer reservation og afregning →](https://ailoot.ai/docs/da/billing/reserve/)

### Eksempelanmodninger

#### 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"))
```

### Hent og gem resultater

#### Ailoot Ultra · OpenAI Chat

json eller SSE

##### Behold alle færdige resultater

Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.

Bevar hvert valg og dets indhold, værktøjskald og ræsonnement. Saml i SSE deltaer efter valg-/værktøjsindeks, og bevar den endelige afslutningsårsag og forbrugsoplysningerne.

##### Hvis det oprindelige svar skal kontrolleres

Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.

Svarfelter

| Felt | Type |
| --- | --- |
| Felt`choices[].index` | Typeinteger |
| Felt`choices[].message.content` | Typestring\|null |
| Felt`choices[].message.tool_calls` | Typetool\_call\[\] |
| Felt`choices[].message.reasoning_content` | Typestring |
| Felt`choices[].message.reasoning_details` | Typeobject\|array |
| Felt`choices[].finish_reason` | Typestring\|null |
| Felt`usage` | Typeobject |

Fejl og næste trin

| Svar | Betingelse | Næste trin |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |

### Aliaser

#### Modelaliaser

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

#### Aliaser for metodestier

`/chat/completions`

#### Relaterede kalder-ID’er

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

Zhipu /`codegeex-4`

### Start

CodeGeeX4 er en flersproget kodemodelfamilie til kodegenerering, fuldførelse, forklaring, reparation og spørgsmål om kodearkiver. Dens egne vejledninger omfatter opgavespecifikke prompts, udfyldning af huller mellem eksisterende kodestykker og brug af relaterede filer til at forberede ændringer med eksplicitte filstier.

Accepterede input

Tekst

Resultater

json · sse

### Tilgængelig i Ailoot · input og metoder

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Inputtyper

`text`

Outputtyper

`json`, `sse`

Outputformat

JSON eller SSE

| Felt | Type | Krav | Værdier og grænser | Standard |
| --- | --- | --- | --- | --- |
| Felt`model` | Type`string` | KravPåkrævet | Værdier og grænser codegeex-4 | Standard— |
| Felt`messages` | Type`message[]` | KravPåkrævet | Værdier og grænser | Standard— |
| Felt`messages[].role` | Type`string` | KravPåkrævet | Værdier og grænser user, assistant | Standard— |
| Felt`messages[].content` | Type`string` | KravPåkrævet | Værdier og grænser | Standard— |
| Felt`max_tokens` | Type`integer` | KravPåkrævet | Værdier og grænser | Standard— |
| Felt`stream` | Type`boolean` | KravValgfrit | Værdier og grænser | Standardfalse |

Kombinationer af inputmaterialer

**Tekst** · UTF-8-tekst

`messages[].content som streng`

Metodeparametre og livscyklus

| Parameter | Kontrakt |
| --- | --- |
| Parameter`content_type` | Kontraktapplication/json |
| Parameter`required` | Kontraktmodel, messages, max\_tokens |
| Parameter`optional_controls` | Kontraktstream |
| Parameter`material_types` | Kontrakttext |
| Parameter`text_file_material` | KontraktLæs det faktiske UTF-8-dokument, og indsæt teksten i det angivne input eller beskedens indholdsstreng. |

Livscyklus: `synchronous_or_streamed`

### Priser

Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.

Hurtig tilstand

Ikke angivet Når hurtig tilstand er valgt

flex-tilstand

Ikke angivet Når flex-tilstanden er valgt

Maksimal ræsonneringsindsats

Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats

#### Ailoot-takster

#### Priser efter konfiguration

| Konfiguration | Takstplan | Beløb |
| --- | --- | --- |
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens **$0.028** / 1K tokens Output · Outputtokens **$0.028** / 1K tokens Input · Cachelæsning **$0** / 1K tokens Input · Cacheskrivning **$0** / 1K tokens Input · Cacheskrivning, 1 time **—** / 1K tokens |

Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. [Sådan fungerer reservation og afregning →](https://ailoot.ai/docs/da/billing/reserve/)

### Eksempelanmodninger

#### Ailoot Ultra · Anthropic Messages

Komplet minimalt requestbody i JSONcurl · brug dit UTF-8-dokumentPython · gem hele resultatet

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

### Hent og gem resultater

#### Ailoot Ultra · Anthropic Messages

JSON eller SSE

##### Behold alle færdige resultater

Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.

Bevar alle indholdsblokke, ræsonnementssignaturer og faktiske værktøjsbrugs-ID’er. Saml alle SSE-blokdeltaer; den første tekstblok er ikke hele outputtet.

##### Hvis det oprindelige svar skal kontrolleres

Bevar anmodnings-/svar-ID’er og headere. Der leveres ingen generel URL til at hente tekstjob.

Svarfelter

| Felt | Type |
| --- | --- |
| Felt`id` | Typestring |
| Felt`model` | Typestring |
| Felt`content[]` | Typetext\|thinking\|tool\_use\|other content block |
| Felt`stop_reason` | Typestring\|null |
| Felt`usage` | Typeobject |

Fejl og næste trin

| Svar | Betingelse | Næste trin |
| --- | --- | --- |
| Svar400 · `invalid_request_error` | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |

### Aliaser

#### Modelaliaser

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

#### Aliaser for metodestier

`/chat/completions`

#### Relaterede kalder-ID’er

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

FAQ · CodeGeeX-4

Hvilke input og resultater er tilgængelige?

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

Hvilke felter bruger anmodningen?

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

Hvilke grænser gælder?

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

Tilslut Ailoot til Claude Code, OpenCode, Hermes eller din egen applikation.

## Virksomheden og dens projektportefølje

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

## Køb tokens med rabat.

Abonnementsrabat til regelmæssigt arbejde. Rabatkoder giver op til 50% på tokenkøb.

Abonnement

Vælg et abonnement med rabat til dine regelmæssige anmodninger.

Rabatkode på op til 50%

Indtast koden ved købet. Prisen genberegnes efter den aktuelle kampagne.

Udgifter i historikken

Model, tokens og beløb gemmes for hver anmodning.

[Vælg abonnement](https://ailoot.ai/docs/da/billing/subscriptions/) · [Se modelpriser](https://ailoot.ai/models/da/)

## Tilslut API’et til produktet, du sælger.

SaaS, apps og bots efter Ailoots tilbudsvilkår og licensaftale. Anmod om en forhandlerlicens til videresalg.

Kommerciel applikation

Byg generering af tekst, billeder, video og lyd ind i tjenestens betalte funktioner.

Licens til forhandlere

Send projektbeskrivelse og adgangsmodel. Bed om skriftlige vilkår for anvendelse og videresalg.

Dokumenter på websitet

Tilbudsvilkår, licensaftale og politik for behandling af data kan læses før tilslutning.

[Anmod om forhandlerlicens](mailto:support@ailoot.ai) · [Tilbudsvilkår og licensaftale](https://ailoot.ai/legal/offer?lang=da)

## Ailoot · Virksomheden og dens projektportefølje





Ailoot bygger på solid driftserfaring, en stor kundebase, stabil service og løbende kontrol af KPI.





Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.





Ailoot bruger denne driftserfaring til API-adgang til AI-funktioner i kundernes produkter, agenter, applikationer og automatiseringer.
