AI SDK 3.2 → 3.3 마이그레이션

AI SDK 3.2 → 3.3 마이그레이션 (Migrate AI SDK 3.2 to 3.3)

AI SDK 3.2에서 3.3으로 마이그레이션할 때 알아야 할 내용을 정리한 문서예요. 이번 릴리스에는 호환성을 깨는 변경(breaking changes)이 없어요.

출처: 문서

본문

참고: 릴리스에 대한 자세한 정보는 AI SDK 3.3 릴리스 블로그 포스트를 확인하세요.

이번 릴리스에는 호환성을 깨는 변경(breaking changes)이 없어요.

아래 changelog는 3.2.x 시리즈에서 이루어진 모든 변경 사항을 포함하며, AI SDK와 관련 라이브러리 전반에 걸쳐 상당한 개선과 새로운 기능을 소개해요:

새로운 기능 (New Features)

Open Telemetry 지원 (Open Telemetry Support)

AI SDK UI 개선 (AI SDK UI Improvements)

  • 백엔드의 streamObject 와 함께 사용할 수 있는 실험적인 useObject 훅(React용)을 도입해 구조화된 데이터의 원활한 스트리밍을 가능하게 해요.
  • useChat 에 첨부 파일과 스트리밍 툴 호출에 대한 실험적 지원을 추가해 더 다양한 채팅 기능을 제공해요.
  • 빈 제출을 방지하도록 useChat 을 패치하여 의도된 입력만 처리되도록 사용자 상호작용의 품질을 개선해요.
  • 이제 데이터, 본문, 헤더를 올바르게 전송하도록 useChat 의 reload 함수를 수정했어요.
  • useAssistant 를 위한 setThreadId 헬퍼를 구현해 스레드 관리를 단순화해요.
  • useChat 과 useCompletion 을 위한 스트림 데이터 프로토콜을 문서화하여 개발자가 해당 함수를 어떤 백엔드와도 사용할 수 있게 했어요. 스트림 데이터 프로토콜은 streamText 와 함께 커스텀 프론트엔드를 사용하는 것도 가능하게 해요.
  • 커스텀 fetch 함수와 요청 본문 커스터마이즈 지원을 추가해 API 상호작용에 대한 더 큰 제어를 제공해요.
  • 토큰 사용량과 종료 사유에 접근할 수 있도록 useChat 훅에 onFinish 를 추가했어요.

핵심 개선 (Core Enhancements)

  • 커스텀 요청 헤더 전송 지원을 구현해 더 맞춤화된 API 요청을 가능하게 해요.
  • 기존 Zod 지원과 함께 원시 JSON 스키마 지원을 추가해 스키마와 데이터 검증 옵션을 더 다양하게 제공해요.
  • embed 와 embedMany 함수에 사용량 정보를 도입해 토큰 사용에 대한 통찰력을 제공해요.
  • stopSequences 와 topK 를 포함한 추가 설정 지원을 추가해 텍스트 생성에 대한 더 세밀한 제어를 제공해요.
  • generateText 의 모든 단계에 대한 정보에 접근할 수 있게 하여 중간 툴 호출과 결과에 접근할 수 있게 했어요.

새로운 프로바이더 (New Providers)

프로바이더 개선 (Provider Improvements)

  • Anthropic, Google, Azure, OpenAI를 포함한 기존 프로바이더를 다양한 개선과 버그 수정으로 강화했어요.
  • StreamEvent v2 지원으로 LangChain 어댑터를 업그레이드하고 toDataStreamResponse 함수를 도입해 LangChain 출력 스트림을 데이터 스트림 응답으로 변환할 수 있게 했어요.
  • OpenAI 프로바이더에 레거시 함수 호출(function calling) 지원을 추가했어요.
  • Mistral AI 프로바이더를 툴 호출 지원에 대한 수정과 개선으로 업데이트했어요.

UI 프레임워크 지원 확장 (UI Framework Support Expansion)

  • SolidJS: React 구현과 기능 패리티를 이루도록 useChat 과 useCompletion 을 업데이트했어요.
  • Vue.js: useAssistant 훅을 도입했어요.
  • Vue.js / Nuxt: 예제를 업데이트해 최신 기능과 모범 사례를 보여줘요.
  • Svelte: useChat 에 툴 호출 지원을 추가했어요.

수정 및 개선 (Fixes and Improvements)

  • 레이스 컨디션, 오류 처리, 상태 관리를 포함한 SDK의 다양한 컴포넌트에 걸친 여러 문제를 해결했어요.

더 알아보기 (Learn more)