OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

การแก้ไขปัญหาข้อผิดพลาดและความหน่วงของ API

บทความนี้อธิบายวิธีใช้แดชบอร์ด Service Health และ Usage เพื่อแก้ไขข้อผิดพลาดทั่วไปและปัญหาความหน่วงเมื่อใช้ OpenAI API

อัปเดตล่าสุด: 5 days ago

ลิงก์สำคัญ

เริ่มต้นด้วยค่าเริ่มต้นที่เหมาะสม

เมื่อคุณเปิดแดชบอร์ดสถานะบริการ ค่าเริ่มต้นคือ:

  • โปรเจ็กต์ทั้งหมด

  • 30 วันที่ผ่านมา

  • ความละเอียดรายชั่วโมง

มุมมองนี้มีประโยชน์เพื่อการทำความเข้าใจเบื้องต้นเท่านั้น การแก้ไขปัญหาอย่างมีความหมายต้องใช้การกรองเสมอ

กรองก่อนตรวจสอบ

การกรองให้ถูกต้องคือขั้นตอนที่สำคัญที่สุด การตีความผิดส่วนใหญ่มาจากการปะปนโมเดล ประเภทของแพ็กเกจ หรือโปรเจ็กต์

กรองตามโมเดล (ครั้งละหนึ่งโมเดล)

กรองให้เหลือโมเดลเดียวเสมอ

เหตุผล:

  • ปัญหาในโมเดลที่มีทราฟฟิกต่ำอาจถูกซ่อนโดยทราฟฟิกปริมาณสูงกว่า

  • โมเดลที่มีปริมาณสูงอาจทำให้ปัญหาเฉพาะจุดดูเหมือนเป็นปัญหาทั่วทั้งระบบ

  • โมเดลต่างกันมีเป้าหมายด้านประสิทธิภาพต่างกัน

หมายเหตุ: การเลือกหลายโมเดลจะเป็นการรวมข้อมูล ไม่ใช่การสลับระหว่างโมเดลเหล่านั้น

กรองตามประเภทของแพ็กเกจ

หากคุณใช้มากกว่าหนึ่งระดับบริการ (มาตรฐาน, โหมด Fast (เดิมคือการประมวลผลแบบ Priority), ระดับการรองรับการใช้งาน) ให้กรองเฉพาะระดับบริการที่กำลังตรวจสอบเสมอ

เหตุผล:

  • แต่ละระดับบริการมีลักษณะด้านประสิทธิภาพแตกต่างกัน

  • โหมด Fast และระดับการรองรับการใช้งานมี SLA ที่กำหนดไว้อย่างชัดเจน

  • การรวมหลายระดับบริการทำให้มองเห็นประสิทธิภาพของระดับแบบชำระเงินได้ไม่ชัดเจน

สิ่งนี้สำคัญอย่างยิ่งต่อการวิเคราะห์เวลาแฝง

สำหรับโมเดลเดิม ทราฟฟิกของโหมด Fast จะยังคงแสดงเป็น priority ในแดชบอร์ด Usage

กรองตามโปรเจ็กต์

ตามค่าเริ่มต้น สถานะบริการจะแสดงโปรเจ็กต์ทั้งหมด

สำหรับการแก้ไขปัญหา ให้กรองไปยังโปรเจ็กต์ที่พบปัญหา

เหตุผล:

  • โปรเจ็กต์เดียวที่มีปริมาณสูงอาจครอบงำเมตริกได้

  • โปรเจ็กต์ขนาดเล็กที่ได้รับผลกระทบอาจถูกทราฟฟิกที่ไม่เกี่ยวข้องบดบัง

เลือก “โปรเจ็กต์ทั้งหมด” ไว้เฉพาะเมื่อคุณเชื่อว่าปัญหานั้นเกิดทั่วทั้งองค์กรจริง ๆ

การแก้ไขปัญหาข้อผิดพลาด

ใช้มุมมองคำขอ HTTP

หากต้องการตรวจสอบข้อผิดพลาด:

  1. กรองตามโมเดลและประเภทของแพ็กเกจ

  2. เปิดแท็บ HTTP Requests แทนแท็บ Uptime

มุมมองนี้แสดงจำนวนคำขอทั้งหมดและจำนวนข้อผิดพลาดตามรหัสสถานะ HTTP ซูมไปที่ความละเอียดระดับนาทีเพื่อระบุการเพิ่มขึ้นอย่างฉับพลันหรือการเปลี่ยนแปลงแบบละเอียด

ตีความอัตราข้อผิดพลาด ไม่ใช่จำนวน

ข้อผิดพลาดบางส่วนเป็นสิ่งที่คาดได้ในระบบที่ใช้งานจริงทุกระบบ มุ่งเน้นที่ เปอร์เซ็นต์ ข้อผิดพลาด ไม่ใช่ยอดรวมดิบ

