1

Install Baserun SDK

2

Generate an API key

Create an account at https://app.baserun.ai/sign-up. Then generate an API key for your project in the settings tab and set it as an environment variable.

export BASERUN_API_KEY="your_api_key_here"
3

Initialize baserun

You need to initialize Baserun in a body of every request handler where you want to use it.

your-project/instrumentation.ts
export const POST = async (req: any) => {
  await baserun.init()
  // your request handler code
}

Example

In this example, we’re using Vercel’s ai npm package to stream the result of an OpenAI chat completion to the client. Note, that Baserun doesn’t support export const runtime = "edge";, we we’re keeping this in an ordinary Lambda function deployed by Vercel.

./app/api/chat/route.ts
import OpenAI from 'openai'
import { OpenAIStream, StreamingTextResponse } from 'ai'
import { baserun } from 'baserun'

const openai = new OpenAI()

export const POST = async (req: any) => {
  await baserun.init()

  const stream = baserun.trace(async () => {
    const { messages } = await req.json()
    const response = await openai.chat.completions.create({
      model: "gpt-4",
      stream: true,
      messages,
    })
    return OpenAIStream(response)
  }, "chat route")

  return new StreamingTextResponse(await stream())
}

Full example

You can check out a full example on how to use Baserun with Next.js here.