Files
OmniRoute/docs/i18n/th/docs/reference/RELAY_BACKEND_STRATEGY.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

18 KiB

Relay Backend Strategy (ไทย)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


สรุป

ขณะนี้ OmniRoute รองรับโหมดรีเลย์สามโหมดสำหรับ /api/v1/relay/chat/completions:

  • ts: ใช้รีเลย์ TypeScript ภายในโปรเซส
  • bifrost: บังคับใช้เกตเวย์ Bifrost
  • auto: เลือกใช้ Bifrost ก่อนเมื่อพร้อมใช้งาน และเปลี่ยนกลับไปใช้ TypeScript เมื่อเกิดข้อผิดพลาด

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

ลักษณะการทำงานของโหมด

  • ts
    • มีความซับซ้อนด้านการปฏิบัติการต่ำที่สุด
    • การกำหนดเส้นทางและการตรวจสอบความถูกต้องทั้งหมดทำงานใน Node
    • ความพร้อมใช้งานไม่ขึ้นอยู่กับ sidecar
  • bifrost
    • บังคับให้คำขอทั้งหมดผ่านเกตเวย์ sidecar
    • ไม่มีการเปลี่ยนไปใช้ระบบสำรองโดยอัตโนมัติ
    • มีประโยชน์เฉพาะเมื่อรับประกันสถานะการทำงานและเวลาแฝงของ sidecar ได้
  • auto
    • ใช้ sidecar เมื่อเปิดใช้งานและสามารถเข้าถึงได้
    • ความพยายามที่ล้มเหลวจะเรียกใช้ส่วนหัวสำหรับการเปลี่ยนไปใช้ระบบสำรอง และส่งทราฟฟิกกลับไปยัง TS เพื่อให้ความสำเร็จของคำขอยังคงอยู่ภายในขอบเขตที่ควบคุมได้
    • โหมดนี้เป็นตัวเลือกที่ปลอดภัยที่สุดสำหรับระบบโปรดักชัน เมื่อเวลาพร้อมใช้งานสำคัญกว่าการกำหนดเส้นทางผ่าน sidecar เท่านั้นอย่างเคร่งครัด

9router เทียบกับ CLIPROXYAPI ในปัจจุบัน

ทั้ง 9router และ CLIPROXYAPI เป็นการผสานรวมที่แต่เดิมเปิดเผยเส้นทางความเข้ากันได้สำหรับผู้ให้บริการต้นทาง

  • 9router เป็นเส้นทางแบบฝังตัวสำหรับการประสานงานต้นทางและลักษณะการทำงานด้านความเข้ากันได้
  • CLIPROXYAPI เป็นบริดจ์ proxy API สำหรับทราฟฟิกรูปแบบ CLI / SDK
  • Bifrost กำลังได้รับการปรับให้เสถียรในฐานะเส้นทางภายนอก เมื่อคุณต้องการฮอปเฉพาะที่ทำงานคล้าย sidecar และการส่งต่อภายในเครื่องที่มีเวลาแฝงต่ำ

หากขณะนี้คุณกำลังเปรียบเทียบ 9router/CLIPROXYAPI:

  • เก็บการลงนามคำขอ การตรวจสอบ allowlist และเกตนโยบาย DB ไว้ในเส้นทาง API ก่อนส่งมอบต่อ
  • หากเวิร์กโฟลว์ต้องการลักษณะการทำงานของ sidecar ที่เคร่งครัดและความแปรปรวนต่อคำขอที่ต่ำกว่า ให้ใช้ OMNIROUTE_RELAY_BACKEND=bifrost
  • หากคุณต้องการความยืดหยุ่นของ sidecar พร้อมการลดระดับการทำงานอย่างเหมาะสมเมื่อเกิดเหตุขัดข้อง ให้ใช้ OMNIROUTE_RELAY_BACKEND=auto

ข้อตกลงขอบเขตแบ็กเอนด์

ขอบเขตผลิตภัณฑ์ที่เสถียรคือ relay API ของ OmniRoute ไม่ใช่การติดตั้งใช้งานแดชบอร์ด แดชบอร์ด Next.js อาจติดตั้ง กำหนดค่า และกำกับดูแลบริการภายในเครื่องได้ แต่การกำหนดเส้นทางคำขอควรเข้าสู่ระบบผ่าน relay API และส่งมอบต่อภายใต้ขอบเขตดังกล่าว

