Files
botino/src/services/openai.js
2026-01-01 23:20:13 -03:00

22 lines
883 B
JavaScript

// src/services/openai.js (o directo en main.js por ahora)
import OpenAI from "openai";
export const openai = new OpenAI({ apiKey: process.env.OPENAI_APIKEY });
// promptSystem = tu prompt (no lo tocamos mucho)
// input = { last_user_message, conversation_history, current_conversation_state, ... }
export async function llmPlan({ promptSystem, input }) {
const resp = await openai.responses.create({
model: "gpt-5-mini", // o gpt-5 (más caro/mejor) / el que estés usando
input: [
{ role: "system", content: promptSystem },
{ role: "user", content: JSON.stringify(input) }
],
// Si estás usando "Structured Outputs" nativo, acá va tu schema.
// En caso de que tu SDK no lo soporte directo, lo hacemos con zod/JSON parse robusto.
});
const text = resp.output_text; // ojo: depende del SDK/model; es el agregado de outputs
return text;
}