“Streaming interrupted. Waiting for the complete message” xuất hiện khi kết nối streaming câu trả lời ChatGPT đến trình duyệt của bạn bị mất trước khi câu trả lời hoàn tất. Hầu như không bao giờ nguyên nhân là những gì bạn đã nhập: các nguyên nhân thường gặp là tải phía OpenAI, kết nối không ổn định, tiện ích trình duyệt hoặc thread quá dài. Tạo lại phản hồi khắc phục phần lớn trường hợp; khi không hiệu quả, một lần kiểm tra trạng thái cho biết vấn đề có phải do bạn hay không.
Lỗi
Streaming interrupted. Waiting for the complete message...
(related wording for the same failure: "Error in message stream",
"Hmm...something seems to have gone wrong." The symptom is the same —
the answer stops partway and never completes.)Tổng quan nguyên nhân và cách khắc phục
| Nguyên nhân | Cách khắc phục |
|---|---|
| Tình trạng quá tải hoặc sự cố phía OpenAI. Ảnh hưởng đến mọi gói cùng lúc, bao gồm Plus và Pro, và là nguyên nhân phổ biến nhất khi lỗi lặp lại vài phút một lần. | Kiểm tra status.openai.com. Trong thời gian có sự cố, không điều gì ở phía bạn thay đổi được kết quả — chờ đợi là cách khắc phục. |
| Kết nối không ổn định: chuyển đổi Wi-Fi, VPN hoặc proxy doanh nghiệp, hoặc tín hiệu di động yếu. Streaming giữ một kết nối mở lâu dài, nên bị ngắt ở nơi mà các lần tải trang thông thường vẫn vượt qua được. | Tắt VPN hoặc proxy rồi thử lại bằng một kết nối khác (Wi-Fi sang di động hoặc ngược lại). |
| Môi trường trình duyệt: tiện ích chèn vào trang, bộ nhớ đệm cũ hoặc phiên đã hết hạn. | Thử lại trong cửa sổ riêng tư. Nếu hoạt động ở đó, nguyên nhân là tiện ích hoặc bộ nhớ đệm — tắt tiện ích, xóa dữ liệu trang web và đăng nhập lại. |
| Thread quá dài hoặc tệp đính kèm quá nặng. Một cuộc trò chuyện rất dài được gửi lại trong mỗi lượt, nên phản hồi mất nhiều thời gian hơn và dễ bị ngắt hơn. | Đưa các điểm chính sang một chat mới. Chia nhỏ các tệp lớn thay vì đính kèm toàn bộ. |
Ba thao tác trong 90 giây
Tạo lại phản hồi, tải lại trang (nếu dùng điện thoại, thoát hoàn toàn rồi mở lại ứng dụng), sau đó đăng xuất và đăng nhập lại. Một kết nối bị rớt một lần thường được khắc phục bằng một trong ba thao tác này, và phần lớn trường hợp chỉ xảy ra một lần. Nếu lần nào cũng dừng đúng cùng một điểm, đó là dấu hiệu nguyên nhân thuộc một trong các trường hợp cụ thể bên dưới chứ không phải sự cố tạm thời.
Xác định xem vấn đề có phải do bạn không
Đây là bước mà các danh sách khắc phục khác bỏ qua, và là bước tiết kiệm nhiều thời gian nhất. Mở status.openai.com. Nếu đang hiển thị sự cố, không cài đặt nào trên máy bạn thay đổi được điều gì và cách khắc phục duy nhất là chờ. Nếu không có thông báo, nguyên nhân là cục bộ và bước tiếp theo sẽ cô lập nó. Làm việc này trước khi bắt đầu thay đổi cài đặt giúp bạn không bao giờ mất hai mươi phút xóa bộ nhớ đệm trong lúc có sự cố diện rộng.
Cô lập nguyên nhân cục bộ từ ngoài vào trong
Kiểm tra từng lớp theo thứ tự này, vì mỗi lớp loại trừ mọi yếu tố ở phía trên: (1) tắt VPN và proxy; (2) mở cửa sổ riêng tư, thao tác này loại bỏ tiện ích và bộ nhớ đệm trong một lần; (3) thử trình duyệt hoặc thiết bị khác; (4) đổi mạng. Lớp mà tại đó lỗi bắt đầu biến mất chính là nguyên nhân. Nếu lỗi chỉ xuất hiện trong các thread dài, cả bốn yếu tố đều không phải vấn đề — chuyển các điểm chính sang một chat mới.
Dành cho nhà phát triển: cùng một lỗi ngắt trong API
Khi gọi API với stream: true, lỗi này xuất hiện dưới dạng kết nối Server-Sent Events kết thúc mà không có finish_reason. Trạng thái HTTP là 200 — mọi thứ vẫn ổn khi header được gửi — nên chỉ kiểm tra status code sẽ không phát hiện; khi tải cao, bạn cũng sẽ thấy 429 và 529 overloaded_error. Ba điều giúp xử lý được: (1) xem stream kết thúc mà không có finish_reason là có thể thử lại, không phải câu trả lời hoàn chỉnh; (2) thử lại 429, 500 và 529 với exponential backoff cộng jitter; (3) nếu bạn ở phía sau proxy, kiểm tra idle timeout của nó và tắt buffering response — proxy có buffering biến một stream đang hoạt động thành một lần treo dài. Trước tiên hãy tái hiện mà không có proxy:
# Stream directly, no proxy in the path, and watch where it stops.
curl -N https://api.kunavo.com/v1/chat/completions \
-H "Authorization: Bearer $KUNAVO_API_KEY" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","stream":true,
"max_tokens":300,
"messages":[{"role":"user","content":"count slowly from 1 to 20"}]}'Nếu bạn gọi qua Kunavo
Kunavo là một gateway API AI, và stream bị ngắt là một trạng thái mà hệ thống được xây dựng để tiếp nhận thay vì một ngoại lệ. Khi một model có nhiều kênh upstream được cấu hình và lần thử đầu tiên thất bại, request sẽ được thử lại qua một kênh khác trong cùng lần gọi, nên sự cố tạm thời ở upstream xuất hiện dưới dạng một lần thành công chậm hơn đôi chút thay vì lỗi. Các request thất bại không bao giờ bị tính phí. Vì có thể truy cập GPT và Claude bằng một key duy nhất, có thể xử lý model quá tải bằng cách đổi tên model thay vì thay đổi tích hợp. Mẫu thử lại và thời gian chờ tăng dần cho trường hợp truyền phát được trình bày tại Lỗi streaming API LLM.
Câu hỏi thường gặp
“Truyền phát bị gián đoạn, đang chờ thông báo hoàn chỉnh” có phải lỗi của tôi không?
Hầu như không bao giờ. Thông báo này có nghĩa là kết nối truyền câu trả lời đã bị ngắt trước khi câu trả lời hoàn tất. Nội dung bạn nhập không gây ra lỗi này. Nguyên nhân có thể là tải ở phía OpenAI, mạng không ổn định, tiện ích mở rộng trình duyệt hoặc phiên làm việc cũ, hoặc một chuỗi hội thoại đã đủ dài khiến phản hồi hết thời gian chờ.
Nếu tạo lại không khắc phục được thì sao?
Trước tiên, hãy kiểm tra status.openai.com — trong thời gian xảy ra sự cố, không biện pháp cục bộ nào có tác dụng. Nếu không có sự cố, hãy mở cửa sổ riêng tư trên một mạng khác: phép thử này đồng thời loại bỏ tiện ích mở rộng, bộ nhớ đệm và liên kết thường dùng của bạn. Nếu hoạt động ở đó, hãy bật lại từng yếu tố cho đến khi lỗi xuất hiện. Nếu lỗi xảy ra ở mọi nơi và chỉ trong một cuộc trò chuyện dài, hãy chuyển các ý chính sang cuộc trò chuyện mới.
Điều này có xảy ra với các cuộc trò chuyện AI khác không?
Cách diễn đạt này là của ChatGPT, nhưng mọi trợ lý truyền phát câu trả lời đều có thể bị ngắt theo cách tương tự. Claude hiển thị thông báo cho biết không thể hoàn tất phản hồi; trong một lệnh gọi API trực tiếp, lỗi xuất hiện dưới dạng luồng Server-Sent Events kết thúc mà không có finish_reason, hoặc dưới dạng 529 overloaded_error khi hệ thống quá tải.
Tại sao lỗi xuất hiện thường xuyên hơn trong các cuộc trò chuyện dài?
Mỗi lượt đều gửi lại toàn bộ chuỗi hội thoại, nên một cuộc trò chuyện dài đồng nghĩa với quá trình tạo dài hơn được duy trì trên một kết nối. Kết nối càng mở lâu thì càng có nhiều khả năng bị gián đoạn do proxy hết thời gian chờ, chuyển mạng hoặc sự cố tạm thời ở hệ thống phía trên. Bắt đầu cuộc trò chuyện mới kèm bản tóm tắt những điều quan trọng thường cải thiện nhiều hơn bất kỳ cài đặt trình duyệt nào.
Tôi có bị tính phí khi luồng bị gián đoạn không?
Với gói đăng ký ChatGPT, không có phí theo từng tin nhắn, nên bạn không mất gì ngoài thời gian. Với API, việc lập hóa đơn dựa trên số token mà nhà cung cấp thực sự tạo ra, vì vậy luồng bị dừng sớm sẽ rẻ hơn luồng hoàn chỉnh — và trên Kunavo, yêu cầu thất bại hoàn toàn không bị tính phí.
Hướng dẫn liên quan
- Lỗi streaming LLM — SSE bị ngắt, stream bị treo và thiếu usage
- Claude API 529 overloaded_error — lỗi này là gì và cách vượt qua
- Claude API timeout request và “streaming is strongly recommended” — quy tắc 10 phút
Thông tin chi tiết hơn về ý nghĩa lỗi có trong tài liệu tham chiếu lỗi; bạn chỉ mất một phút để lấy khóa qua đăng ký và hướng dẫn xác thực.