Juhend ja ülevaade

LLM-i jälgitavus mitme mudeli API-lüüsis: jäljed, märgiraamatud, rentnike analüüs ja turvaline viipe logimine

Praktiline jälgitavusarhitektuur mitme mudeliga AI-lüüside jaoks: jälgige iga LLM-i kõnet üks kord, ühendage telemeetria token- ja kuluraamatutega, kooskõlastage pakkuja arved ja siluge turvaliselt, ilma vaikimisi töötlemata viipasid salvestamata.

Kui klient küsib, miks üks töövoog eile aeglasemaks, kallimaks või vähem töökindlaks muutus, ei piisa taotluste koondloendustest ja igakuistest kuludest. Mitme mudeliga API lüüs saab sellele küsimusele vastata, kui see käsitleb vaadeldavust juhttasandi osana: iga päring saab jälje, iga mudelikutse värskendab kasutusreskontra, iga rentnik ja töövoog on omistatav ning tundlik sisu on vaikimisi kaitstud.

Selles artiklis kirjeldatakse AI kasutusanalüüsi ja LLM-i jälgitavuse praktilist ülesehitust lüüsis, mis pakub OpenAI-ga ühilduva API kaudu mitut pakkujat. Muster on kasulik isegi siis, kui te ei kasuta ühtegi konkreetset müüjat: instrumentige üks kord lüüsis, normaliseerige mudeli telemeetria, säilitage arvelduse omistamine ja jäädvustage viibase sisu ainult selgesõnaliste eeskirjade alusel.

Lugeja probleem: „Milline rentnik, mudel, viip või otsingutee põhjustas muudatuse?”

Enamik meeskondi seisab lõpuks silmitsi samade silumiste lüngaga. Rakenduste logid näitavad, et funktsioon ebaõnnestus. Pakkujate armatuurlauad näitavad, et märgikasutus suurenes. Finance näeb arvet. Ükski neist vaadetest üksi ei selgita kogu teed rentniku taotlusest mudelikutsest kuni otsingukontekstini, et uuesti proovida arveldatud kuluni.

Eesmärk ei ole järjekordne armatuurlaud, millel on kokku žetoonid. Eesmärk on vastata sellistele operatiivsetele küsimustele nagu:

  • Milline rentniku või API võti põhjustas kulude kasvu?
  • Kas latentsusaeg suurenes pärast mudeli pseudonüümi muutmist?
  • Kas korduskatsed või varud arvestavad kulusid topelt?
  • Milline viibaversioon põletab kõige rohkem veaeelarvet?
  • Kas RAG-i töövoog muutus kalliks, kuna toomine lisas liiga palju kontekstimärke?
  • Kas saab toetada intsidendi silumist ilma privaatsete kasutajate viipasid lugemata?

Faktid, soovitused ja ennustused

Faktid: OpenTelemetry dokumenteerib generatiivsed tehisintellekti semantilised kokkulepped ja mudelitoimingute atribuudid, sealhulgas toimingute nimed, nagu vestlus, gener_content ja text_completion. Sama dokumentatsioon hoiatab, et GenAI sisend- ja väljundsõnumi atribuudid võivad sisaldada tundlikku teavet või isikuandmeid ning nõuda filtreerimist või kärpimist. Suuremad mudelipakkujad avaldavad ka kasutuse armatuurlaudu, API-sid või eksporte, mis võivad toetada pakkujapoolset vastavusseviimist, kuigi üksikasjad on pakkujati erinevad.

Soovitused: kasutage teenusepakkuja-neutraalsete jälgimiste jaoks OpenTelemetryt, kuid säilitage oma atribuutides ja pearaamatutes lüüsile kuuluva ettevõtte dimensioon. Ärge salvestage vaikimisi töötlemata viipasid ega väljundeid. Esmalt salvestage metaandmed, räsid, lubade arvud, viipade malli ID-d, skeeminimed, veaklassid ja ohutussildid. Lisage sisu jäädvustamine ainult lubatava juurdepääsuga, lühikese säilivusajaga silumisfunktsioonina.

Prognoos: LLM-i jälgitavus väheneb eraldatud teenusepakkuja armatuurlaudade ja pakkujatevaheliste juhtimistasandite kohta. Meeskonnad ootavad ühest kohast, kus saab uurida latentsust, kulusid, kvaliteeti, eeskirjadega seotud sündmusi, rentnike käitumist ja mudelite arveldusdeltasid.

Viitearhitektuur: jälgige kogu päringu teed

