openai service and basic tables with migrations

This commit is contained in:
Lucas Tettamanti
2026-01-01 23:20:13 -03:00
parent 5c67b27859
commit 5e9cc8fe1a
9 changed files with 172 additions and 4 deletions

21
src/services/openai.js Normal file
View File

@@ -0,0 +1,21 @@
// 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;
}