AI-rakenduste ehitamine
AI API alused
Saada mudelipäring serverist, kontrolli sisendit ja väljundit ning käsitle ajalimiite, kulupiire ja vigu.

Oskad ehitada teenusepakkujast sõltumatu serveripoolse päringuvoo ilma võtit või toorest veateavet avaldamata.
Üks päring on terve elutsükkel
Päring algab enne mudelikõnet ja lõpeb pärast vastuse kuvamist. Igas etapis võib tekkida erinev viga, mida rakendus peab teadlikult käsitlema.
- Autendi kasutaja või piira anonüümset kasutust.
- Valideeri ja kärbi sisend.
- Koosta mudelile minimaalne kontekst.
- Sea ajapiir ja saada päring.
- Kontrolli vastuse kuju ning lubatud sisu.
- Salvesta ohutu mõõdik ja tagasta kasutajasõbralik tulemus.
Serveripoolne üldmuster
Teenuse URL ja vastuse struktuur sõltuvad valitud teenusest. Hoia need adapteris, et ülejäänud rakendus ei sõltuks ühest API kujust.
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 15_000);
try {
const response = await fetch(process.env.AI_API_URL!, {
method: "POST",
headers: {
Authorization: "Bearer " + process.env.AI_API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({ input: validatedInput }),
signal: controller.signal
});
if (!response.ok) throw new Error("AI_UPSTREAM_ERROR");
return validateModelResponse(await response.json());
} finally {
clearTimeout(timeout);
}Erista vead ja korduskatsed
Vigast kasutaja sisendit ei parandata sama päringut korrates. Ajutist võrguviga võib korrata piiratud arvu kordi kasvava viitega. Tegevust põhjustav päring vajab idempotentsusvõtit, et kordus ei looks topelttulemust.
Piira kasutust mitmes kihis
Lisa sisendi ja väljundi pikkuspiir, kasutaja või IP kiiruspiir, paralleelsete päringute piir ning eelarvehoiatus. Kasutajale kuva üldine viga; detailne tehniline põhjus läheb turvalisse logisse.
type PublicAiError =
| "INVALID_INPUT"
| "TOO_MANY_REQUESTS"
| "SERVICE_TIMEOUT"
| "SERVICE_UNAVAILABLE";
// Ära tagasta brauserile teenuse võtit, toorest vastust ega sisemist stack trace’i.Praktilised märkused
- Mudelinimi ja hinnad võivad muutuda; hoia valik konfiguratsioonis ning mõõda tegelikku kasutust.
- Struktuurne väljund peab läbima rakenduse skeemikontrolli ka siis, kui API lubab vastuse vormi määrata.
Levinud vead
- Salajase API võtme lisamine kliendikoodi või avalikku lähtekoodi.
- Kõigi vigade pimesi kordamine ning seetõttu kulu või topelttegevuse kasvatamine.
Hea tava
- Kasuta eraldi adapterit, ajapiiri ja selget avalikku veakoodi.
- Logi päringu tunnus, kestus ja maht ilma saladuste või kogu tundliku sisuta.
Praktiline harjutus
Kirjuta oma API voole sisendiskeem, neli veakoodi ja ajapiir. Lisa testid tühjale sisendile, aegumisele, vigasele mudelivastusele ja edukale päringule.
Mis jäi lahtiseks?
Jaga harjutuse tulemust või küsi teema kohta avalikus AI-vestluses. Ära postita saladusi ega isikuandmeid.