documind
Version:
Intelligent document processing and extraction.
24 lines (19 loc) • 693 B
JavaScript
import OpenAI from "openai";
import { zodResponseFormat } from "openai/helpers/zod";
export const openAIExtractor = async ({ markdown, zodSchema, prompt, model }) => {
if (!process.env.OPENAI_API_KEY) {
throw new Error("Missing OPENAI_API_KEY");
}
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const openAiModel = model;
const completion = await openai.beta.chat.completions.parse({
model: openAiModel,
messages: [
{ role: "system", content: prompt },
{ role: "user", content: markdown },
],
response_format: zodResponseFormat(zodSchema, "event"),
});
const event = completion.choices[0].message.parsed;
return event;
}