メインコンテンツへスキップ
記事一覧へ戻る

LiteLLM: ทำ Gateway กลางสำหรับหลายโมเดลพร้อมคุม Key และค่าใช้จ่าย

ตั้ง LiteLLM Proxy ให้แอปเรียกหลาย provider ผ่าน endpoint เดียว พร้อม virtual key และข้อควรระวังเมื่อใช้ budget โดยไม่มีฐานข้อมูล

LiteLLM: ทำ Gateway กลางสำหรับหลายโมเดลพร้อมคุม Key และค่าใช้จ่าย

เมื่อแอปหลายตัวเรียกโมเดลจากหลายผู้ให้บริการ การกระจาย API key ไปทุกแอปทำให้หมุนคีย์และตรวจค่าใช้จ่ายยาก LiteLLM Proxy เป็น gateway ที่รับคำขอผ่าน API รูปแบบที่ลูกค้าหลายตัวใช้งานได้ แล้วส่งต่อไปยังโมเดลที่กำหนด บทความนี้เน้นแยกคีย์ของแอปจากคีย์ผู้ให้บริการ และตรวจว่าการจำกัดงบทำงานจริงก่อนเปิดใช้

เริ่มจาก model list ที่เล็ก

สร้าง configuration ที่กำหนด model_list ให้ชื่อที่แอปเรียกชัดเจนและผูกกับ provider จริง เก็บ provider key ใน environment หรือ secret store แทนการเขียนค่าในไฟล์ที่ commit ตัวอย่างเชิงโครงสร้างคือให้ชื่อ chat-primary ชี้โมเดลหนึ่งตัวก่อน แล้วส่งคำขอทดสอบผ่าน endpoint ของ proxy ตรวจว่า response มาจาก provider ที่ตั้งไว้ และ error ที่ปลายทางถูกส่งกลับอย่างไร

การมี endpoint กลางไม่ได้ลดค่าบริการโมเดลเอง ให้บันทึกจำนวนคำขอ token และต้นทุนก่อนย้ายทุกแอป เพื่อเห็นว่าค่าใช้จ่ายเพิ่มเพราะ traffic, prompt ยาวขึ้น หรือ routing เปลี่ยนโมเดล อย่าตั้ง fallback ข้ามโมเดลโดยไม่ทดสอบคุณภาพคำตอบและข้อกำหนดข้อมูลของผู้ใช้

ใช้ virtual key จำกัดขอบเขต

ให้แต่ละแอปใช้ virtual key ของตัวเอง แทน master key ที่ใช้จัดการ gateway จำกัดโมเดลที่เรียกได้และกำหนด rate limit ตามงานจริง หากคีย์แอปหนึ่งรั่ว จะได้หมุนคีย์นั้นโดยไม่กระทบทุกบริการ ทดสอบคำขอที่คีย์ถูกต้อง ผิด และไม่มีสิทธิ์เรียกโมเดล พร้อมตรวจว่า log ไม่บันทึก credential หรือเนื้อหาที่เป็นความลับเกินจำเป็น

Budget ต้องทดสอบกับฐานข้อมูล

เอกสาร LiteLLM ระบุว่ากฎ budget อาศัยยอดใช้จ่ายที่อ่านจากฐานข้อมูล หากรันแบบไม่มี PostgreSQL การตั้ง max_budget อาจไม่ตัดคำขอเมื่อใช้เกินวงเงิน จึงต้องต่อฐานข้อมูลตามคู่มือ เปิด budget ให้ key ทดสอบขนาดเล็ก แล้วส่งคำขอจนเกินวงเงินเพื่อดูว่าถูกปฏิเสธจริง ตรวจการรีเซ็ตวงเงินตามช่วงเวลาและความต่างระหว่างวงเงินระดับ key กับ team ก่อนนำไปใช้กับผู้ใช้จริง

สำหรับ production ให้จำกัดการเข้าถึงหน้า admin, แยก master key จาก virtual key, สำรองฐานข้อมูล และติดตาม error rate กับ latency ของแต่ละ provider Gateway เป็นจุดรวมที่ช่วยควบคุม แต่ก็เป็นจุดที่แอปหลายตัวจะได้รับผลกระทบพร้อมกันเมื่อ gateway ล่ม จึงต้องมีแผน health check และการกู้คืน

อ่านเพิ่มเติม: เริ่มใช้ LiteLLM, Gateway และ Virtual Key, งบและ Rate Limit