`useChat`이 응답하지 않음

useChat이 응답하지 않음 (useChat No Response)

useChat을 사용할 때 모델이 응답하지 않는 문제와 해결 방법을 다루는 문서예요.

출처: 문서

본문

문제 (Issue)

저는 useChat을 사용하고 있어요. 서버에서 들어오는 메시지를 로깅해 보면 툴 호출과 툴 결과는 보이는데, 모델이 아무 것도 응답하지 않아요.

해결 방법 (Solution)

이 문제를 해결하려면 convertToModelMessages 함수를 사용해 들어오는 메시지를 ModelMessage 형식으로 변환하세요.

import { openai } from '@ai-sdk/openai';
import {
  convertToModelMessages,
  createUIMessageStreamResponse,
  streamText,
  toUIMessageStream,
} from 'ai';
__PROVIDER_IMPORT__;

export async function POST(req: Request) {
  const { messages } = await req.json();

  const result = streamText({
    model: __MODEL__,
    messages: await convertToModelMessages(messages),
  });

  return createUIMessageStreamResponse({
    stream: toUIMessageStream({ stream: result.stream }),
  });
}

이렇게 하면 UI 메시지 형식이 모델이 받아들일 수 있는 ModelMessage 형식으로 올바르게 변환되어, 모델이 정상적으로 응답하게 돼요.

더 알아보기 (Learn more)