จากการแบ่งปันเรื่อง 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 ได้ง่ายขึ้น
โครงสร้างการทำงานเป็นดังรูป
![](http://www.somkiat.cc/wp-content/uploads/2024/10/litellm-01-1024x630.png)
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 ใช้ง่ายดี
![](http://www.somkiat.cc/wp-content/uploads/2024/10/openwebio-01.jpg)
แต่สิ่งที่น่าสนใจ และ ผมนำมาใช้งานคือ Load balancer และ fallback
เมื่อมี request เข้ามาจำนวนมาก
แน่นอนว่าจะติด limit ของ LLM provider แต่ละที่
ดังนั้นจึงแก้ไขปัญหานี้ด้วยการใช้ความสามารถของ LiteLLM มาช่วย
![](http://www.somkiat.cc/wp-content/uploads/2024/10/litellm-02-1024x347.png)
ลองใช้งานกันดูครับ มี Docker compose ให้ใช้งานแบบง่าย ๆ เลย
ขอให้สนุกครับ