August 11, 2023

Next.js template for running language models with Replicate

Next.js template for running language models with Replicate

This is a Next.js template project that's preconfigured for interacting with a language model like FLAN-T5 with Replicate's API.

You can use this as a quick jumping-off point to build a web app using Replicate's API, or you can recreate this codebase from scratch by following the guide at replicate.com/docs/get-started/nextjs

Screenshot 2023-03-13 at 7 00 18 PM

Noteworthy files

Usage

Install dependencies:

npm install

Add your Replicate API token to .env.local:

REPLICATE_API_TOKEN=

Run the development server:

npm run dev

Open http://localhost:3000 with your browser.

Changing the model

This example app is configured to use the FLAN-T5 model by default, but you can change it to use any other Replicate model that has a similar input and output format.

To change the model, update the modelVersion constant in pages/api/predictions/index.js to the version ID of the Replicate model you want to run.

Editing the homepage

The homepage is a React component in pages/index.js. You can edit it to change the look and feel of the app.

Deploy to Vercel

For detailed instructions on how to create and use this template, see replicate.com/docs/get-started/nextjs

There are many ways to deploy apps to Vercel, but for the sake of brevity, we'll use the vercel CLI here. Start by installing the CLI and running it:

npx vercel

The command above installs the CLI, then walks you through the process of logging in to Vercel, creating the app, and deploying it. Once you've deployed your app, you need to add your Replicate API token to the remote app's environment variables. This allows your app to make requests to the Replicate API.

vercel env add REPLICATE_API_TOKEN

The command above prompts you to enter a value for your token. Paste your token fron replicate.com/account. You then need to deploy again:

npx vercel deploy --prod