Lüüs näeb kogu päringu elutsüklit, ilma et kõik rakenduse meeskonnad peaksid koostama kohandatud telemeetria. Kasulik jälgimismudel algab sissetuleva kliendipäringu ühe ülemvahemikuga ja kulu, latentsusaega ja kvaliteeti mõjutavate sammude alamvahemikega.

Soovitatav ulatustruktuur

  • Lüüsi päringu ulatus: taotlus on vastu võetud, autentitud, volitatud, kiirusega piiratud ja marsruutitud.
  • Mudelite kõne kestus: pakkuja, mudel, toiming, loa kasutamine, vastuse olek ja latentsusaeg.
  • Tootmisulatus: päringud, dokumendi ID-d või räsi-ID-d, tükkide arv, toomise latentsus ja konteksti märgi jagamine.
  • Tööriistakutse ulatus: tööriista nimi, olek, latentsusaeg, veaklass ja kõrvalmõjude klassifikatsioon.
  • Uuesti proovimine: uuesti proovimise põhjus, katse number, pakkuja olek ja lisanduv kulu.
  • Varuulatus: algmudel, varumudel, päästik, ühilduvuseeskirjad ja lõpptulemus.
  • Kaitsepiire või modereerimisulatus: kutsutud poliitika, otsus, sildid ja see, kas väljund blokeeriti või muudeti.
  • Järeltöötluse ulatus: JSON-i valideerimine, skeemi parandamine, tsitaatide kontrollimine või lõplik vormindamine.

Ülemvahemik peaks kandma stabiilseid korrelatsiooniidentifikaatoreid. Alamvahemikud peaksid kandma normaliseeritud tehnilisi atribuute. Kasutusraamatus peaksid olema püsivad arveldus- ja analüütikakirjed. Vältige kogu teabe sundimist mõõdikute siltidele; kõrge kardinaalsusega väärtused, nagu üürniku ID-d, viipade räsid ja dokumendi ID-d, salvestatakse paremini jälgedesse, logidesse või pearaamatu tabelitesse ning seejärel koondatakse armatuurlaudadesse.

Normaliseerige iga LLM-i kõne puhul jäädvustatud metaandmed

Iga mudelipäring peaks pakkujast sõltumata tootma ühtse kirje. Täpne skeem varieerub, kuid praktiline miinimum näeb välja selline:

kood>{ "request_id": "req_01J...", "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736", "üürniku_id": "üürnik_123", "meeskonna_id": "meeskond_456", "app_id": "support_bot", "gateway_key_id": "key_789", "operatsioon": "vestlus", "provider": "provider_name", "mudel": "provider-modell-id", "model_alias": "kiire tugivestlus", "prompt_template_id": "refund_policy_v5", "prompt_hash": "sha256:...", "response_schema": "support_answer_v2", "status": "lõpetatud", "error_class": null, "latency_ms": 1842, "input_tokens": 2110, "output_tokens": 384, "cached_input_tokens": 1200, "estimated_cost_usd": "0,00492", "final_billed_cost_usd": null, "finish_reason": "stop", "retry_count": 0, "fallback_used": vale, "content_capture_policy": "ainult metaandmed" }

Hoidke kaks ideed lahus: telemeetria selgitab, mis juhtus, samas kui kasutusraamat salvestab, mida tuleks tasuda, kooskõlastada ja teatada. Nad viitavad üksteisele päringu ID-de ja jälgimis-ID-dega, kuid nad ei pea elama samas salvestussüsteemis.

Koostage žetoon ja kulureskontra, mitte ainult loendurid

Tokenide loendurid on diagrammide jaoks kasulikud, kuid neist ei piisa arveldamiseks või juhtumite uurimiseks. Pearaamat peaks kujutama olekute üleminekuid. Looge rida, kui lüüs taotluse vastu võtab, ja seejärel värskendage seda päringu edenedes.

Kasulikud pearaamatu olekud

  • aktsepteeritud: autentimise ja eeskirjade kontrollimine läbitud.
  • edasitati: taotlus saadeti teenusepakkujale.
  • voogesitus: pakkuja hakkas žetoone tagastama.
  • lõpetatud: vastus on edukalt lõpule viidud.
  • user_aborted: klient katkestas ühenduse enne lõpetamist.
  • uuesti proovitud: tehti täiendav teenusepakkuja katse.
  • fallback_used: pärast ebaõnnestumist või eeskirjade sobitamist valiti mõni muu mudel või pakkuja.
  • ebaõnnestunud: taotlus lõppes ilma kasutatava vastuseta.
  • ühildatud: võrreldi ja rakendati pakkujapoolseid kasutus- või kuluandmeid.

