codai docs
Referință APIGateway

System One

Decizii tipizate și calibrate de la codai-s1 într-o singură trecere — întrebări de alegere, scor și da/nu.

codai-s1 răspunde la întrebări tipizate despre o state fără să genereze text, de obicei în 80–300 ms. Condiționează acțiunea pe confidence-ul returnat și păstrează-ți propria variantă de rezervă: când modelul nu e disponibil, gateway-ul răspunde 503 s1_unavailable și nu îl înlocuiește cu un model generativ decât dacă ceri asta.

  • Batch — trimite items: [{ id, state }] (până la 16) în loc de state ca să pui aceleași questions despre mai multe stări deodată; răspunsul e items: [{ id, answers }] în ordinea cererii (client.systemOne.batch(...) / client.system_one.batch(...)).
  • timeout_ms — buget de 100–5000 ms pentru acest apel (implicit 1500).
  • fallback: "codai-fast" — accepți explicit un fallback generativ: când codai-s1 e indisponibil, codai-fast răspunde la aceleași întrebări cu aceleași forme de răspuns, iar răspunsul are fallback_used: true (plus header-ul x-codai-s1-fallback). Probabilitățile lui sunt mai puțin calibrate, așa că coboară-ți pragurile sau înregistrează flag-ul.
POST
/v1/systemone

Autorizare

bearerAuth
headerAutorizareBearer <codai_…>

O cheie API codai (prefix codai_). Tokenurile efemere de la POST /v1/tokens sunt acceptate doar de suprafețele media potrivite scope-ului lor (/v1/realtime, /v1/audio/*, /v1/embeddings).

Parametri header

x-request-id?string

Id de corelare ales de client; e returnat ca x-codai-trace-id și persistat pe rândul de usage.

Lungimelength <= 128
x-codai-session-id?string

Grupează cererile unei conversații pentru chitanțe, stickiness și prompt caching.

Lungimelength <= 128

Corpul cererii

application/json
  1. body

Trimite exact unul dintre state (simplu) sau items (batch).

state?||array<unknown>

Textul, obiectul JSON sau lista la care se referă întrebările (≤ 64 000 de caractere serializat).

items?array<>

Mod batch — aceleași întrebări puse despre starea fiecărui element, în paralel. Id-urile trebuie să fie unice.

Elemente1 <= items <= 16
questions*

1-32 întrebări, fiecare sub un id ales de tine; răspunsurile vin sub aceleași id-uri.

timeout_ms?integer

Bugetul codai-s1 pentru acest apel, în milisecunde (implicit stabilit de gateway, 1500).

Interval100 <= value <= 5000
fallback?string

codai-fast permite gateway-ului să răspundă cu codai-fast (output structurat) când codai-s1 e indisponibil; răspunsul are atunci fallback_used: true.

Implicit"none"
Valoare din"none""codai-fast"
model?string

Acceptat pentru simetrie; se servește doar codai-s1.

Corpul răspunsului

Câte un răspuns tipizat pentru fiecare id de întrebare (answers) sau, la batch, pentru fiecare element și id de întrebare (items).

application/json
  1. response

answers pentru un singur state, items pentru batch.

model*string

codai-s1, sau codai-fast când a răspuns fallback-ul cerut.

answers?
items?array<>

Rezultatele batch-ului, în ordinea cererii.

usage*
latency_ms*integer
fallback_used?boolean

Prezent și true doar când codai-s1 era indisponibil și a răspuns fallback-ul codai-fast cerut.

Exemplu de cerere
curl -X POST 'https://ai.codai.ro/v1/systemone' \  -H 'Content-Type: application/json' \  -d '{  "questions": {    "property1": {      "type": "choice",      "instructions": "string"    },    "property2": {      "type": "choice",      "instructions": "string"    }  }}'
Exemplu de răspuns
{  "model": "string",  "answers": {    "property1": {      "type": "choice",      "choice": "string",      "score": 0,      "noul": 0,      "confidence": 0,      "probabilities": {        "property1": 0,        "property2": 0      },      "legend": {        "property1": "string",        "property2": "string"      }    },    "property2": {      "type": "choice",      "choice": "string",      "score": 0,      "noul": 0,      "confidence": 0,      "probabilities": {        "property1": 0,        "property2": 0      },      "legend": {        "property1": "string",        "property2": "string"      }    }  },  "items": [    {      "id": "string",      "answers": {        "property1": {          "type": "choice",          "choice": "string",          "score": 0,          "noul": 0,          "confidence": 0,          "probabilities": {            "property1": 0,            "property2": 0          },          "legend": {            "property1": "string",            "property2": "string"          }        },        "property2": {          "type": "choice",          "choice": "string",          "score": 0,          "noul": 0,          "confidence": 0,          "probabilities": {            "property1": 0,            "property2": 0          },          "legend": {            "property1": "string",            "property2": "string"          }        }      }    }  ],  "usage": {    "input_tokens": 0,    "output_tokens": 0  },  "latency_ms": 0,  "fallback_used": true}

Ultima actualizare: