Streaming output for language models
Bài tóm tắt Replicate 2023 2. Tăng trưởng Độ khó: Dễ
Replicate · 2023 · 2. Tăng trưởng · Độ khó: Dễ — bài gốc
Replicate là nền tảng chạy model qua API; số đo và nhận định về sản phẩm là "theo Replicate" (họ tự đo).
Bối cảnh
- Trước đó Replicate chỉ có polling và webhook để lấy kết quả giữa chừng. Với ứng dụng chat, cần một luồng sự kiện cập nhật liên tục; model sinh token một lần một cái nên có thể trả dần.
Thay đổi chính
- API: tạo prediction với
stream: true; phản hồi chứaurls.streamtrỏ tới một host phát riêng. Client mởEventSource(hoặc curl vớiAccept: text/event-stream) tới URL đó và nhận các sự kiệnoutput(kèmid),error,done. - Giao thức là HTTP event stream thường, nên không buộc phải dùng trình duyệt.
- Phía model (Cog): hàm dự đoán
yieldtừng token thay vìreturnmột chuỗi; kiểuConcatenateIteratorcho biết các mảnh sẽ nối thành một chuỗi. Model fine-tune thừa hưởng khả năng stream của model gốc.
Bài học cho SWE
- Tách hai bước: tạo job (POST có xác thực) và nhận luồng (URL riêng) giúp host phát tách khỏi API tạo job.
- Để model streaming được, đổi kiểu trả về của hàm thành generator; client chỉ lo ghép.
Liên quan
#server-sent events#EventSource#streaming LLM#token#Cog#ConcatenateIterator#polling#webhook#Replicate API
Được nhắc tới trong
Công ty (1)
Bài tóm tắt (2)