modelli

CodeGeeX-4

Markdown · JSON

CodeGeeX-4

CodeGeeX4 è una famiglia di modelli di programmazione multilingue per generazione, completamento, spiegazione e correzione del codice e domande sui repository. Le guide native trattano prompt specifici per attività, riempimento di lacune nel codice esistente e uso di file correlati per preparare modifiche con percorsi di file espliciti.

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

CodeGeeX4 è una famiglia di modelli di programmazione multilingue costruita attorno all'assistenza alla programmazione e al lavoro su file sorgente correlati. Il produttore pubblica CodeGeeX4-ALL-9B come membro open source della serie, sviluppato mediante ulteriore addestramento di GLM-4-9B. La documentazione tratta generazione e completamento del codice, domande di programmazione, analisi dei repository e flussi connessi che coinvolgono un interprete di codice, ricerca web o chiamate a funzioni. L'output ordinario è testo: codice, spiegazioni, risposte o modifiche etichettate per file, secondo l'istruzione dell'attività.

Inizia scegliendo l'operazione e fornendo al modello il codice necessario. La guida nativa ai prompt di sistema contiene istruzioni distinte per aggiungere commenti, spiegare un programma, tradurre tra linguaggi di programmazione, revisionare o correggere codice, generare test e rispondere a domande su un file. Per una correzione, includi il codice che presenta l'errore, il comportamento osservato e il risultato atteso. Per la traduzione, indica il linguaggio di programmazione di destinazione e fornisci l'intera funzione pertinente. Per i commenti, l'istruzione del produttore preserva il codice e aggiunge commenti; per varie attività che producono codice, chiede soltanto codice. Queste distinzioni aiutano a rendere il risultato utilizzabile come artefatto di codice o spiegazione, evitando di lasciare implicito il formato di output.

Le guide forniscono prompt di sistema in cinese e inglese. La lingua dell'istruzione di sistema non determina da sola quella della risposta, quindi richiedi esplicitamente la lingua della risposta quando serve una spiegazione. Le indicazioni specializzate per la revisione descrivono un output in cinese; il prompt generale dell'assistente di programmazione offre una modalità distinta per chiedere una revisione in un'altra lingua. Alcuni template di attività impostano la lingua dei commenti in modo che corrisponda a quella del sorgente ed escludono output misti in cinese e inglese. In una conversazione continuativa, ripeti l'istruzione pertinente quando cambi operazione, affinché una richiesta di spiegazione non venga confusa con la precedente richiesta di output composto soltanto da codice.

Per il completamento contestuale, il formato nativo descrive il file di destinazione, il suo linguaggio di programmazione e il codice ai due lati del punto di inserimento. Usa il percorso relativo del file con ###PATH: e includi ###LANGUAGE:; la guida consente di lasciare vuoto il valore della lingua quando non è nota. ###MODE: seleziona LINE per il completamento di una singola riga oppure BLOCK per più righe, con BLOCK come valore predefinito documentato. La sequenza fill-in-the-middle presenta prima il suffisso, poi il prefisso e infine la parte centrale mancante, contrassegnati da <|code_suffix|>, <|code_prefix|> e <|code_middle|>. Il template di infilling del produttore omette il prompt di sistema. Mantenere il suffisso fornisce al modello il flusso di controllo circostante e il codice che deve restare dopo l'inserimento. Il risultato è il codice mancante proposto, che può poi essere verificato nella posizione originale.

Il completamento tra file aggiunge estratti correlati come materiale di riferimento, ciascuno introdotto da ###REFERENCE: e dal proprio ###PATH:. Mantieni questi riferimenti separati dal file di destinazione e dal suo punto di inserimento. Per esempio, quando completi una funzione che chiama una funzione ausiliaria esistente, fornisci la firma e l'implementazione di quest'ultima insieme al prefisso e al suffisso della funzione di destinazione. La guida al completamento a livello di progetto estende questo approccio alla generazione di un nuovo file a partire dai requisiti del progetto e dal codice esistente pertinente. Percorsi chiari e dipendenze selezionate consentono di distinguere il codice fornito come prova dal file che il modello deve completare.

Le domande sui repository usano un formato nativo diverso: elenca ogni file sotto ###PATH:, includi il relativo codice e poi formula la domanda. Un brief utile può chiedere dove venga definito un valore o come una chiamata passi tra i moduli forniti. La modifica di repository usa una propria istruzione di sistema per aggiungere, eliminare o modificare file e richiede output nel formato ###PATH: {PATH} seguito dal codice. Prepara i file pertinenti e descrivi la modifica richiesta, incluso il file da aggiungere o il comportamento da preservare. Leggi i blocchi restituiti ed etichettati con i percorsi come modifiche proposte; non dimostrano che un repository sia già stato modificato o che il codice sia stato eseguito.

Per il membro pubblicato CodeGeeX4-ALL-9B, il produttore documenta un contesto di 128K e consiglia di selezionare i contenuti pertinenti del repository quando un progetto supera quella finestra. Il recupero di estratti correlati e la riduzione degli input troppo grandi sono passaggi preparatori nella guida ai repository. Il contesto deve contenere le istruzioni, il codice fornito e la continuazione generata, quindi un insieme mirato di file è spesso più utile di un dump indistinto del progetto. Le impostazioni di generazione esemplificative del produttore controllano la lunghezza di una specifica esecuzione; non definiscono una lunghezza massima universale della risposta per ogni edizione CodeGeeX4.