ตัวเลือกแบ็กเอนด์ระยะยาว:

  • คงรีเลย์ TypeScript ไว้เป็นเส้นทางนโยบายและเส้นทางสำรองภายในโปรเซส การยืนยันตัวตน allowlist การปรับคำขอให้เป็นรูปแบบมาตรฐาน การบันทึกการใช้งาน และการตรวจสอบความปลอดภัยจะยังคงอยู่ที่นี่ก่อนส่งมอบต่อไปยังแบ็กเอนด์ใดๆ
  • ใช้ Bifrost เป็น sidecar Tier-1 ปริมาณงานสูงที่เลือกใช้ก่อน เมื่อการติดตั้งใช้งานต้องการความแปรปรวนในการกำหนดเส้นทางที่ต่ำลง การหมุนเวียนผู้ให้บริการแบบรวมศูนย์ หรือการขยายระบบข้าม OmniRoute หลายเรพลิกา
  • คง 9router และ CLIPROXYAPI ไว้เป็นบริการความเข้ากันได้แบบฝังตัว โดยทำงานเป็นโปรเซสภายในเครื่องที่มีการกำกับดูแล และมีประโยชน์เมื่อพฤติกรรมของผู้ให้บริการ/CLI ของบริการเหล่านี้เป็นอะแดปเตอร์ที่ต้องการ แต่ไม่ควรกลายเป็นกลไกกำหนดเส้นทาง Tier-1 เริ่มต้น
  • อย่าให้แดชบอร์ดส่ง URL ของบริการแบบกำหนดเองเข้าสู่เส้นทางหลักโดยตรง URL ที่มาจาก UI เป็นอินพุตการกำหนดค่า ส่วนโค้ดกำหนดเส้นทางควรค้นหาแบ็กเอนด์ที่ลงทะเบียนและผ่านการตรวจสอบสถานะแล้ว จากการตั้งค่าฝั่งเซิร์ฟเวอร์และสถานะของตัวกำกับดูแล
  • ปัจจุบันควรเลือกใช้ HTTP บน loopback สำหรับบริการที่มีการกำกับดูแล เนื่องจากโปรเซสที่ได้รับการจัดการเปิดเผย API ที่เข้ากันได้กับ HTTP อยู่แล้ว ตัวป้องกันเส้นทางสามารถตรวจสอบขอบเขตได้ และพฤติกรรมเมื่อเกิดข้อผิดพลาด/การเปลี่ยนไปใช้ระบบสำรองสามารถมองเห็นได้ในบันทึกคำขอ การเพิ่ม SDK หรือการรับส่งข้อมูลผ่านซ็อกเก็ตในอนาคตจะคุ้มค่าก็ต่อเมื่อช่วยลดเวลาแฝงในการกำหนดเส้นทางที่ p99 ได้อย่างวัดผลได้ โดยไม่ทำให้การแยกส่วนหรือความหมายของการเปลี่ยนไปใช้ระบบสำรองอ่อนแอลง

ดังนั้น สำหรับการติดตั้งใช้งานที่มีปริมาณงานสูงมาก คำตอบเริ่มต้นคือ auto พร้อมเปิดใช้งาน Bifrost: ใช้ Go sidecar บนเส้นทางหลัก ขณะที่ยังคงเส้นทางสำรอง TypeScript ไว้เพื่อรักษาอัตราความสำเร็จ ใช้ bifrost เฉพาะเมื่อลักษณะการทำงานที่ใช้ sidecar เท่านั้นอย่างเคร่งครัดมีความสำคัญมากกว่าการลดระดับการทำงานอย่างเหมาะสม

แนวทางสำหรับปริมาณงานสูง

สำหรับ RPM/RPS สูงอย่างต่อเนื่องและ SLO ด้านความสำเร็จที่เคร่งครัด:

  1. ใช้ auto พร้อมช่วงพักการทำงานที่เหมาะสมและข้อมูลเทเลเมทรีของความล้มเหลว
  2. เก็บการตรวจสอบความถูกต้องของต้นทางและการตรวจสอบ API key ไว้ที่ขอบเขตเส้นทาง TypeScript
  3. เปิดใช้ส่วนหัว/ตัวนับอย่างชัดเจน เพื่อให้ระบบแจ้งเตือนของคุณมองเห็นความถี่และสาเหตุของการเปลี่ยนไปใช้ระบบสำรอง
  4. ปรับแต่งระยะหมดเวลาของ sidecar ให้ล้มเหลวอย่างรวดเร็วแทนที่จะรออย่างไม่มีกำหนด
  5. ดูแลให้การรีสตาร์ตบริการอัตโนมัติและลูปเทเลเมทรีสถานะทำงานได้อย่างสมบูรณ์ เพื่อให้การเปลี่ยนไปใช้ระบบสำรองเป็นเหตุการณ์ที่เกิดขึ้นเฉพาะในกรณีพิเศษจริงๆ

ค่าพื้นฐานที่แนะนำ

  • OMNIROUTE_RELAY_BACKEND=auto
  • BIFROST_ENABLED=1
  • เปิดใช้การตรวจสอบ API key, allowlist, sanitizer และ rate limit ในตัวจัดการเส้นทางไว้เสมอ (การตรวจสอบเหล่านี้จะทำงานก่อนการส่งต่อลงstream ทุกครั้ง)
  • ส่งออกเมตริกการเปลี่ยนไปใช้ระบบสำรองจาก reverse proxy และบันทึกคำขอของคุณ เพื่อให้สามารถตรวจพบการหยุดทำงานของ sidecar ได้ภายในหนึ่งนาที

ข้อตกลงปลั๊กอินผู้ให้บริการ

Sidecar ควรนำเข้าข้อมูลเมตาของผู้ให้บริการผ่าน manifest ปลั๊กอินผู้ให้บริการที่ปลอดภัยสำหรับ JSON แทนการพึ่งพารายละเอียดภายในของตัวดำเนินการ TypeScript โปรดดู Manifest ปลั๊กอินผู้ให้บริการ สำหรับข้อตกลงคุณสมบัติของ sidecar และระยะต่างๆ ของการย้ายระบบ