จากการแบ่งปันเรื่อง AI for Software Development
ปัญหาอย่างหนึ่งสำหรับการใช้งาน LLM provider ต่าง ๆ ที่มีอยู่มากมาย
ทั้ง OpenAI, Antropic, Ollama, Groq เป็นต้น
แต่ละ provider จะมีการเตรียม API ที่ต่างกัน format ของ input/output ที่ต่างกัน
ดังนั้น LiteLLM จึงเกิดมาเพื่อจัดการปัญหานี้
ได้เตรียมสิ่งต่าง ๆ เหล่านี้ไว้ให้
- รูปแบบของ input/output เดียวกัน ไม่ว่าจะใช้งาน LLM provider อะไร
- สามารถ track การใช้งานทั้ง token หรือ ราคาต่าง ๆ ได้ เพราะว่า LiteLLM ทำตัวเป็น proxy นั่นเอง รวมทั้งเรื่องของ rate limit การใช้งานได้อีกด้วย
- มี Retry and fallback ให้ใช้งาน เพื่อช่วยให้ระบบ scale ได้ง่ายขึ้น
โครงสร้างการทำงานเป็นดังรูป
LiteLLM จะเตรียมสิ่งต่าง ๆ หล่านี้ไว้ให้ ในการติดตั้งและใช้งาน
- LiteLLM Proxy server หรือ LLM Gateway มีความสามารถเช่น UI ในการจัดการ, Auth, Logging, Cost tracking และ RAte limit
- LLM Python SDK ช่วยให้ง่ายต่อการเขียน code ด้วยภาษา Python ช่วยให้เราเขียน code ชุดเดียว แต่สามารถใช้งานพวก LLM provider ต่าง ๆ ได้เลย ไม่ต้องไปเขียนตาม API ของแต่ละที่ เป็นอีกทางเลือกที่น่าสนใจ
ลองใช้งานกันดู
หรือถ้าใครอยากได้ระบบ UI ที่มี interface แบบ Chat แล้วเชื่อมต่อมายัง LiteLLM proxy server
แถมยังสามารถเลือก LLM provider ได้อีก แนะนำ Open WebUI ใช้ง่ายดี
แต่สิ่งที่น่าสนใจ และ ผมนำมาใช้งานคือ Load balancer และ fallback
เมื่อมี request เข้ามาจำนวนมาก
แน่นอนว่าจะติด limit ของ LLM provider แต่ละที่
ดังนั้นจึงแก้ไขปัญหานี้ด้วยการใช้ความสามารถของ LiteLLM มาช่วย
ลองใช้งานกันดูครับ มี Docker compose ให้ใช้งานแบบง่าย ๆ เลย
ขอให้สนุกครับ