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

# CodeGeeX-4

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

## [CodeGeeX-4](https://ailoot.ai/models/it/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.

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

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

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

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti codegeex-4 | Predefinito— |
| Campo`messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
| Campo`messages[].role` | Tipo`string` | RequisitoObbligatorio | Valori e limiti Dipende dal modello | Predefinito— |
| Campo`messages[].content` | Tipo`string` | RequisitoFacoltativo | Valori e limiti Si applica quando: Conversazione testuale | Predefinito— |
| Campo`stream` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |

Combinazioni di materiali in input

**Testo** · Testo UTF8

`messages[].content`

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattomodel, messages |
| Parametro`material_types` | Contrattotext |
| Parametro`messages` | ContrattoArray di messaggi con struttura role/content |
| Parametro`file_material` | ContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto |
| Parametro`optional_controls` | Contrattostream |
| Parametro`control_scope` | ContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false. |
| Parametro`output_modalities` | Contrattotext |
| Parametro`hosted_operations` | Contrattofalse |
| Parametro`multimodal_input_binding` | Contrattonull |

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

| Configurazione | Listino delle tariffe | Costo |
| --- | --- | --- |
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo 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 →](https://ailoot.ai/docs/it/billing/reserve/)

### Esempi di richieste

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

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

| Campo | Tipo |
| --- | --- |
| Campo`choices[].index` | Tipointeger |
| Campo`choices[].message.content` | Tipostring\|null |
| Campo`choices[].message.tool_calls` | Tipotool\_call\[\] |
| Campo`choices[].message.reasoning_content` | Tipostring |
| Campo`choices[].message.reasoning_details` | Tipoobject\|array |
| Campo`choices[].finish_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |

### Alias

#### Alias del modello

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

#### Alias dei percorsi dei metodi

`/chat/completions`

#### ID di chiamata correlati

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

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

| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObbligatorio | Valori e limiti codegeex-4 | Predefinito— |
| Campo`messages` | Tipo`message[]` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`messages[].role` | Tipo`string` | RequisitoObbligatorio | Valori e limiti user, assistant | Predefinito— |
| Campo`messages[].content` | Tipo`string` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`max_tokens` | Tipo`integer` | RequisitoObbligatorio | Valori e limiti | Predefinito— |
| Campo`stream` | Tipo`boolean` | RequisitoFacoltativo | Valori e limiti | Predefinitofalse |

Combinazioni di materiali in input

**Testo** · Testo UTF-8

`Stringa messages[].content`

Parametri e ciclo di vita del metodo

| Parametro | Contratto |
| --- | --- |
| Parametro`content_type` | Contrattoapplication/json |
| Parametro`required` | Contrattomodel, messages, max\_tokens |
| Parametro`optional_controls` | Contrattostream |
| Parametro`material_types` | Contrattotext |
| Parametro`text_file_material` | ContrattoLeggi 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

| Configurazione | Listino delle tariffe | Costo |
| --- | --- | --- |
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo 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 →](https://ailoot.ai/docs/it/billing/reserve/)

### Esempi di richieste

#### Ailoot Ultra · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo

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

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

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`content[]` | Tipotext\|thinking\|tool\_use\|other content block |
| Campo`stop_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Errori e passaggi successivi

| Risposta | Condizione | Passaggio successivo |
| --- | --- | --- |
| Risposta400 · `invalid_request_error` | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |

### Alias

#### Alias del modello

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

#### Alias dei percorsi dei metodi

`/chat/completions`

#### ID di chiamata correlati

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

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`

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](https://ailoot.ai/docs/it/billing/subscriptions/) · [Consulta prezzi dei modelli](https://ailoot.ai/models/it/)

## 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](mailto:support@ailoot.ai) · [Offerta e accordo di licenza](https://ailoot.ai/legal/offer?lang=it)

## Ailoot · L’azienda e il suo portafoglio di progetti





Ailoot si basa su un’esperienza operativa consolidata, un’ampia base di clienti, un servizio stabile e un controllo costante dei KPI.





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





Ailoot mette questa esperienza operativa al servizio dell’accesso API alle funzioni AI nei prodotti dei clienti, negli agenti, nelle applicazioni e nelle automazioni.
