# AI SDK ## Docs - [Custom Providers](https://mintlify.wiki/vercel/ai/advanced/custom-providers.md): Learn how to create custom AI providers that integrate with the AI SDK - [Error Recovery](https://mintlify.wiki/vercel/ai/advanced/error-recovery.md): Learn strategies for handling and recovering from errors in AI SDK applications - [Middleware Implementation](https://mintlify.wiki/vercel/ai/advanced/middleware-implementation.md): Learn how to implement custom middleware for language models and other AI SDK components - [Building Agents](https://mintlify.wiki/vercel/ai/agents/building-agents.md): Complete guide to creating agents with the ToolLoopAgent. - [Configuring Call Options](https://mintlify.wiki/vercel/ai/agents/configuring-call-options.md): Pass type-safe runtime inputs to dynamically configure agent behavior. - [Loop Control](https://mintlify.wiki/vercel/ai/agents/loop-control.md): Control agent execution with built-in loop management using stopWhen and prepareStep - [Memory](https://mintlify.wiki/vercel/ai/agents/memory.md): Add persistent memory to your agent using provider-defined tools, memory providers, or a custom tool. - [Overview](https://mintlify.wiki/vercel/ai/agents/overview.md): Learn how to build agents with the AI SDK. - [Subagents](https://mintlify.wiki/vercel/ai/agents/subagents.md): Delegate context-heavy tasks to specialized subagents while keeping the main agent focused. - [Workflow Patterns](https://mintlify.wiki/vercel/ai/agents/workflows.md): Learn workflow patterns for building reliable agents with the AI SDK. - [DevTools](https://mintlify.wiki/vercel/ai/ai-sdk-core/devtools.md): Debug and inspect AI SDK applications with DevTools - [Embeddings](https://mintlify.wiki/vercel/ai/ai-sdk-core/embeddings.md): Learn how to embed values with the AI SDK. - [Error Handling](https://mintlify.wiki/vercel/ai/ai-sdk-core/error-handling.md): Learn how to handle errors in the AI SDK Core - [Generating Structured Data](https://mintlify.wiki/vercel/ai/ai-sdk-core/generating-structured-data.md): Learn how to generate type-safe structured data with schemas and validation. - [Generating Text](https://mintlify.wiki/vercel/ai/ai-sdk-core/generating-text.md): Learn how to generate and stream text using AI SDK Core functions. - [Image Generation](https://mintlify.wiki/vercel/ai/ai-sdk-core/image-generation.md): Learn how to generate images with the AI SDK. - [Model Context Protocol (MCP)](https://mintlify.wiki/vercel/ai/ai-sdk-core/mcp-tools.md): Learn how to use Model Context Protocol tools with AI SDK Core. - [Language Model Middleware](https://mintlify.wiki/vercel/ai/ai-sdk-core/middleware.md): Learn how to use middleware to enhance the behavior of language models - [Overview](https://mintlify.wiki/vercel/ai/ai-sdk-core/overview.md): An overview of AI SDK Core - the unified interface for working with large language models. - [Prompt Engineering](https://mintlify.wiki/vercel/ai/ai-sdk-core/prompt-engineering.md): Learn best practices for writing effective prompts with AI SDK Core. - [Provider & Model Management](https://mintlify.wiki/vercel/ai/ai-sdk-core/provider-management.md): Learn how to work with multiple providers and models - [Reranking](https://mintlify.wiki/vercel/ai/ai-sdk-core/reranking.md): Learn how to rerank documents with the AI SDK. - [Settings](https://mintlify.wiki/vercel/ai/ai-sdk-core/settings.md): Learn how to configure AI SDK Core functions with model parameters and settings. - [Speech](https://mintlify.wiki/vercel/ai/ai-sdk-core/speech.md): Learn how to generate speech from text with the AI SDK. - [Telemetry](https://mintlify.wiki/vercel/ai/ai-sdk-core/telemetry.md): Using OpenTelemetry with AI SDK Core - [Testing](https://mintlify.wiki/vercel/ai/ai-sdk-core/testing.md): Learn how to use AI SDK Core mock providers for testing. - [Tools and Tool Calling](https://mintlify.wiki/vercel/ai/ai-sdk-core/tools-and-tool-calling.md): Learn how to enable AI models to use tools and perform actions with AI SDK Core. - [Transcription](https://mintlify.wiki/vercel/ai/ai-sdk-core/transcription.md): Learn how to transcribe audio with the AI SDK. - [Video Generation](https://mintlify.wiki/vercel/ai/ai-sdk-core/video-generation.md): Learn how to generate videos with the AI SDK. - [Generative UI](https://mintlify.wiki/vercel/ai/ai-sdk-rsc/generative-ui.md): Build dynamic user interfaces that adapt to AI model outputs and tool calls - [AI SDK RSC Overview](https://mintlify.wiki/vercel/ai/ai-sdk-rsc/overview.md): Learn about React Server Components integration with the AI SDK for building streaming AI interfaces - [Streaming React Components](https://mintlify.wiki/vercel/ai/ai-sdk-rsc/streaming-react-components.md): Learn how to stream React components from the server to the client with AI SDK RSC - [Building Chatbots with useChat](https://mintlify.wiki/vercel/ai/ai-sdk-ui/chatbot.md): Learn how to build real-time streaming chatbots with the useChat hook, including message management, tool calling, and custom UI features. - [Chatbot Message Persistence](https://mintlify.wiki/vercel/ai/ai-sdk-ui/chatbot-message-persistence.md): Learn how to store and load chat messages in a chatbot with database integration and validation. - [Chatbot Resume Streams](https://mintlify.wiki/vercel/ai/ai-sdk-ui/chatbot-resume-streams.md): Learn how to resume chatbot streams after client disconnects using Redis and resumable-stream. - [Chatbot Tool Usage](https://mintlify.wiki/vercel/ai/ai-sdk-ui/chatbot-tool-usage.md): Learn how to use server-side and client-side tools with the useChat hook, including automatic execution, user interaction, and approval workflows. - [Text Completion with useCompletion](https://mintlify.wiki/vercel/ai/ai-sdk-ui/completion.md): Learn how to build text completion interfaces with the useCompletion hook for autocomplete and text generation features. - [Error Handling](https://mintlify.wiki/vercel/ai/ai-sdk-ui/error-handling.md): Learn how to handle errors and warnings in AI SDK UI applications with error states, callbacks, and custom error messages. - [Generative User Interfaces](https://mintlify.wiki/vercel/ai/ai-sdk-ui/generative-user-interfaces.md): Build dynamic UI components that are generated by AI using tool calling with the useChat hook. - [Message Metadata](https://mintlify.wiki/vercel/ai/ai-sdk-ui/message-metadata.md): Learn how to attach and use custom metadata with messages for tracking timestamps, model information, token usage, and more. - [Object Generation with useObject](https://mintlify.wiki/vercel/ai/ai-sdk-ui/object-generation.md): Learn how to generate and stream structured JSON objects with the useObject hook for type-safe data streaming. - [AI SDK UI Overview](https://mintlify.wiki/vercel/ai/ai-sdk-ui/overview.md): Framework-agnostic UI toolkit for building AI-powered chat, completion, and streaming interfaces with React, Vue, Svelte, and more. - [Reading UIMessage Streams](https://mintlify.wiki/vercel/ai/ai-sdk-ui/reading-ui-message-streams.md): Learn how to read and process UIMessage streams for terminal UIs, custom stream processing, and React Server Components. - [Stream Protocols](https://mintlify.wiki/vercel/ai/ai-sdk-ui/stream-protocol.md): Learn about the text stream and UI message stream protocols for streaming AI responses to the frontend. - [Streaming Custom Data](https://mintlify.wiki/vercel/ai/ai-sdk-ui/streaming-data.md): Learn how to stream custom data parts, sources, and metadata alongside AI responses using the UIMessageStream API. - [Transport Configuration](https://mintlify.wiki/vercel/ai/ai-sdk-ui/transport.md): Learn how to customize message transport with DefaultChatTransport, DirectChatTransport, and custom transport implementations. - [Agent Skills](https://mintlify.wiki/vercel/ai/examples/agent-skills.md): Extend your AI agent with specialized capabilities that load at runtime using Agent Skills - [Computer Use with Claude](https://mintlify.wiki/vercel/ai/examples/computer-use.md): Learn how to implement Claude's Computer Use capabilities with the AI SDK - [Express with AI SDK](https://mintlify.wiki/vercel/ai/examples/express.md): Build AI-powered Express servers with streaming responses using the AI SDK - [Fastify with AI SDK](https://mintlify.wiki/vercel/ai/examples/fastify.md): Build high-performance AI-powered APIs with Fastify and the AI SDK - [Multi-Modal Chatbot](https://mintlify.wiki/vercel/ai/examples/multi-modal-chatbot.md): Build a chatbot that processes images and PDFs using the AI SDK with Next.js - [Natural Language to Postgres](https://mintlify.wiki/vercel/ai/examples/natural-language-postgres.md): Build an app that converts natural language to SQL queries and visualizes results with the AI SDK - [Next.js with AI SDK](https://mintlify.wiki/vercel/ai/examples/next-js.md): Complete guide to using the AI SDK in Next.js applications with App Router - [Nuxt with AI SDK](https://mintlify.wiki/vercel/ai/examples/nuxt.md): Build AI-powered Nuxt applications with server-side streaming using the AI SDK - [RAG Chatbot](https://mintlify.wiki/vercel/ai/examples/rag-chatbot.md): Build a retrieval-augmented generation chatbot with the AI SDK, embeddings, and vector search - [Slackbot with AI SDK](https://mintlify.wiki/vercel/ai/examples/slackbot.md): Build an AI-powered Slack bot using the AI SDK with tools and multi-step conversations - [Overview](https://mintlify.wiki/vercel/ai/foundations/overview.md): An overview of foundational concepts critical to understanding the AI SDK - [Prompts](https://mintlify.wiki/vercel/ai/foundations/prompts.md): Learn about the prompt structure used in the AI SDK - [Providers and models](https://mintlify.wiki/vercel/ai/foundations/providers-and-models.md): Learn about the providers and models available in the AI SDK - [Streaming](https://mintlify.wiki/vercel/ai/foundations/streaming.md): Why use streaming for AI applications? - [Tools](https://mintlify.wiki/vercel/ai/foundations/tools.md): Learn about tools with the AI SDK - [Installation](https://mintlify.wiki/vercel/ai/installation.md): Learn how to install and configure the AI SDK in your project. - [AI SDK by Vercel](https://mintlify.wiki/vercel/ai/introduction.md): The TypeScript toolkit for building AI applications and agents with React, Next.js, Vue, Svelte, Node.js, and more. - [LangChain Adapter](https://mintlify.wiki/vercel/ai/providers/adapters/langchain.md): Learn how to use LangChain with the AI SDK. - [LlamaIndex Adapter](https://mintlify.wiki/vercel/ai/providers/adapters/llamaindex.md): Learn how to use LlamaIndex with the AI SDK. - [Amazon Bedrock Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/amazon-bedrock.md): Learn how to use Amazon Bedrock for AI applications with multiple foundation models. - [Anthropic Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/anthropic.md): Learn how to use Anthropic's Claude models for text generation and tool calling with the AI SDK. - [Azure OpenAI Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/azure.md): Learn how to use Azure OpenAI Service with the AI SDK for enterprise deployments. - [Cohere Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/cohere.md): Learn how to use Cohere models for text generation, embeddings, and reranking with the AI SDK. - [Google Generative AI Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/google-generative-ai.md): Learn how to use Google's Gemini models for text generation, multimodal AI, and embeddings with the AI SDK. - [Google Vertex AI Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/google-vertex.md): Learn how to use Google Vertex AI for enterprise-grade AI applications with the AI SDK. - [Mistral AI Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/mistral.md): Learn how to use Mistral AI models for text generation and embeddings with the AI SDK. - [OpenAI Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/openai.md): Learn how to use the OpenAI provider for text generation, embeddings, and image generation with the AI SDK. - [xAI Grok Provider](https://mintlify.wiki/vercel/ai/providers/ai-sdk-providers/xai.md): Learn how to use xAI's Grok models for text generation with real-time web search and X integration. - [Community Providers](https://mintlify.wiki/vercel/ai/providers/community-providers/overview.md): Learn about community-built providers for the AI SDK. - [Observability Integrations](https://mintlify.wiki/vercel/ai/providers/observability/overview.md): AI SDK Integration for monitoring and tracing LLM applications - [Fireworks](https://mintlify.wiki/vercel/ai/providers/openai-compatible/fireworks.md): Learn how to use Fireworks models with the AI SDK. - [Groq](https://mintlify.wiki/vercel/ai/providers/openai-compatible/groq.md): Learn how to use Groq with the OpenAI Compatible provider in the AI SDK. - [Perplexity](https://mintlify.wiki/vercel/ai/providers/openai-compatible/perplexity.md): Learn how to use Perplexity's Sonar API with the AI SDK. - [Together.ai](https://mintlify.wiki/vercel/ai/providers/openai-compatible/togetherai.md): Learn how to use Together.ai's models with the AI SDK. - [Quickstart](https://mintlify.wiki/vercel/ai/quickstart.md): Get started with the AI SDK by building a simple text generation example in Node.js. - [ToolLoopAgent](https://mintlify.wiki/vercel/ai/reference/agents/tool-loop-agent.md): API reference for the ToolLoopAgent class - [Workflow Agent](https://mintlify.wiki/vercel/ai/reference/agents/workflow-agent.md): API reference for workflow agents - [embed](https://mintlify.wiki/vercel/ai/reference/ai-sdk-core/embed.md): API reference for the embed function - [embedMany](https://mintlify.wiki/vercel/ai/reference/ai-sdk-core/embed-many.md): API reference for the embedMany function - [generateObject](https://mintlify.wiki/vercel/ai/reference/ai-sdk-core/generate-object.md): API reference for the generateObject function - [generateText](https://mintlify.wiki/vercel/ai/reference/ai-sdk-core/generate-text.md): API reference for the generateText function - [streamObject](https://mintlify.wiki/vercel/ai/reference/ai-sdk-core/stream-object.md): API reference for the streamObject function - [streamText](https://mintlify.wiki/vercel/ai/reference/ai-sdk-core/stream-text.md): API reference for the streamText function - [createStreamableUI](https://mintlify.wiki/vercel/ai/reference/ai-sdk-rsc/create-stream-ui.md): API reference for the createStreamableUI function - [streamUI](https://mintlify.wiki/vercel/ai/reference/ai-sdk-rsc/stream-ui.md): API reference for the streamUI function - [useChat](https://mintlify.wiki/vercel/ai/reference/ai-sdk-ui/use-chat.md): API reference for the useChat hook - [useCompletion](https://mintlify.wiki/vercel/ai/reference/ai-sdk-ui/use-completion.md): API reference for the useCompletion hook - [useObject (experimental)](https://mintlify.wiki/vercel/ai/reference/ai-sdk-ui/use-object.md): API reference for the experimental_useObject hook - [jsonSchema](https://mintlify.wiki/vercel/ai/reference/utilities/json-schema.md): API reference for the jsonSchema function - [tool](https://mintlify.wiki/vercel/ai/reference/utilities/tool.md): API reference for the tool function - [zodSchema](https://mintlify.wiki/vercel/ai/reference/utilities/zod-schema.md): API reference for the zodSchema function - [Common Issues](https://mintlify.wiki/vercel/ai/troubleshooting/common-issues.md): Solutions to frequently encountered problems when using the AI SDK - [Debugging](https://mintlify.wiki/vercel/ai/troubleshooting/debugging.md): Tools and techniques for debugging AI SDK applications