OpenAI
Ova je stranica strojno prevedena. Pogledajte izvorni članak na engleskom jeziku.

Otklanjanje poteškoća s API pogreškama i latencijom

Ovaj članak objašnjava kako koristiti nadzorne ploče Service Health i Usage za otklanjanje uobičajenih pogrešaka i problema s latencijom pri upotrebi OpenAI API-ja.

Ažurirano: 4 days ago

Važne poveznice

Započnite s pravim zadanim postavkama

Kada otvorite nadzornu ploču stanja usluge, zadane su postavke:

  • Svi projekti

  • Posljednjih 30 dana

  • Razlučivost po satu

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

Filtrirajte prije istraživanja

Ispravno filtriranje najvažniji je korak. Većina pogrešnih tumačenja proizlazi iz miješanja modela, razina 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 obujma

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

  • Različiti modeli imaju različite ciljeve performansi

Napomena: odabirom više modela oni se agregiraju — ne prebacuje se između njih.

Filtriranje prema Razini usluge

Ako upotrebljavate više razina (standardnu, Brzi način rada (prethodno Prioritetna obrada), Razinu skaliranja), uvijek primijenite filtar za razinu koju istražujete.

Zašto:

  • Razine imaju različite značajke performansi

  • Brzi način rada i Razina skaliranja imaju definirane SLA-ove

  • Miješanje razina prikriva performanse plaćene razine

To je osobito važno pri analizi latencije.

Za postojeće modele promet Brzog načina rada na nadzornoj ploči Usage i dalje se prikazuje kao „priority”.

Filtrirajte prema projektu

Prema zadanim postavkama, stanje usluge prikazuje sve projekte.

Za rješavanje problema filtrirajte na projekt(e) u kojima je problem uočen.

Zašto:

  • Jedan projekt velikog obujma može dominirati metrikama.

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

Ostavite odabrano „Svi projekti” samo ako vjerujete da je problem doista na razini cijele organizacije.

Rješavanje pogrešaka

Upotrijebite prikaz HTTP zahtjeva

Za istraživanje pogrešaka:

  1. Filtrirajte prema modelu i razini usluge.

  2. Otvorite karticu HTTP zahtjevi umjesto kartice Vrijeme neprekidnog rada.

Ovaj prikaz prikazuje ukupne zahtjeve i broj pogrešaka prema HTTP statusnom kodu. Zumirajte na razlučivost po minutama kako biste prepoznali detaljne skokove ili promjene.

Tumačite stope pogrešaka, a ne broj pogrešaka

Neke su pogreške očekivane u svakom produkcijskom sustavu. Usredotočite se na postotak pogrešaka, a ne na neobrađene ukupne vrijednosti.

Što je vaš ukupni obujam veći, to je veći mogući broj pogrešaka čak i uz iznimno nisku stopu pogrešaka.

Kada pogreške nedostaju u stanju usluge

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

  • Zahtjevi vjerojatno nisu stigli do OpenAI-ja.

  • Problem je obično uzvodno (isteci vremena, proxyji, umrežavanje).

To je često kod agresivnih isteka vremena na strani klijenta.

Otklanjanje poteškoća s latencijom

Analiza latencije najkorisnija je na razinama Brzi način rada i Razina skaliranja, za koje su definirani SLA-ovi. Standardna razina može imati veća odstupanja u latenciji, a latencija nije zajamčena.

Ključne metrike

Da biste vidjeli svaku metriku, kliknite odgovarajuću karticu:

  • Brzina tokena: tokeni generirani u sekundi; neovisno o veličini upita.

  • Vrijeme zahtjeva: ukupno trajanje zahtjeva; na njega snažno utječu veličina izlaza i rasuđivanje.

  • Vrijeme do prvog tokena (TTFT): vrijeme do generiranja prvog tokena; na njega snažno utječu veličina nepredmemoriranog ulaznog upita i rasuđivanje.

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

6. Korelacija latencije s upotrebom tokena

