modeller

CodeGeeX-4

Markdown · JSON

CodeGeeX-4

CodeGeeX4 er en flerspråklig kodemodellfamilie for kodegenerering, fullføring, forklaring, retting og spørsmål om kodebaser. De egne veiledningene dekker oppgavespesifikke instruksjoner, utfylling mellom eksisterende kode og bruk av relaterte filer til å forberede endringer med eksplisitte filstier.

Om modellen

Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.

CodeGeeX4 er en flerspråklig kodemodellfamilie bygget rundt programmeringsassistanse og arbeid på tvers av relaterte kildefiler. Produsenten publiserer CodeGeeX4-ALL-9B som et medlem av serien med åpen kildekode, utviklet gjennom videre trening av GLM-4-9B. Dokumentasjonen dekker kodegenerering og fullføring, programmeringsspørsmål, analyse av kodebaser og tilkoblede arbeidsflyter med en kodetolker, nettsøk eller funksjonskall. De vanlige utdataene er tekst: kode, forklaringer, svar eller endringer merket med filnavn, i henhold til oppgaveinstruksjonen.

Begynn med å velge operasjonen og gi modellen koden den trenger. Den egne veiledningen for systeminstruksjoner har separate instruksjoner for å legge til kommentarer, forklare et program, oversette mellom programmeringsspråk, gjennomgå eller reparere kode, generere tester og svare på spørsmål om en fil. Ved retting bør du ta med koden som feiler, observert atferd og ønsket resultat. Ved oversettelse bør du angi målprogrammeringsspråket og oppgi hele den relevante funksjonen. For kommentarer beholder produsentens oppgaveinstruksjon koden og legger til kommentarer; for flere kodeproduserende oppgaver ber den om bare kode. Disse skillene gjør resultatet brukbart som kodeleveranse eller forklaring, fremfor å la utdataformatet være underforstått.

Veiledningene gir kinesiske og engelske systeminstruksjoner. Språket i systeminstruksjonen bestemmer ikke i seg selv språket i svaret, så be eksplisitt om svarspråket når en forklaring er nødvendig. Den spesialiserte veiledningen for kodegjennomgang beskriver kinesiske utdata; den generelle programmeringsassistentinstruksjonen gir en separat måte å be om gjennomgang på et annet svarspråk. Noen oppgavemaler setter kommentarspråket til å samsvare med kilden og utelukker utdata som blander kinesisk og engelsk. I en pågående samtale bør du gjenta den relevante oppgaveinstruksjonen når du bytter operasjon, slik at en forespørsel om forklaring ikke forveksles med den foregående forespørselen om bare kode.

For kontekstuell fullføring beskriver det egne formatet målfilen, programmeringsspråket og koden på begge sider av innsettingspunktet. Bruk den relative filstien med ###PATH: og ta med ###LANGUAGE:; veiledningen tillater en tom språkverdi når språket er ukjent. ###MODE: velger LINE for fullføring av én linje eller BLOCK for flere linjer, med BLOCK som dokumentert standard. Sekvensen for utfylling i midten er først suffiks, deretter prefiks, så den manglende midten, merket med <|code_suffix|>, <|code_prefix|> og <|code_middle|>. Produsentens utfyllingsmal utelater systeminstruksjonen. Ved å beholde suffikset får modellen kontrollflyten rundt innsettingspunktet og koden som skal stå igjen etter innsettingen. Resultatet er den foreslåtte manglende koden, som deretter kan kontrolleres på sin opprinnelige plass.

Fullføring på tvers av filer legger til relaterte kodeutdrag som referansemateriale, hvert innledet med ###REFERENCE: og sin egen ###PATH:. Hold disse referansene atskilt fra målfilen og innsettingspunktet. Når du for eksempel fullfører en funksjon som kaller en eksisterende hjelpefunksjon, bør du oppgi hjelpefunksjonens signatur og implementering sammen med målfilfunksjonens prefiks og suffiks. Veiledningen for fullføring på prosjektnivå utvider denne tilnærmingen til å generere en ny fil fra prosjektkravene og relevant eksisterende kode. Tydelige stier og utvalgte avhengigheter gjør det mulig å skille koden som er oppgitt som belegg, fra filen modellen blir bedt om å fullføre.

