OpenAI
Ova stranica je mašinski prevedena. Pogledaj originalni članak na engleskom jeziku.

Rješavanje problema s API greškama i latencijom

Ovaj članak objašnjava kako koristiti nadzorne ploče Service Health i Usage za rješavanje uobičajenih grešaka i problema s latencijom pri korištenju OpenAI API-ja.

Ažurirano: 3 days ago

Važni linkovi

Počnite s pravim zadanim postavkama

Kada otvorite kontrolnu tablu stanja usluge, ona se zadano postavlja na:

  • Sve projekte

  • Posljednjih 30 dana

  • Rezoluciju po satima

Ovaj prikaz je koristan samo za orijentaciju. Smisleno rješavanje problema uvijek zahtijeva filtriranje.

Filtrirajte prije istraživanja

Ispravno filtriranje je najvažniji korak. Većina pogrešnih tumačenja nastaje zbog miješanja modela, nivoa ili projekata.

Filtrirajte prema modelu (jedan po jedan)

Uvijek filtrirajte na jedan model.

Zašto:

  • Problemi na modelima s malim prometom mogu biti skriveni prometom većeg obima

  • Modeli velikog obima mogu učiniti da lokalizirani problemi izgledaju globalno

  • Različiti modeli imaju različite ciljeve performansi

Napomena: odabir više modela ih agregira — ne prebacuje između njih.

Filtriranje prema Nivou usluge

Ako koristite više nivoa (standardni, Brzi mod (ranije Prioritetna obrada), Nivo skale), uvijek odaberite samo nivo koji istražujete.

Zašto:

  • Nivoi imaju različite karakteristike performansi

  • Brzi mod i Nivo skale imaju definisane SLA-ove

  • Miješanje nivoa prikriva performanse plaćenog nivoa

To je posebno važno pri analizi latencije.

Za postojeće modele, saobraćaj Brzog moda na nadzornoj ploči Usage i dalje se prikazuje kao priority.

Filtrirajte prema projektu

Stanje usluge zadano prikazuje sve projekte.

Za rješavanje problema filtrirajte na projekat/projekte gdje je problem uočen.

Zašto:

  • Jedan projekat velikog obima može dominirati metrikama.

  • Manji pogođeni projekti mogu biti prikriveni nepovezanim prometom.

Ostavite odabrano „Svi projekti” samo ako smatrate da je problem zaista na nivou cijele organizacije.

Rješavanje problema s greškama

Koristite prikaz HTTP zahtjeva

Za istraživanje grešaka:

  1. Filtrirajte prema modelu i nivou usluge.

  2. Otvorite karticu HTTP zahtjevi umjesto kartice Vrijeme rada.

Ovaj prikaz prikazuje ukupan broj zahtjeva i broj grešaka prema HTTP statusnom kodu. Zumirajte na rezoluciju po minutama da biste prepoznali detaljne skokove ili promjene.

Tumačite stope grešaka, ne brojeve

Neke greške se očekuju u svakom produkcijskom sistemu. Fokusirajte se na procenat grešaka, a ne na sirove ukupne vrijednosti.

Što je veći vaš ukupni obim, to je veći potencijalni broj grešaka čak i uz izuzetno nisku stopu grešaka.

Kada greške nedostaju u Stanju usluge

Ako vidite greške na strani klijenta, ali nema odgovarajućih podataka u Stanju usluge:

  • Zahtjevi vjerovatno nisu stigli do OpenAI-ja.

  • Problem je obično uzvodno (isteci vremena, proksiji, mreža).

Ovo je uobičajeno kod agresivnih isteka vremena na strani klijenta.

Otklanjanje problema s latencijom

Analiza latencije najkorisnija je za nivoe Brzi mod i Nivo skale, koji imaju definisane SLA-ove. Standardni nivo može imati veće varijacije latencije, a latencija nije zagarantovana.

Ključne metrike

Za prikaz svake metrike kliknite relevantnu karticu:

  • Brzina tokena: tokeni generisani u sekundi; nezavisno od veličine upita.

  • Vrijeme zahtjeva: ukupno trajanje zahtjeva; snažno zavisi od veličine izlaza i rezonovanja.

  • Vrijeme do prvog tokena (TTFT): vrijeme do generisanja prvog tokena; snažno zavisi od veličine nekeširanog ulaznog upita i rezonovanja.

Uvijek pregledajte percentile P50 / P75 / P95. Prosjeci mogu sakriti uticaj na stvarne korisnike.

Povezivanje latencije s potrošnjom tokena

