Build an AI Agent in a Next.js app using Web AI Framework

Maham Codes - Oct 16 - - Dev Community

AI agents have taken the internet by storm. It is an autonomous software that uses LLMs to handle more than just text generation—it interacts with digital environments, makes decisions, and performs tasks based on its language understanding.

AI agents enhance LLMs by adding new capabilities while leaning on them for reasoning and decision-making.

In this guide, let’s create an AI agent in a Next.js app using the first web AI framework called BaseAI.

Prerequisites

1- Install Next.js

First, you need to install Next.js in your project directory.

npx create-next-app@latest nextjs-baseai-app
Enter fullscreen mode Exit fullscreen mode

Also setup tailwind in your Next.js app.

2- Install BaseAI

Next, you need to install BaseAI in your project directory.

npx baseai@latest init
Enter fullscreen mode Exit fullscreen mode

3- Create a Summary AI Agent Pipe

Create a new pipe using the pipe command. Use summary as the pipe name and for system prompt use You are a helpful AI assistant. Make everything Less wordy..

npx baseai@latest pipe
Enter fullscreen mode Exit fullscreen mode

It creates a pipe at baseai/pipes/summary.ts in your current directory.

4- Set Environment Variables

Use following command to create a .env file in your project directory.

cp .env.baseai.example .env
Enter fullscreen mode Exit fullscreen mode

Set the OPENAI_API_KEY in the.env file.

5- Add API Route Handler

Create a new API route handler app/api/langbase/pipes/run/route.ts to use the pipe.

import {Pipe} from '@baseai/core';
import {NextRequest} from 'next/server';
import pipeSummary from '../../../../../baseai/pipes/summary';

export async function POST(req: NextRequest) {
    const runOptions = await req.json();

    // 1. Initiate the Pipe.
    const pipe = new Pipe(pipeSummary());

    // 2. Run the pipe
    const result = await pipe.run(runOptions);

    // 3. Return the response stringified.
    return new Response(JSON.stringify(result));
}
Enter fullscreen mode Exit fullscreen mode

6- Add React Component

Add following to your Next.js app to run the pipe.

  • Pipe run page at app/pipe-run/page.tsx
  • Pipe run component at components/pipe-run.tsx — This component will run the pipe
  • UI Button component at components/ui/button.tsx
  • UI Input component at components/ui/input.tsx

Install the required dependencies.

npm install @radix-ui/react-slot class-variance-authority clsx tailwind-merge
Enter fullscreen mode Exit fullscreen mode

Here’s the code:

import PipeRunExample from '@/components/pipe-run';

export default function Page() {
    return (
        <div className="w-full max-w-md">

            <h1 className="text-2xl font-light text-gray-800 mb-1 text-center">
                ⌘ Langbase AI Agent Pipe: Run
            </h1>

            <p className="text-muted-foreground text-base font-light mb-20 text-center">
                Run a pipe to generate a text completion
            </p>

            <PipeRunExample />
        </div>
    );
}

Enter fullscreen mode Exit fullscreen mode

Refer to Next.js with BaseAI codebase for more details.

7- Add Environment Variables

To be able to run and later deploy your Next.js app, you need to add your Langbase and LLM provider keys. Add the following environment variables to your .env file at the root of your app.

# !! SERVER SIDE ONLY !!
# Keep all your API keys secret — use only on the server side.

# TODO: ADD: Both in your production and local env files.
# Langbase API key for your User or Org account.
# How to get this API key https://langbase.com/docs/api-reference/api-keys
LANGBASE_API_KEY=

# TODO: ADD: LOCAL ONLY. Add only to local env files.
# Following keys are needed for local pipe runs. Add the providers you are using.
# For Langbase, please add the keys in your LLM keysets on Langbase Studio.
# Read more: Langbase LLM Keysets https://langbase.com/docs/features/keysets
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
COHERE_API_KEY=
FIREWORKS_API_KEY=
GOOGLE_API_KEY=
GROQ_API_KEY=
MISTRAL_API_KEY=
PERPLEXITY_API_KEY=
TOGETHER_API_KEY=
Enter fullscreen mode Exit fullscreen mode

LANGBASE_API_KEY is the user or org API key that you authenticated with. You can obtain your User/Org API Key from the Langbase dashboard.

8- Run the Next.js BaseAI App

Run BaseAI dev server and start the Next.js app.

# Terminal 1
npx baseai@latest dev # Start BaseAI dev server

# Terminal 2
npm run dev # Start Next.js app
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:3000/pipe-run to see the pipe run page.

Write a prompt message and click on the Ask AI button to generate the completion. The AI response will be displayed below the button. This all happens locally on your machine.

9- Deploy BaseAI Project on Langbase

To deploy the project on Langbase, you need to authenticate with your Langbase account.

npx baseai@latest auth
Enter fullscreen mode Exit fullscreen mode

After authentication, you can deploy the project using the following command. When you deploy, you need to add keys for providers like OpenAI, Google, etc., in Langbase Keysets.

npx baseai@latest deploy
Enter fullscreen mode Exit fullscreen mode

This will deploy your project on Langbase and you can access it as a serverless highly scalable API. Check the BaseAI deploy documentation for more details.

Resources

  • Complete guide here.
. . . . .