ADR-0001: Groq (Llama 3.1/3.3) làm LLM provider, với smart routing 2 model
- Status: Accepted
- Date: ~2026-06-27 (backfilled 2026-07-25)
- Supersedes: —
- Superseded by: —
Bối cảnh
Chatbot cần trả lời cả câu hỏi đơn giản (tìm sân theo quận) lẫn câu hỏi cần suy luận phức tạp (so sánh nhiều sân, tư vấn). Dùng 1 model mạnh cho mọi request sẽ chậm/tốn chi phí không cần thiết cho câu hỏi đơn giản; dùng 1 model nhẹ cho mọi request sẽ trả lời kém với câu hỏi phức tạp.
Quyết định
Dùng Groq SDK làm LLM provider (inference nhanh, giá rẻ so với OpenAI), với smart routing giữa 2 model dựa trên keyword detection + độ dài message (>80 ký tự):
llama-3.1-8b-instant— tìm kiếm đơn giản, độ trễ thấpllama-3.3-70b-versatile— tư vấn/so sánh phức tạp
Lựa chọn khác đã cân nhắc
- 1 model duy nhất (70b) cho mọi request: chất lượng đồng đều nhưng latency/chi phí cao hơn cho phần lớn request đơn giản (tìm kiếm chiếm đa số theo phân tích use case) — loại.
- OpenAI GPT-4o-mini/4o: chất lượng tốt, nhưng chi phí + latency cao hơn Groq (Groq dùng LPU inference chuyên dụng) cho cùng use case tìm kiếm/tư vấn — loại vì mục tiêu chi phí thấp cho dự án thesis.
- Router bằng model classifier riêng (thay vì keyword+length heuristic):
chính xác hơn nhưng thêm 1 lần gọi model trước khi route — tốn thêm
latency, không tương xứng lợi ích ở quy mô hiện tại — loại, có thể xét lại
nếu heuristic hiện tại route sai nhiều (xem
CHATBOT_EVAL_REPORT.md).
Hệ quả
- Được: latency thấp cho phần lớn truy vấn tìm kiếm; vẫn giữ chất lượng cao cho câu hỏi phức tạp; chi phí tổng thấp hơn dùng 1 model mạnh cho tất cả.
- Đánh đổi: heuristic routing (keyword + length) có thể route sai một số
câu hỏi biên (ngắn nhưng phức tạp, hoặc dài nhưng đơn giản) — cần theo dõi
qua eval report định kỳ; phụ thuộc Groq API availability (không có
fallback provider mặc định, xem
OMNIROUTEởfootball-booking-infrascho hướng mở rộng multi-provider).
Liên kết
- Docs liên quan:
README.md(mục Smart Routing),CHATBOT_EVAL_REPORT.md - ADR liên quan:
football-booking-infras/docs/adr/0004-langfuse-omniroute-llm-observability.md