See olekumudel aitab tuvastada levinumaid arveldus- ja analüüsivigu: voogesitatud vastused, mille korral klient katkestas ühenduse, uuesti proovimise katsed, mille eest teenusepakkuja võttis tasu, kuid mis peideti kasutaja eest, varuteed, mis loendasid vale mudeli, ja vahemälu raamatupidamise erinevused pakkujate vahel.

Kasutage OpenTelemetry GenAI tavasid ja laiendage seejärel hoolikalt

OpenTelemetry GenAI semantilised kokkulepped pakuvad mudelioperatsioonide jaoks kaasaskantavat sõnavara. Kasutage neid kokkuleppeid levinud atribuutide jaoks, nagu toimingu nimi, pakkuja, mudel, päringu parameetrid, vastuse lõpetamise põhjused, loa kasutamine ja veaolek, kui need kehtivad.

Kuid pakkuja-neutraalsed kokkulepped ei hõlma lüüsi kõiki ärimõõtmeid. Lisage lüüsile kuuluvaid atribuute või pearaamatu veerge:

  • üürniku ID, meeskonna ID, edasimüüja kliendi ID ja rakenduse ID;
  • lüüsi API võtme ID ja võtme ulatus;
  • arveldusplaan, kululimiit ja eelarvepoliitika;
  • mudeli alias ja marsruutimispoliitika versioon;
  • viipamalli ID ja viipaversioon;
  • töövoo nimi ja töövoo etapp;
  • hinnanguline kulu, lõplik arveldatud kulu ja vastavusseviimise olek.

Müügilahendus on kardinaalsus. Need väljad on uurimise jaoks väärtuslikud, kuid need võivad muuta mõõdikud kulukaks ja mürarikkaks, kui neid kasutatakse kõikjal mõõdikute siltidena. Praktiline reegel on: madala kardinaalsusega agregaadid lähevad mõõdikutesse; suure kardinaalsusega identifikaatorid lähevad jälgedele, logidele ja pearaamatutele.

Kavandage turvaline viip ja väljundi logimine

Täielik kiire logimine muudab silumise lihtsamaks, kuid suurendab privaatsust, vastavust, talletamist ja siseringi riskide kokkupuudet. Turvalisem vaikeseade on metaandmete esmane jälgitavus.

Vaikimisi: ainult metaandmed

Enamiku tootmisliikluse jaoks salvestage:

  • küsi malli ID ja versioon;
  • normaliseeritud viipade ja väljundite räsid;
  • sisendi, väljundi, vahemällu salvestatud ja konteksti lubade arv;
  • vastuse skeemi nimi ja valideerimise tulemus;
  • ohutusmärgised ja poliitikaotsused;
  • veakokkuvõtted ja pakkuja veaklassid;
  • metaandmete, mitte töötlemata dokumentide toomine.

Lubage: kontrollitud sisu jäädvustamine

Kui vajate sügavaks silumiseks töötlemata või redigeeritud sisu, nõudke selgesõnalist eeskirja. Heade juhtelementide hulka kuuluvad keskkonna lubade loendid, üürniku nõusolek, proovide võtmine, maksimaalne kasuliku koormuse pikkus, automaatne redigeerimine, lühikesed säilitusaknad, krüpteerimine, rollipõhine juurdepääs, auditi logid ja tundlike juhtumite jaoks mõeldud kinnitustee.

Ärge käsitlege redigeerimist täiuslikuna. See vähendab riski; see ei kõrvalda seda. Reguleeritud või kõrge tundlikkusega töökoormuse korral kaaluge ainult räside salvestamist ja probleemide taasesitamist sünteetilises rakmetes koos heakskiidetud katseandmetega.

Lisage RAG-i vaadeldavus eraldi kihina

Tootmisega täiendatud genereerimine võib muuta nii kvaliteeti kui ka kulusid. Ainult lõpliku mudelikutse logimine peidab algpõhjuse, kui retriiver tagastab liiga palju tükke, aegunud dokumente või ebaolulist konteksti.

Iga otsinguetapi jaoks jäädvustage:

  • indeksi või kogu nimi;
  • otsingustrateegia ja manustamismudel;
  • dokumendi ID-d või räsi-ID-d;
  • tükkide arv ja kontekstimärgid kokku;
  • otsimise latentsusaeg;
  • skoori jaotus, kui see on saadaval;
  • tsitaadi kajastus;
  • kas otsitud konteksti kasutati lõplikus vastuses.

See võimaldab teil eristada „mudel muutus halvemaks” ja „retriiver hakkas saatma madala kvaliteediga või liigset konteksti”. Samuti aitab see tuvastada töövooge, kus kontekstimärgid domineerivad kogukuludes.

