Expertiză · Acces la modele AI
Un singur punct de intrare către modelele AI, cu chei pe echipă, plafoane și factură locală.
Punem între aplicațiile companiei și furnizorii de modele un singur punct de intrare, compatibil cu interfața OpenAI. De acolo se emit chei separate pe proiect, cu plafon de cheltuială, listă de modele permise și listă de adrese IP, iar consumul se vede pe cheie.
Construit dejaPoarta rulează și se poate verifica din afară azi, fără să ne credeți pe cuvânt: catalogul public de modele răspunde 200 și listează 106 modele marcate active, iar interogarea de modele fără cheie întoarce 401. Sub ea sunt două implementări proprii: serviciul de facturare și administrare (98 de fișiere TypeScript) care emite cheile, sincronizează plafoanele cu poarta și ține registrele, și platforma noastră de asistenți, care își trece în producție recunoașterea vocii și sinteza prin aceeași poartă, nu direct la furnizor. Rezervele, spuse aici și nu la subsol: catalogul se schimbă de la o oră la alta, deci orice cifră se scrie cu data lângă ea; nu există niciun model Anthropic în poartă azi, deși propriul nostru README promite altceva; iar trimiterea automată a facturii în sistemul de stat rămâne în regim de probă până la instalarea certificatului.
Problema apare a doua oară, nu prima. Prima integrare cu un furnizor de modele e simplă: o cheie, o bibliotecă, gata. A cincea aplicație, a treia echipă și a doua factură în valută sunt momentul în care nimeni nu mai poate răspunde la trei întrebări banale — cine consumă, cât, și ce se întâmplă dacă un script scapă de sub control într-o noapte de sâmbătă. Poarta rezolvă exact asta: aplicațiile nu mai vorbesc cu furnizorii, vorbesc cu un singur punct de intrare care are aceeași interfață ca API-ul OpenAI, deci în majoritatea bibliotecilor schimbi adresa de bază și cheia, nu codul.
Ce poți verifica singur, chiar acum, fără cont: catalogul public de modele al porții răspunde și spune ce are înăuntru. La verificarea de azi erau 106 modele, toate marcate active — 77 de modele de text, dintre care 48 declară capacități de raționament, 10 de audio, 7 de imagine, 7 în timp real, 3 de vectorizare și 2 de video. Aceeași verificare făcută de un coleg cu o oră și jumătate mai devreme întorcea 107. De aceea cifra se scrie mereu cu ora lângă ea, iar pe site ar trebui citită din endpoint, nu bătută la mașină.
Controlul costului nu e un tablou de bord, e o piedică. O cheie are plafon de cheltuială, perioadă de plafon la alegere dintre patru, listă de modele permise, listă de adrese IP acceptate — până la douăzeci, IPv4, IPv6 sau blocuri — și un steag de blocare. Când un plafon e depășit, cheia se blochează automat și motivul se scrie pe ea, ca interfața să poată spune de ce, în loc să arate o stare mută. Există și o corecție pe care puțini o fac: modelele care „gândesc” înainte să răspundă consumă la furnizor mai mult decât vede poarta, așa că plafonul brut trimis mai jos se împarte la un factor de raționament calculat ca mediană pe ultimele treizeci de zile ale utilizatorului, limitat între unu și douăzeci. Fără corecția asta, un plafon de cheltuială ar fi decorativ exact pe modelele scumpe.
Partea locală. Cursul valutar se citește din fișierul XML oficial al Băncii Naționale a Moldovei pentru ziua curentă, cu timeout de cinci secunde și o valoare de rezervă din configurație atunci când sursa nu răspunde — o poartă nu are voie să se oprească pentru că un site de curs valutar e indisponibil. Factura fiscală se construiește ca XML și se stochează, cu un ciclu de stări de la ciornă la acceptată sau respinsă. Trimiterea propriu-zisă către sistemul de stat se face cu certificat; cât timp certificatul nu e instalat, serviciul rămâne în regim de probă: XML-ul se generează și se salvează, dar nu pleacă. Asta e starea reală și o scriem, pentru că e diferența dintre „avem factură fiscală” și „avem tot ce trebuie ca să o trimitem”.