La serie descrive anche flussi di programmazione connessi con interpreti, ricerca e chiamate a funzioni. Un flusso di questo tipo richiede che l'applicazione circostante fornisca gli strumenti nominati e restituisca i loro risultati alla conversazione. Quando chiedi codice eseguibile, specifica il linguaggio previsto, le dipendenze e il comportamento atteso; quando chiedi un'analisi, richiedi i riferimenti ai file o alle funzioni pertinenti. Compila o esegui le modifiche proposte nell'ambiente previsto e verifica il comportamento rispetto al requisito fornito prima di incorporarle in un progetto.

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

codegeex-4

Zhipu /codegeex-4

Introduzione

CodeGeeX4 è una famiglia di modelli di programmazione multilingue per generazione, completamento, spiegazione e correzione del codice e domande sui repository. Le guide native trattano prompt specifici per attività, riempimento di lacune nel codice esistente e uso di file correlati per preparare modifiche con percorsi di file espliciti.

Input accettati
Testo
Risultati
Testo

Disponibile in Ailoot · input e metodi

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Tipi di input
text
Tipi di output
text
Formato di output
json o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
codegeex-4
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limiti
Numero minimo di elementi: 1
Predefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
Dipende dal modello
Predefinito—
Campomessages[].contentTipostringRequisitoFacoltativoValori e limiti
Si applica quando: Conversazione testuale
Predefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF8

messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages
Parametromaterial_typesContrattotext
ParametromessagesContrattoArray di messaggi con struttura role/content
Parametrofile_materialContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto
Parametrooptional_controlsContrattostream
Parametrocontrol_scopeContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false.
Parametrooutput_modalitiesContrattotext
Parametrohosted_operationsContrattofalse
Parametromultimodal_input_bindingContrattonull

Alias del metodo: /chat/completions

Ciclo di vita: synchronous_or_streamed

Invia l’ID esatto del modello con messages.

La lunghezza del contesto non è un limite di uscita.

Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.

Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe Ailoot

Prezzi per configurazione

ConfigurazioneListino delle tariffeCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseCosto
Input · Token in input $0.028 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0 / 1K token
Input · Scrittura nella cache $0 / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

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

Ricevi e salva i risultati

Ailoot Ultra · OpenAI Chat

json o SSE

Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
Campochoices[].indexTipointeger
Campochoices[].message.contentTipostring|null
Campochoices[].message.tool_callsTipotool_call[]
Campochoices[].message.reasoning_contentTipostring
Campochoices[].message.reasoning_detailsTipoobject|array
Campochoices[].finish_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra codegeex-4

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

codegeex-4

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

codegeex-4

Zhipu /codegeex-4

Introduzione

CodeGeeX4 è una famiglia di modelli di programmazione multilingue per generazione, completamento, spiegazione e correzione del codice e domande sui repository. Le guide native trattano prompt specifici per attività, riempimento di lacune nel codice esistente e uso di file correlati per preparare modifiche con percorsi di file espliciti.

Input accettati
Testo
Risultati
json · sse

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Anthropic Messages POST /v1/messages
Tipi di input
text
Tipi di output
json, sse
Formato di output
JSON o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
codegeex-4
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
user, assistant
Predefinito—
Campomessages[].contentTipostringRequisitoObbligatorioValori e limitiPredefinito—
Campomax_tokensTipointegerRequisitoObbligatorioValori e limitiPredefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF-8

Stringa messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages, max_tokens
Parametrooptional_controlsContrattostream
Parametromaterial_typesContrattotext
Parametrotext_file_materialContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio.

Ciclo di vita: synchronous_or_streamed

Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe Ailoot

Prezzi per configurazione

ConfigurazioneListino delle tariffeCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseCosto
Input · Token in input $0.028 / 1K token
Output · Token in output $0.028 / 1K token
Input · Lettura dalla cache $0 / 1K token
Input · Scrittura nella cache $0 / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

Ailoot Ultra · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo
{
  "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))

Ricevi e salva i risultati

Ailoot Ultra · Anthropic Messages

JSON o SSE

Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
CampoidTipostring
CampomodelTipostring
Campocontent[]Tipotext|thinking|tool_use|other content block
Campostop_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra codegeex-4

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

codegeex-4

FAQ · CodeGeeX-4
Quali input e risultati sono disponibili?

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

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

Quali campi usa la richiesta?

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

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

Quali limiti si applicano?

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

Maggiori dettagli

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento
Scegli un piano scontato per richieste regolari.
Codice fino al 50%
Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.
Spese nella cronologia
Modello, token e importo sono salvati per ogni richiesta.

Scegli abbonamento · Consulta prezzi dei modelli

Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale
Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.
Licenza reseller
Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.
Documenti sul sito
Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

Richiedi licenza reseller · Offerta e accordo di licenza