Vercel xAI IntegrationNative Integration
Learn how to add the xAI native integration with Vercel.xAI provides language, chat and vision AI capabilities with integrated billing through Vercel.
You can use the Vercel and xAI integration to:
- Perform text generation, translation and question answering in your Vercel projects.
- Use the language with vision model for advanced language understanding and visual processing.
xAI provides language and language with vision AI models.
Grok-2
Type: Chat
Grok-2 is a large language model that can be used for a variety of tasks, including text generation, translation, and question answering.
Grok-2 Vision
Type: Image
Grok-2 Vision is a multimodal AI model that combines advanced language understanding with powerful visual processing capabilities.
Grok 2 Image
Type: Image
A text-to-image model that can generate high-quality images across several domains where other image generation models often struggle. It can render precise visual details of real-world entities, text, logos, and can create realistic portraits of humans.
The Vercel xAI integration can be accessed through the AI tab on your Vercel dashboard.
To follow this guide, you'll need the following:
- An existing Vercel project
- The latest version of Vercel CLI
pnpm i -g vercel@latest
- Navigate to the AI tab in your Vercel dashboard
- Select xAI from the list of providers, and press Add
- Review the provider information, and press Add Provider
- You can now select which projects the provider will have access to. You can choose from All Projects or Specific Projects
- If you select Specific Projects, you'll be prompted to select the projects you want to connect to the provider. The list will display projects associated with your scoped team
- Multiple projects can be selected during this step
- Select the Connect to Project button
- You'll be redirected to the provider's website to complete the connection process
- Once the connection is complete, you'll be redirected back to the Vercel dashboard, and the provider integration dashboard page. From here you can manage your provider settings, view usage, and more
- Pull the environment variables into your project using Vercel CLI
terminal
vercel env pull
- Install the providers package
pnpm i @ai-sdk/xai ai
- Connect your project using the code below:
app/api/chat/route.ts// app/api/chat/route.tsimport { xai } from '@ai-sdk/xai';import { streamText } from 'ai';// Allow streaming responses up to 30 secondsexport const maxDuration = 30;export async function POST(req: Request) {// Extract the `messages` from the body of the requestconst { messages } = await req.json();// Call the language modelconst result = streamText({model: xai('grok-2-1212'),messages,});// Respond with the streamreturn result.toDataStreamResponse();}
- Add the provider to your page using the code below:
app/chat/page.tsx// app/chat/page.tsx'use client';import { useChat } from '@ai-sdk/react';export default function Chat() {const { messages, input, handleInputChange, handleSubmit } = useChat();return (<div>{messages.map((m) => (<div key={m.id}>{m.role === 'user' ? 'User: ' : 'AI: '}{m.content}</div>))}<form onSubmit={handleSubmit}><inputvalue={input}placeholder="Say something..."onChange={handleInputChange}/></form></div>);}If you're using
useChat
, install the@ai-sdk/react
package:pnpm i @ai-sdk/react
- Add the provider to your project using the Vercel CLI
install
commandDuring this process, you will be asked to open the dashboard to accept the marketplace terms if you have not installed this integration before. You can also choose which project(s) the provider will have access to.terminalvercel install xai - Install the providers package
pnpm i @ai-sdk/xai ai
- Connect your project using the code below:
app/api/chat/route.ts// app/api/chat/route.tsimport { xai } from '@ai-sdk/xai';import { streamText } from 'ai';// Allow streaming responses up to 30 secondsexport const maxDuration = 30;export async function POST(req: Request) {// Extract the `messages` from the body of the requestconst { messages } = await req.json();// Call the language modelconst result = streamText({model: xai('grok-2-1212'),messages,});// Respond with the streamreturn result.toDataStreamResponse();}
- Add the provider to your page using the code below:
// app/chat/page.tsx
'use client';
import { useChat } from '@ai-sdk/react';
export default function Chat() { const { messages, input, handleInputChange, handleSubmit } = useChat();
return ( <div> {messages.map((m) => ( <div key={m.id}> {m.role === 'user' ? 'User: ' : 'AI: '} {m.content} </div> ))}
<form onSubmit={handleSubmit}> <input value={input} placeholder="Say something..." onChange={handleInputChange} /> </form> </div> );}
useChat
, install the @ai-sdk/react
package:pnpm i @ai-sdk/react
Was this helpful?