Skip to content
Dashboard

Introducing AI Elements: Prebuilt, composable AI SDK components

import { Message, MessageContent } from "@/components/ai-elements/message";
import { Response } from "@/components/ai-elements/response";
import { useChat } from "@ai-sdk/react";
export default function Example() {
const { messages } = useChat();
return messages.map((message) => (
<Message from={message.role} key={message.id}>
<MessageContent>
{message.parts
.filter((part) => part.type === "text")
.map((part, i) => (
<Response key={`${message.id}-${i}`}>{part.text}</Response>
))}
</MessageContent>
</Message>
));
}

Link to headingGetting started

Terminal
npx ai-elements@latest

AI Elements replaces ChatSDK with a more flexible set of UI building blocks for AI interfaces. ChatSDK will be migrated to a dedicated Next.js template. Future templates will use AI Elements to support a wider range of AI-native interface patterns beyond chat.