useChat
"Failed to Parse Stream String" Error
Issue
I am using useChat
or useCompletion
, and I am getting a "Failed to parse stream string. Invalid code"
error. I am using version 3.0.20
or newer of the AI SDK.
Background
The AI SDK has switched to the stream data protocol in version 3.0.20
.
useChat
and useCompletion
expect stream parts that support data, tool calls, etc.
What you see is a failure to parse the stream.
This can be caused by using an older version of the AI SDK in the backend, by providing a text stream using a custom provider, or by using a raw LangChain stream result.
Solution
You can switch useChat
and useCompletion
to raw text stream processing with the streamProtocol
parameter.
Set it to text
as follows:
const { messages, append } = useChat({ streamProtocol: 'text' });