Prikaz stanja usluge pokazuje kada se ponašanje promijenilo. Podaci o korištenju pomažu objasniti zašto.

Na kontrolnoj ploči korištenja uradite sljedeće kako biste bili sigurni da gledate podatke koji odgovaraju vašem prikazu na kontrolnoj ploči stanja usluge:

  • Filtrirajte podatke prema istom projektu i modelu.

  • Grupišite prema nivou usluge, ako je primjenjivo.

  • Usredotočite se na izlazne tokene, koji najviše utječu na latenciju.

Za detaljniju analizu izvezite podatke o aktivnosti i proučite kako se broj tokena po zahtjevu mijenja tokom vremena.

Šta podijeliti s podrškom (po potrebi)

Ako kontaktirate podršku, navedite:

  • ID-ove organizacija pogođenih problemom (važno)

  • Krajnje tačke pogođene problemom, kao što su Chat Completions ili Responses (važno)

  • Modele pogođene problemom (važno)

  • Da li se problem javlja u Brzom modu ili na Nivou skale (važno)

  • Vremenske raspone u kojima se javljaju latencija ili greške, uz vremensku zonu (važno)

  • Relevantni x-request-id ili X-Client-Request-Id, ako je dostupan

  • Vremenske oznake s vremenskom zonom, ili barem datum, za zahtjeve koje dostavljate

Ako su dostupne, uključite i sljedeće informacije:

  • ID projekta povezanog sa zahtjevima

  • Da li su problemom pogođeni zahtjevi s rezidentnošću podataka i koji su to zahtjevi

  • Opis trendova koje primjećujete

Ovisno o vrsti problema, navedite:

  • Greške: Približan postotak neuspjelih zahtjeva ili zahtjeva koji vraćaju grešku, kodove odgovora, poruke o greškama i vrijeme potrebno za primanje odgovora s greškom.

  • Latencija: Koji su percentili pogođeni (P50 / P90 / P95 / P99), koliko su njihove vrijednosti više u odnosu na uobičajene vrijednosti kod korisnika te primjere sporih zahtjeva s vremenskim oznakama slanja i prijema.

  • Oboje: Snimke ekrana ili tabelu s podacima o greškama ili latenciji te objašnjenje kako ste utvrdili da su stope grešaka ili latencija više od očekivanih.

Uobičajeni scenariji rješavanja problema

Dolazi do isteka vremena, ali Stanje usluge izgleda normalno

Mogući uzrok: zahtjevi ističu prije nego što stignu do OpenAI-ja.

Provjerite:

  • Postavke isteka vremena klijenta ili proksija

  • Promjene lokalne mreže ili balansera opterećenja

  • Prisustvo 499 grešaka na kontrolnoj tabli stanja usluge (one se u vašim sistemima mogu prikazati kao 5xx greške).

Latencija se povećala bez implementacije

Mogući uzrok: povećala se veličina izlaznih tokena ili korištenje rezonovanja i/ili se promet premjestio između nivoa usluge.

Provjerite:

  • Prosječan broj izlaznih tokena po zahtjevu na kontrolnoj tabli korištenja (zahtijeva preuzimanje podataka i dijeljenje izlaznih tokena ukupnim brojem zahtjeva).

  • Percentili vremena zahtjeva i TTFT-a na kontrolnoj tabli stanja usluge.

Brzi mod ili Nivo skale djeluje sporo

Mogući uzrok: podaci mjerenja pomiješani su između nivoa, pa saobraćaj standardnog nivoa prikriva performanse plaćenog nivoa.

Provjerite:

  • Filteri su ograničeni na jedan nivo i model.

  • Poređenje brzine tokena između nivoa.

Porast 5XX grešaka

Vjerovatni uzrok: privremeni kvarovi koji utiču na mali procenat prometa.

Provjerite:

  • Procenat stope grešaka

  • Da li se obim prometa promijenio u isto vrijeme

Problem utiče samo na jedan projekat

Vjerovatni uzrok: konfiguracija ili obrazac korištenja specifičan za projekat.

Provjerite:

  • Filtriranje na nivou projekta

  • Poređenje s projektima koji nisu pogođeni

Završni zaključci

  • Prije tumačenja metrika filtrirajte prema modelu, nivou i projektu gdje je relevantno.

  • Za analizu latencije koristite percentile, a ne prosjeke.

  • Male stope grešaka su očekivane.

  • Nedostajući podaci obično ukazuju na uzvodne probleme.

  • Podaci o korištenju mogu pomoći objasniti zašto se latencija promijenila; Stanje usluge pokazuje kada se ponašanje promijenilo.

Da li je ovaj članak bio koristan?