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.