Lüüsi kasutuse vastavusse viimine teenusepakkuja arveldamisega

Lüüsi prognoosid on kohe saadaval. Pakkujapoolsed arveldusandmed on tavaliselt aeglasemad, kuid usaldusväärsemad. Kasutage mõlemat.

Igapäevane kooskõlastustöö peaks võrdlema lüüsi pearaamatu ridu pakkuja kasutus API-de, kulu API-de, armatuurlaua eksportimise või arvete ekspordiga. Grupeeri deltad pakkuja, mudeli, projekti ja ajaakna järgi. Jälgige eraldi sisend-, väljund-, vahemällu salvestatud lubade, taotluste arvu ja kulu erinevusi.

Levinud vastavuserinevused

  • Voogesitus katkeb: lüüs võib näha katkestatud klienti, samal ajal kui teenusepakkuja arveldab endiselt loodud žetoonide eest.
  • Korduskatsed: mitme katse eest võidakse arveldada isegi siis, kui tagastatakse ainult üks lõplik vastus.
  • Viiba vahemällu salvestamine: pakkujad võivad avaldada vahemällu salvestatud märgi arvestust erinevalt.
  • Ümardamine: väikesed erinevused taotluse kohta võivad mastaapselt nähtavaks saada.
  • Paki- või tasandi allahindlused: pakkuja arvetel võidakse rakendada hinnakujundust, mida reaalajas prognoos veel ei teadnud.
  • Pakkujapoolsed muudatused: mudeli hinnakujundus, loa andmise käitumine või arvelduse eksport võivad aja jooksul muutuda.

Kui lepitus leiab delta, vältige oma pearaamatu vaikselt ülekirjutamist. Salvestage esialgne hinnang, pakkuja kooskõlastatud väärtus, vastavuse allikas ja põhjuskood, kui see on teada.

Armatuurlauad, mis vastavad tööküsimustele

Alustage armatuurlaudu lugejaprobleemidest, mitte edevusmõõdikutest. Kasulikud vaated on järgmised:

  • kulu rentniku, meeskonna, rakenduse ja töövoo kohta;
  • kulu eduka ülesande kohta, mitte ainult taotluse hind;
  • p50, p95 ja p99 latentsus pakkuja, mudeli ja mudeli aliase järgi;
  • varumäär ja uuesti proovimise määr marsruudi kaupa;
  • ajalõpu määra ja pakkuja veaklassi trendid;
  • vahemälu tabamuste suhe ja vahemällu salvestatud märgi säästuprognoos;
  • struktureeritud väljundi valideerimise ebaõnnestumise määr;
  • peamised viipade versioonid eelarve põletamise tõttu;
  • RAG-i konteksti lubade jagamine töövoo järgi;
  • kaitsepiirdeplokid ja kiire süstimise klassifikaatori tabamused.

Hoiatamiseks ühendage tehnilised ja ärilised signaalid. Üürniku äkiline kulutuste hüpe võib olla pakilisem kui väike ülemaailmne latentsusaja suurenemine. Varumäära hüpe pärast mudeli pseudonüümi muutmist võib viidata ühilduvusprobleemile. Korduvad 401, 429 või 5xx vastused võivad viidata võtmeprobleemidele, kvoodi ammendumisele või pakkuja ebastabiilsusele.

OpenAI-ga ühilduva puhverserveri minimaalne juurutusvoog

Puhverserveri /chat/completions puhul võib voog olla lihtne:

  1. Võtke taotlus vastu ja määrake request_id ja jälgige konteksti.
  2. Autentige lüüsi võti ja määrake rentnik, meeskond, rakendus ja poliitika ulatus.
  3. Looge ülemlüüsi ulatus.
  4. Looge pearaamatu rida olekuga aktsepteeritud.
  5. Lasendage mudeli pseudonüüm teenusepakkuja mudeli ja marsruutimispoliitika versiooniga.
  6. Salvestage metaandmed: toiming, viipamalli ID, skeemi nimi, viiba räsi ja sisuhõive eeskirjad.
  7. Alustage mudelikutse ulatust, kasutades võimalusel GenAI semantilisi atribuute.
  8. Edasta taotlus valitud pakkujale.
  9. Voogesituse jaoks värskendage olekut, kui esimene tükk saabub, ja loendage kasutust nii täpselt, kui pakkuja vastus lubab.
  10. Lõpetamisel sõeluge pakkuja kasutust, lõpetamise põhjust, olekut ja veaklassi.
  11. Värskendage pearaamatut žetoonide, hinnangulise maksumuse, korduskatse/varuandmete ja lõpliku taotluse olekuga.
  12. Emiteerige mõõdikuid pearaamatu ja ulatuse andmetest.
  13. Käitage igapäevast vastavusse viimist ja poe pakkuja poolt kinnitatud kulu esialgsest hinnangust eraldi.