Stanje usluge pokazuje kada se ponašanje promijenilo. Podaci o upotrebi pomažu objasniti zašto.

Na nadzornoj ploči upotrebe učinite sljedeće kako biste bili sigurni da gledate podatke relevantne za svoj prikaz na nadzornoj ploči stanja usluge:

  • Filtrirajte na isti projekt i model.

  • Grupirajte prema razini usluge, ako je primjenjivo.

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

Za dublju analizu izvezite podatke o aktivnosti i ispitajte tokene po zahtjevu tijekom vremena.

7. Što podijeliti s podrškom (ako je potrebno)

Ako se obratite podršci, navedite:

  • ID-jeve zahvaćenih organizacija (važno)

  • Zahvaćene krajnje točke, kao što su Chat Completions ili Responses (važno)

  • Zahvaćene modele (važno)

  • Pojavljuje li se problem u Brzom načinu rada ili Razini skaliranja (važno)

  • Vremenska razdoblja s vremenskom zonom za latenciju ili pogreške (važno)

  • Relevantni x-request-id ili X-Client-Request-Id, ako su dostupni

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

Ako je dostupno, navedite i:

  • ID projekta povezanog sa zahtjevima

  • Jesu li zahvaćeni zahtjevi za rezidentnost podataka i koji

  • Opise uočenih trendova

Ovisno o vrsti problema, navedite:

  • Pogreške: približan postotak neuspjelih zahtjeva ili zahtjeva s pogreškom, kodove odgovora, poruke o pogrešci i vrijeme potrebno za primanje odgovora s pogreškom.

  • Latencija: zahvaćene percentile (P50 / P90 / P95 / P99), koliko su visoki u odnosu na uobičajene vrijednosti korisnika te primjere sporih zahtjeva s vremenskim oznakama slanja i primanja.

  • Oboje: snimke zaslona ili tablicu s podacima o pogreškama ili latenciji te objašnjenje kako ste utvrdili da su stope pogreš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 istječu prije nego što stignu do OpenAI-ja.

Provjerite:

  • Postavke isteka vremena klijenta ili proxyja

  • Promjene lokalne mreže ili raspoređivača opterećenja

  • Prisutnost 499 pogrešaka na nadzornoj ploči stanja usluge (one se u vašim vlastitim sustavima mogu prikazati kao 5xx pogreške).

Latencija se povećala bez implementacije

Mogući uzrok: povećala se veličina izlaznih tokena ili upotreba rasuđivanja i/ili se promet premjestio između razina usluge.

Provjerite:

  • Prosječan broj izlaznih tokena po zahtjevu na nadzornoj ploči upotrebe (potrebno je preuzeti podatke i podijeliti izlazne tokene s ukupnim brojem zahtjeva).

  • Percentili vremena zahtjeva i TTFT-a na nadzornoj ploči stanja usluge.

Brzi način rada ili Razina skaliranja djeluju sporo

Mogući uzrok: mjerni podaci s različitih razina pomiješani su pa promet standardne razine prikriva performanse plaćene razine.

Provjerite:

  • Filtri su ograničeni na jednu razinu i model.

  • Usporedbu brzine tokena među razinama.

Porast 5XX pogrešaka

Vjerojatan uzrok: prolazni kvarovi koji utječu na mali postotak prometa.

Provjerite:

  • Postotak stope pogrešaka

  • Je li se obujam prometa promijenio u isto vrijeme

Problem utječe samo na jedan projekt

Vjerojatan uzrok: konfiguracija ili obrazac upotrebe specifičan za projekt.

Provjerite:

  • Filtriranje na razini projekta

  • Usporedba s projektima na koje to ne utječe

Završni zaključci

  • Filtrirajte prema modelu, razini i projektu gdje je relevantno prije tumačenja metrika.

  • Za analizu latencije upotrebljavajte percentile, a ne prosjeke.

  • Male stope pogrešaka su očekivane.

  • Podaci koji nedostaju obično ukazuju na probleme uzvodno.

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

Je li vam ovaj članak bio koristan?