Spørsmål om kodebaser bruker et annet eget oppsett: list hver fil under ###PATH:, ta med koden og still deretter spørsmålet. En nyttig bestilling kan spørre hvor en verdi defineres, eller hvordan et kall går mellom de vedlagte modulene. Redigering av kodebaser bruker sin egen systeminstruksjon for å legge til, slette eller endre filer og ber om utdata som ###PATH: {PATH} etterfulgt av koden. Klargjør de relevante filene og beskriv ønsket endring, inkludert filen som skal legges til, eller atferden som skal bevares. Les de returnerte blokkene med filstier som foreslåtte endringer; de er ikke belegg for at en kodebase allerede er endret eller at koden har kjørt.

For det publiserte CodeGeeX4-ALL-9B-medlemmet dokumenterer produsenten en kontekst på 128K og anbefaler å velge relevant innhold fra kodebasen når et prosjekt overstiger dette vinduet. Gjenfinning av relaterte utdrag og nedkorting av for store inndata er klargjøringstrinn i kodebaseveiledningen. Konteksten må romme instruksjonene, koden som er lagt ved, og den genererte fortsettelsen, så et målrettet utvalg av filer er ofte mer nyttig enn en udifferensiert prosjektdump. Produsentens eksempelinnstillinger for generering styrer lengden på en bestemt kjøring; de definerer ikke en universell maksimal svarlengde for alle CodeGeeX4-utgaver.

Serien beskriver også tilkoblede programmeringsarbeidsflyter med tolker, søk og funksjonskall. En slik arbeidsflyt trenger at applikasjonen rundt modellen stiller de navngitte verktøyene til rådighet og returnerer resultatene til samtalen. Når du ber om kjørbar kode, bør du angi tiltenkt språk, avhengigheter og forventet atferd; når du ber om en analyse, bør du be om henvisninger til relevante filer eller funksjoner. Kompiler eller kjør de foreslåtte endringene i det tiltenkte miljøet, og kontroller atferden mot det vedlagte kravet før du innarbeider dem i et prosjekt.

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

codegeex-4

Zhipu /codegeex-4

Start

CodeGeeX4 er en flerspråklig kodemodellfamilie for kodegenerering, fullføring, forklaring, retting og spørsmål om kodebaser. De egne veiledningene dekker oppgavespesifikke instruksjoner, utfylling mellom eksisterende kode og bruk av relaterte filer til å forberede endringer med eksplisitte filstier.

Godkjente inndata
Tekst
Resultater
Tekst

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Inndatatyper
text
Utdatatyper
text
Utdataformat
json eller SSE
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
codegeex-4
Standard—
FeltmessagesTypemessage[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Standard—
Feltmessages[].roleTypestringKravPåkrevdVerdier & grenser
Avhenger av modellen
Standard—
Feltmessages[].contentTypestringKravValgfrittVerdier & grenser
Gjelder når: Tekstsamtale
Standard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
Kombinasjoner av inngående materialer

Tekst · UTF8-tekst

messages[].content

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, messages
Parametermaterial_typesAvtaletext
ParametermessagesAvtalemeldingstabell med role/content-struktur
Parameterfile_materialAvtalefaktisk UTF-8-dokument satt inn som bokstavelig tekst; ingen fil-ID utledes
Parameteroptional_controlsAvtalestream
Parametercontrol_scopeAvtaleTekstsamtale; stream er en boolsk verdi med false som standard.
Parameteroutput_modalitiesAvtaletext
Parameterhosted_operationsAvtalefalse
Parametermultimodal_input_bindingAvtalenull

Metodealiaser: /chat/completions

Livssyklus: synchronous_or_streamed

Send eksakt modell-ID sammen med messages.

Kontekstlengde er ikke en outputgrense.

En tekstfil kan levere bokstavelig tekst; bilde-, lyd- og filobjektinput trenger eksakt binding.

Priser

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Ailoot-satser

Priser etter konfigurasjon

KonfigurasjonPrisplanKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKostnad
Inndata · Inngående tokener $0.028 / 1K tokener
Utdata · Utgående tokener $0.028 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · OpenAI Chat

curlPython SDK
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
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"))

Motta og lagre resultater

Ailoot Ultra · OpenAI Chat

json eller SSE

Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Behold hvert svaralternativ med innhold, verktøykall og resonnering. Sett sammen endringer i SSE etter svaralternativets/verktøyets indeks, og behold endelig avslutningsgrunn og bruksdata.

Hvis det opprinnelige svaret må kontrolleres

Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.

Svarfelter
FeltType
Feltchoices[].indexTypeinteger
Feltchoices[].message.contentTypestring|null
Feltchoices[].message.tool_callsTypetool_call[]
Feltchoices[].message.reasoning_contentTypestring
Feltchoices[].message.reasoning_detailsTypeobject|array
Feltchoices[].finish_reasonTypestring|null
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.

Aliaser

Modellaliaser

Ailoot Ultra codegeex-4

Aliaser for metodestier

/chat/completions

Tilknyttede anroper-ID-er

codegeex-4

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

codegeex-4

Zhipu /codegeex-4

Start

CodeGeeX4 er en flerspråklig kodemodellfamilie for kodegenerering, fullføring, forklaring, retting og spørsmål om kodebaser. De egne veiledningene dekker oppgavespesifikke instruksjoner, utfylling mellom eksisterende kode og bruk av relaterte filer til å forberede endringer med eksplisitte filstier.

Godkjente inndata
Tekst
Resultater
json · sse

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Anthropic Messages POST /v1/messages
Inndatatyper
text
Utdatatyper
json, sse
Utdataformat
JSON eller SSE
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
codegeex-4
Standard—
FeltmessagesTypemessage[]KravPåkrevdVerdier & grenserStandard—
Feltmessages[].roleTypestringKravPåkrevdVerdier & grenser
user, assistant
Standard—
Feltmessages[].contentTypestringKravPåkrevdVerdier & grenserStandard—
Feltmax_tokensTypeintegerKravPåkrevdVerdier & grenserStandard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
Kombinasjoner av inngående materialer

Tekst · UTF-8-tekst

messages[].content-streng

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, messages, max_tokens
Parameteroptional_controlsAvtalestream
Parametermaterial_typesAvtaletext
Parametertext_file_materialAvtaleLes det faktiske UTF-8-dokumentet og legg teksten i den angitte input- eller meldingsinnholdsstrengen.

Livssyklus: synchronous_or_streamed

Priser

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Ailoot-satser

Priser etter konfigurasjon

KonfigurasjonPrisplanKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKostnad
Inndata · Inngående tokener $0.028 / 1K tokener
Utdata · Utgående tokener $0.028 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · Anthropic Messages

Komplett, minimal JSON-kroppcurl · bruk UTF-8-dokumentet dittPython · lagre hele resultatet
{
  "model": "codegeex-4",
  "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': '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
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))