Avaldamise kontroll-loend

  • Määratlege kanoonilised päringu ID-d ja jälgimise ID-d.
  • Võtke kasutusele OpenTelemetry GenAI atribuudid tavalise mudeli telemeetria jaoks.
  • Looge päringu oleku üleminekutega lüüsi kasutusreskontra.
  • Pakkuja, mudeli, mudeli pseudonüümi, rentniku, rakenduse ja töövoo dimensioonide normaliseerimine.
  • Hoidke kõrge kardinaalsusega uurimisandmed mõõdikute siltidest eemal.
  • Muutke töötlemata viip ja väljundi jäädvustamine vaikimisi keelatud.
  • Lisage proovide võtmise, redigeerimise, säilitamise ja juurdepääsu juhtimise selgesõnalised eeskirjad.
  • Jaldista RAG-töövoogude otsingu metaandmed.
  • Koosta armatuurlaudu kulude, latentsuse, töökindluse, valideerimise ja rentnike käitumise jaoks.
  • Võtke lüüsi hinnangud kokku teenusepakkuja kasutuse ja kulude ekspordiga.
  • Hoiatus järsu kulude, latentsusaja regressioonide, varuhüpete, valideerimistõrgete ja turvalisusega seotud sündmuste kohta.

Järeldus

Mitme mudeliga lüüs on õige koht LLM-i jälgitavuse juurutamiseks, kuna see näeb päringuid enne, kui need jõuavad ühegi pakkujani, ja saab lisada ärikonteksti, mida pakkujad ei tea. Tugevaim disain ei ole "logi kõik". See on mitmekihiline mudel: teenusepakkuja-neutraalsed jäljed täitmiseks, vastupidav žetoon ja kulureskontra arveldamiseks, rentnike analüüs juhtimiseks, RAG-i metaandmed otsingukvaliteedi tagamiseks ja privaatsus-eelkõige logimine turvaliseks silumiseks.

Alustage metaandmetest, olekuüleminekutest ja kooskõlastamisest. Lisage sisu jäädvustamine alles siis, kui poliitika, säilitamise ja juurdepääsu juhtelemendid on valmis. See jada annab arendajatele tõendeid, mida nad vajavad latentsuse, kvaliteedi ja kulutuste silumiseks, muutmata vaadeldavust uueks andmetega kokkupuute riskiks.

Seotud lugemine

FAQ

Korduma kippuvad küsimused

Kas LLM-i lüüs peaks jälgitavuse tagamiseks salvestama töötlemata viipasid ja väljundeid?
Vaikimisi mitte. Esmalt salvestage metaandmed, viipade malli ID-d, räsid, lubade arvud, skeemide nimed, ohutussildid ja veakokkuvõtted. Toores või redigeeritud sisu jäädvustamine peaks olema lubatud, valimiga, lühiajaliselt säilitatav, juurdepääsu kontrollitud ja auditeeritud.
Miks kasutada nii jälgi kui ka kasutusraamatut?
Jäljed selgitavad, kuidas taotlus liikus läbi lüüsi, teenusepakkuja kõne, otsingu, tööriistade, korduskatsete ja kaitsepiirete. Kasutusreskontra salvestab püsivaid arveldus- ja analüüsifakte, nagu päringu olek, loa kasutamine, hinnanguline maksumus, kooskõlastatud kulu, rentnik ja mudeli omistamine.
Kui sageli tuleks lüüsi kasutust teenusepakkuja arveldusandmetega vastavusse viia?
Igapäevane leppimine on praktiline lähtepunkt. Reaalajas lüüsi hinnangud on kasulikud armatuurlaudade ja piirangute jaoks, samas kui pakkuja kasutus API-d või ekspordid aitavad parandada voogesituse katkestustest, korduskatsetest, vahemällu salvestatud märgiarvestusest, allahindlustest, ümardamisest või arveldusmuudatustest põhjustatud erinevusi.
Kuhu tuleks salvestada kõrge kardinaalsusega väljad, nagu üürniku ID või viipade räsi?
Hoidke suure kardinaalsusega välju jälgedes, logides või pearaamatu tabelites. Kasutage mõõdikute armatuurlaudade jaoks madalama kardinaalsusega agregaate, et vältida kalleid või mürarikkaid mõõdikuid.