Skip to content

Express

Minimal route

import express from 'express'
import OpenAI from 'openai'
import { RunForge } from '../../sdk-ts/index'

const app = express()
app.use(express.json())
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY! })
const rf = new RunForge({ apiKey: process.env.RUNFORGE_API_KEY!, endpoint: process.env.RUNFORGE_ENDPOINT, projectId: process.env.RUNFORGE_PROJECT_ID })

app.post('/chat', async (req, res) => {
  try {
    const out = await rf.track({ model: 'gpt-4o-mini' }, () =>
      openai.chat.completions.create({ model: 'gpt-4o-mini', messages: req.body.messages })
    )
    res.json({ ok: true, choices: out.choices })
  } catch (e) {
    res.status(500).json({ ok: false })
  }
})

app.listen(3001)

Notes: keep keys server‑side; do not send prompts/outputs to RunForge.