Motta og lagre resultater

Ailoot Ultra · Anthropic Messages

JSON eller SSE

Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Behold alle innholdsblokker, resonneringssignaturer og faktiske ID-er for verktøybruk. Sett sammen alle SSE-blokkendringer; den første tekstblokken er ikke hele resultatet.

Hvis det opprinnelige svaret må kontrolleres

Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.

Svarfelter
FeltType
FeltidTypestring
FeltmodelTypestring
Feltcontent[]Typetext|thinking|tool_use|other content block
Feltstop_reasonTypestring|null
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.

Aliaser

Modellaliaser

Ailoot Ultra codegeex-4

Aliaser for metodestier

/chat/completions

Tilknyttede anroper-ID-er

codegeex-4

FAQ · CodeGeeX-4
Hvilke inndata og resultater er tilgjengelige?

POST /v1/chat/completions · codegeex-4: text → text

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

Hvilke felt bruker forespørselen?

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

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

Hvilke grenser gjelder?

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

Flere detaljer

Koble Ailoot til Claude Code, OpenCode, Hermes eller egen applikasjon.

Selskapet og dets prosjektportefølje

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Kjøp tokener med rabatt.

Abonnementsrabatt for jevnlig bruk. Kampanjekoder gir opptil 50% på tokenkjøp.

Abonnement
Velg et rabattabonnement for faste forespørsler.
Kampanjekode opptil 50%
Oppgi kode ved kjøp. Prisen beregnes på nytt etter gjeldende kampanje.
Kostnader i historikken
Modell, tokener og beløp lagres for hver forespørsel.

Velg abonnement · Se modellpriser

Koble API-et til produktet du selger.

SaaS, apper og boter etter Ailoots offentlige tilbud og lisensavtale. Be om forhandlerlisens for videresalg.

Kommersiell applikasjon
Bygg tekst-, bilde-, video- og lydgenerering inn i betalte funksjoner i tjenesten.
Forhandlerlisens
Send prosjektbeskrivelse og tilgangsopplegg. Be om skriftlige vilkår for bruk og videresalg.
Dokumenter på nettstedet
Offentlig tilbud, lisensavtale og retningslinjer for databehandling er tilgjengelige før tilkobling.

Be om forhandlerlisens · Offentlig tilbud og lisensavtale