Cách sử dụng LLM mà không làm vỡ ngân sách của bạn
Xây dựng một bản demo AI thì rất dễ dàng. Bạn chỉ cần lấy một API key, viết một prompt, và nó sẽ hoạt động.
Nhưng triển khai nó cho người dùng thực tế lại là một chuyện khác. Lưu lượng truy cập tăng lên và chi phí của bạn sẽ tăng vọt. Độ trễ (latency) tăng lên. Đội ngũ tài chính sẽ đặt câu hỏi.
Khoảng cách giữa một bản demo và một sản phẩm thực tế chính là kỹ thuật. Bạn phải quản lý cả chi phí lẫn tốc độ.
Kiểm soát đầu ra để tiết kiệm tiền
Hầu hết các API đều tính phí theo token. Họ tính phí cho những gì bạn gửi đi và những gì họ phản hồi lại. Token đầu ra (output tokens) đắt hơn token đầu vào (input tokens).
Đừng chỉ cắt tỉa prompt của bạn. Hãy tập trung vào câu trả lời. • Yêu cầu định dạng JSON. • Yêu cầu trả lời trong một câu. • Thiết lập giới hạn token tối đa. • Yêu cầu mô hình trả lời ngắn gọn.
Câu trả lời ngắn sẽ rẻ hơn và nhanh hơn.
Giảm số lượng cuộc gọi
Cuộc gọi rẻ nhất là cuộc gọi mà bạn không bao giờ thực hiện.
- Sử dụng bộ nhớ đệm (caching). Nhiều người dùng sẽ hỏi cùng một câu hỏi. Bộ nhớ đệm sẽ biến một cuộc gọi API chậm chạp thành một thao tác tra cứu nhanh chóng.
- Sử dụng bộ định tuyến (router). Bạn không cần một mô hình khổng lồ cho mọi tác vụ. Hãy sử dụng một mô hình nhỏ, rẻ tiền cho các công việc dễ dàng. Chỉ sử dụng mô hình đắt tiền cho các tác vụ khó.
Cải thiện trải nghiệm người dùng
Đôi khi bạn không thể làm cho mô hình chạy nhanh hơn. Nhưng bạn có thể làm cho nó cảm giác nhanh hơn.
- Truyền dữ liệu theo luồng (stream responses). Hiển thị văn bản ngay khi nó đang được tạo ra. Người dùng có thể bắt đầu đọc ngay lập tức. Điều này giúp cảm giác chờ đợi ngắn lại.
- Hiển thị tiến trình. Nếu công việc gồm nhiều bước, hãy thông báo cho người dùng. Sử dụng các thông báo như "Đang tìm kiếm tài liệu..." thay vì chỉ hiển thị một vòng xoay tải (loading spinner) trống rỗng.
Quản lý các yêu cầu chậm
Một vài yêu cầu cực kỳ chậm có thể phá hỏng sản phẩm của bạn. Đừng để chúng bị treo.
- Thiết lập thời gian chờ (timeout) nghiêm ngặt. Quyết định xem điều gì sẽ xảy ra nếu một yêu cầu mất quá nhiều thời gian.
- Sử dụng cơ chế thử lại (retries) có giới hạn. Đừng thử lại mãi mãi.
- Sử dụng bộ ngắt mạch (circuit breakers). Nếu nhà cung cấp bị lỗi, hãy ngừng gửi yêu cầu và hiển thị một phương án dự phòng (fallback).
Theo dõi dữ liệu của bạn
Bạn không thể khắc phục những gì bạn không đo lường được. Hãy ghi lại (log) ba điều sau cho mỗi yêu cầu: • Input tokens • Output tokens • Total latency
Hãy theo dõi chúng theo từng tính năng. Nhiều khả năng bạn sẽ tìm thấy một tính năng cụ thể gây ra phần lớn chi phí của mình.
Đừng coi mô hình như một phép màu. Hãy coi nó như một thành phần phụ thuộc (dependency) chậm chạp và đắt đỏ mà bạn phải quản lý.
