22 lines
883 B
JavaScript
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;
|
|
}
|