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: 18 hours 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.

Filtrirajte prema razini usluge

Ako upotrebljavate više od jedne razine (standardnu, prioritetnu, skaliranja), uvijek filtrirajte na razinu koju istražujete.

Zašto:

  • Razine imaju različite karakteristike performansi

  • Prioritetne razine i razine skaliranja imaju definirane SLA-ove

  • Miješanje razina prikriva performanse plaćene razine

To je posebno važno za analizu latencije.

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.

Rješavanje problema s latencijom

Analiza latencije najsmislenija je na prioritetnim razinama i razinama skaliranja, koje imaju definirane SLA-ove. Standardna razina može pokazivati veću varijaciju latencije i nema zajamčenu latenciju.

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 kontaktirate podršku, uključite:

  • Pogođeni ID-jevi organizacije (važno)

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

  • Pogođeni modeli (važno)

  • Je li riječ o razini skaliranja ili prioritetnoj razini (važno)

  • Vremenski rasponi s vremenskom zonom za latenciju ili pogreške (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 navedete

Ako je dostupno, uključite i:

  • ID projekta povezan sa zahtjevima

  • Utječe li to na zahtjeve za rezidentnost podataka i na koje

  • Opise trendova koje vidite

Za vrstu problema uključite:

  • Pogreške: približan postotak neuspješnih zahtjeva ili zahtjeva s pogreškom, kodove odgovora, poruke o pogrešci i koliko je trebalo da se primi odgovor s pogreškom.

  • Latencija: koji su percentili pogođeni (P50 / P90 / P95 / P99), koliko su visoki u usporedbi s korisnikovom osnovnom vrijednošću te primjeri sporih zahtjeva s vremenskim oznakama slanja i primitka.

  • Oboje: snimke zaslona ili tablica podataka o pogreškama ili latenciji, uz način na koji ste utvrdili da su stope pogrešaka ili latencija bile više od očekivanog.

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.

Prioritetna razina ili Razina skaliranja djeluje sporo

Mogući uzrok: metrike se miješaju između razina, što znači da promet standardne razine prikriva performanse plaćene razine.

Provjerite:

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

  • Usporedba brzine tokena između razina.

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?