`useChat` "Failed to Parse Stream String" 오류
useChat "Failed to Parse Stream String" 오류
useChat나 useCompletion을 쓰다가 "Failed to parse stream string" 오류를 만날 수 있어요. 이 오류의 원인과 해결 방법을 정리해 드릴게요.
출처: 문서
본문
문제 (Issue)
useChat 또는 useCompletion을 사용할 때 "Failed to parse stream string. Invalid code" 오류가 발생합니다. AI SDK 버전 3.0.20 이상을 사용하고 있습니다.
배경 (Background)
AI SDK는 버전 3.0.20부터 스트림 데이터 프로토콜(stream data protocol)로 전환했습니다. useChat과 useCompletion은 데이터, 툴 호출 등을 지원하는 스트림 파트를 기대합니다. 보이는 오류는 스트림을 파싱하지 못한 것입니다. 이는 백엔드에서 AI SDK의 구버전을 사용하거나, 커스텀 프로바이더로 텍스트 스트림을 제공하거나, 원시(raw) LangChain 스트림 결과를 사용할 때 발생할 수 있습니다.
해결책 (Solution)
useChat과 useCompletion을 streamProtocol 파라미터로 원시 텍스트 스트림 처리로 전환할 수 있습니다. 다음과 같이 text로 설정하세요.
const { messages, append } = useChat({ streamProtocol: 'text' });
더 알아보기 (Learn more)
- AI SDK 공식 문서에서 다른 트러블슈팅 항목도 확인해 보세요.