ยิ่งปริมาณรวมของคุณมาก จำนวนข้อผิดพลาดที่อาจเกิดขึ้นก็ยิ่งมาก แม้อัตราข้อผิดพลาดจะต่ำมากก็ตาม

เมื่อข้อผิดพลาดไม่ปรากฏในสถานะบริการ

หากคุณเห็นข้อผิดพลาดฝั่งไคลเอ็นต์แต่ไม่มีข้อมูลที่สอดคล้องกันในสถานะบริการ:

  • คำขอน่าจะไปไม่ถึง OpenAI

  • ปัญหามักอยู่ที่ต้นทาง (หมดเวลา พร็อกซี เครือข่าย)

สิ่งนี้พบได้บ่อยเมื่อไคลเอ็นต์ตั้งค่าการหมดเวลาเข้มงวดเกินไป

การแก้ปัญหาเวลาแฝง

การวิเคราะห์เวลาแฝงจะมีประโยชน์มากที่สุดกับระดับ โหมด Fast และ ระดับการรองรับการใช้งาน ซึ่งมี SLA ที่กำหนดไว้อย่างชัดเจน ระดับมาตรฐานอาจมีเวลาแฝงผันผวนมากกว่าและไม่มีการรับประกันเวลาแฝง

เมตริกสำคัญ

หากต้องการดูแต่ละเมตริก ให้คลิกแท็บที่เกี่ยวข้อง:

  • ความเร็วของ Token: จำนวน Token ที่สร้างต่อวินาที ไม่ขึ้นกับขนาดคำสั่ง

  • Request Time: ระยะเวลารวมของคำขอ ได้รับผลกระทบอย่างมากจากขนาดเอาต์พุตและการให้เหตุผล

  • Time to First Token (TTFT): เวลาจนกว่า Token แรกจะถูกสร้าง ได้รับผลกระทบอย่างมากจากขนาดคำสั่งอินพุตที่ไม่ได้แคชและการให้เหตุผล

ตรวจสอบเปอร์เซ็นไทล์ P50 / P75 / P95 เสมอ ค่าเฉลี่ยอาจซ่อนผลกระทบต่อผู้ใช้จริงได้

6. การเชื่อมโยงเวลาแฝงกับการใช้ Token

สถานะบริการแสดงว่าพฤติกรรมเปลี่ยนไป เมื่อใด ข้อมูลการใช้งานช่วยอธิบายว่า เพราะเหตุใด

ในแดชบอร์ดการใช้งาน ให้ทำดังต่อไปนี้เพื่อให้แน่ใจว่าคุณกำลังดูข้อมูลที่เกี่ยวข้องกับมุมมองของคุณในแดชบอร์ดสถานะบริการ:

  • กรองเป็นโปรเจ็กต์และโมเดลเดียวกัน

  • จัดกลุ่มตามประเภทของแพ็กเกจ หากเกี่ยวข้อง

  • มุ่งเน้นที่ Token เอาต์พุต ซึ่งส่งผลต่อเวลาแฝงมากที่สุด

สำหรับการวิเคราะห์เชิงลึกยิ่งขึ้น ให้ส่งออก Activity Data และตรวจสอบ Token ต่อคำขอตามเวลา

7. ข้อมูลที่ควรแจ้งฝ่ายสนับสนุน (หากจำเป็น)

หากติดต่อฝ่ายสนับสนุน โปรดระบุ:

  • Org ID ที่ได้รับผลกระทบ (สำคัญ)

  • เอนด์พอยต์ที่ได้รับผลกระทบ เช่น Chat Completions หรือ Responses (สำคัญ)

  • โมเดลที่ได้รับผลกระทบ (สำคัญ)

  • ปัญหาเกิดขึ้นกับโหมด Fast หรือระดับการรองรับการใช้งาน (สำคัญ)

  • ช่วงเวลาพร้อมเขตเวลาที่เกิดปัญหาเวลาแฝงหรือข้อผิดพลาด (สำคัญ)

  • x-request-id หรือ X-Client-Request-Id ที่เกี่ยวข้อง หากมี

  • การประทับเวลาพร้อมเขตเวลา หรืออย่างน้อยวันที่ของคำขอที่ให้มา

หากมี โปรดระบุข้อมูลต่อไปนี้ด้วย:

  • Project ID ที่เกี่ยวข้องกับคำขอ

  • คำขอที่กำหนดถิ่นที่อยู่ของข้อมูลได้รับผลกระทบหรือไม่ และเป็นคำขอใดบ้าง

  • คำอธิบายแนวโน้มที่คุณพบ

สำหรับประเภทของปัญหา โปรดระบุ:

  • ข้อผิดพลาด: เปอร์เซ็นต์โดยประมาณของคำขอที่ล้มเหลวหรือเกิดข้อผิดพลาด รหัสตอบกลับ ข้อความแสดงข้อผิดพลาด และระยะเวลาที่ใช้จนได้รับการตอบกลับข้อผิดพลาด

  • เวลาแฝง: เปอร์เซ็นไทล์ที่ได้รับผลกระทบ (P50 / P90 / P95 / P99) ค่าสูงกว่าค่าพื้นฐานของลูกค้าเพียงใด และตัวอย่างคำขอที่ช้าพร้อมการประทับเวลาที่ส่งและรับ

  • ทั้งสองอย่าง: ภาพหน้าจอหรือตารางข้อมูลข้อผิดพลาดหรือเวลาแฝง พร้อมวิธีที่ใช้พิจารณาว่าอัตราข้อผิดพลาดหรือเวลาแฝงสูงกว่าที่คาดไว้

สถานการณ์การแก้ไขปัญหาที่พบบ่อย

เกิดการหมดเวลาแต่สถานะบริการดูปกติ

สาเหตุที่เป็นไปได้: คำขอหมดเวลาก่อนถึง OpenAI

ตรวจสอบ:

  • การตั้งค่าการหมดเวลาของไคลเอ็นต์หรือพร็อกซี

  • การเปลี่ยนแปลงของเครือข่ายภายในหรือโหลดบาลานเซอร์

  • การมีข้อผิดพลาด 499 ในแดชบอร์ดสถานะบริการ (สิ่งเหล่านี้อาจแสดงเป็นข้อผิดพลาด 5xx ในระบบของคุณเอง)

เวลาแฝงเพิ่มขึ้นโดยไม่มีการปรับใช้

สาเหตุที่เป็นไปได้: ขนาด Token เอาต์พุตหรือการใช้การให้เหตุผลเพิ่มขึ้น และ/หรือทราฟฟิกย้ายไประหว่างประเภทของแพ็กเกจ

ตรวจสอบ:

  • Token เอาต์พุตเฉลี่ยต่อคำขอในแดชบอร์ดการใช้งาน (ต้องดาวน์โหลดข้อมูลและนำ Token เอาต์พุตหารด้วยจำนวนคำขอทั้งหมด)

  • เปอร์เซ็นไทล์ของ Request Time และ TTFT ในแดชบอร์ดสถานะบริการ

โหมด Fast หรือระดับการรองรับการใช้งานดูเหมือนจะช้า

สาเหตุที่เป็นไปได้: เมตริกจากหลายระดับบริการถูกรวมกัน ทำให้ทราฟฟิกระดับมาตรฐานบดบังประสิทธิภาพของระดับแบบชำระเงิน

ตรวจสอบว่า:

  • ตัวกรองถูกจำกัดไว้ที่ระดับบริการและโมเดลเดียว

  • เปรียบเทียบความเร็วของ Token ระหว่างระดับบริการ

ข้อผิดพลาด 5XX เพิ่มขึ้นอย่างฉับพลัน

สาเหตุที่เป็นไปได้: ความล้มเหลวชั่วคราวที่ส่งผลต่อทราฟฟิกในสัดส่วนเล็กน้อย

ตรวจสอบ:

  • เปอร์เซ็นต์อัตราข้อผิดพลาด

  • ปริมาณทราฟฟิกเปลี่ยนแปลงในเวลาเดียวกันหรือไม่

ปัญหาส่งผลต่อโปรเจ็กต์เดียวเท่านั้น

สาเหตุที่เป็นไปได้: การกำหนดค่าหรือรูปแบบการใช้งานเฉพาะโปรเจ็กต์

ตรวจสอบ:

  • การกรองระดับโปรเจ็กต์

  • การเปรียบเทียบกับโปรเจ็กต์ที่ไม่ได้รับผลกระทบ

ข้อสรุปสำคัญ

  • กรองตามโมเดล ประเภทของแพ็กเกจ และโปรเจ็กต์ที่เกี่ยวข้องก่อนตีความเมตริก

  • ใช้ เปอร์เซ็นไทล์ ไม่ใช่ค่าเฉลี่ย สำหรับการวิเคราะห์เวลาแฝง

  • คาดว่าจะมีอัตราข้อผิดพลาดเล็กน้อย

  • ข้อมูลที่หายไปมักบ่งชี้ถึงปัญหาต้นทาง

  • ข้อมูลการใช้งานช่วยอธิบายได้ว่าเวลาแฝงเปลี่ยนไป เพราะเหตุใด ส่วนสถานะบริการแสดงว่าเกิดการเปลี่ยนแปลง เมื่อใด

บทความนี้มีประโยชน์หรือไม่