Ahora se obtienen los modelos desde los secretos/variables de entorno. Adicionalmente se mejoraron prompts del sistema para genración de plan o de asignatura #28
@@ -118,6 +118,10 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
SERVICE_ROLE_KEY,
|
||||
);
|
||||
|
||||
// Model name controlled via env var (single use)
|
||||
const AI_GENERATE_PLAN_MODELO = Deno.env.get("AI_GENERATE_PLAN_MODELO") ??
|
||||
"gpt-5-nano";
|
||||
|
||||
const formData = await req.formData();
|
||||
const validation = parseAndValidate(formData);
|
||||
if (!validation.success) {
|
||||
@@ -185,7 +189,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
: {};
|
||||
|
||||
const aiStructuredPayload: StructuredResponseOptions = {
|
||||
model: "gpt-5-nano",
|
||||
model: AI_GENERATE_PLAN_MODELO,
|
||||
input: [
|
||||
{ role: "system", content: systemPrompt },
|
||||
{ role: "user", content: userPrompt },
|
||||
|
||||
@@ -170,6 +170,14 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
SERVICE_ROLE_KEY,
|
||||
);
|
||||
|
||||
// Model names (override via environment variables)
|
||||
const AI_GENERATE_SUBJECT_UPDATE_MODELO = Deno.env.get(
|
||||
"AI_GENERATE_SUBJECT_UPDATE_MODELO",
|
||||
) ?? "gpt-5-nano";
|
||||
const AI_GENERATE_SUBJECT_INSERT_MODELO = Deno.env.get(
|
||||
"AI_GENERATE_SUBJECT_INSERT_MODELO",
|
||||
) ?? "gpt-5-nano";
|
||||
|
||||
// -----------------------------
|
||||
// JSON update flow
|
||||
// -----------------------------
|
||||
@@ -307,7 +315,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
: {};
|
||||
|
||||
const aiStructuredPayload: StructuredResponseOptions = {
|
||||
model: "gpt-5-nano",
|
||||
model: AI_GENERATE_SUBJECT_UPDATE_MODELO,
|
||||
input: [
|
||||
{ role: "system", content: systemPrompt },
|
||||
{ role: "user", content: userPrompt },
|
||||
@@ -540,7 +548,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
: {};
|
||||
|
||||
const aiStructuredPayload: StructuredResponseOptions = {
|
||||
model: "gpt-5-nano",
|
||||
model: AI_GENERATE_SUBJECT_INSERT_MODELO,
|
||||
input: [
|
||||
{ role: "system", content: systemPrompt },
|
||||
{ role: "user", content: userPrompt },
|
||||
|
||||
@@ -29,6 +29,13 @@ app.options(
|
||||
);
|
||||
|
||||
const prefix = "/create-chat-conversation";
|
||||
// Model names (module-level) — pueden ser sobrescritos por variables de entorno
|
||||
const CREATE_CHAT_CONVERSATION_NONSTRUCTURED_MODELO = Deno.env.get(
|
||||
"CREATE_CHAT_CONVERSATION_NONSTRUCTURED_MODELO",
|
||||
) ?? "gpt-5-nano";
|
||||
const CREATE_CHAT_CONVERSATION_STRUCTURED_MODELO = Deno.env.get(
|
||||
"CREATE_CHAT_CONVERSATION_STRUCTURED_MODELO",
|
||||
) ?? "gpt-5-nano";
|
||||
|
||||
app.get(`${prefix}/health`, (c) => withCors(jsonResponse({ ok: true })));
|
||||
|
||||
@@ -241,7 +248,7 @@ app.post(`${prefix}/conversations/:id/messages`, async (c) => {
|
||||
if (!wantsStructured) {
|
||||
await openai.responses.create({
|
||||
conversation: row.openai_conversation_id,
|
||||
model: "gpt-5-nano",
|
||||
model: CREATE_CHAT_CONVERSATION_NONSTRUCTURED_MODELO,
|
||||
input: [
|
||||
{
|
||||
role: "system",
|
||||
@@ -284,7 +291,7 @@ app.post(`${prefix}/conversations/:id/messages`, async (c) => {
|
||||
const schema = pickSchemaFields(definicion, body.campos);
|
||||
const planForPrompt = safePlanForPrompt(plan);
|
||||
|
||||
const model = "gpt-5-nano";
|
||||
const model = CREATE_CHAT_CONVERSATION_STRUCTURED_MODELO;
|
||||
const prompt = body.user_prompt ?? body.content;
|
||||
|
||||
const resp = await openai.responses.create({
|
||||
|
||||
@@ -160,6 +160,11 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
SERVICE_ROLE_KEY,
|
||||
);
|
||||
|
||||
// Model name controlled via env var
|
||||
const GENERATE_SUBJECT_SUGGESTIONS_MODELO = Deno.env.get(
|
||||
"GENERATE_SUBJECT_SUGGESTIONS_MODELO",
|
||||
) ?? "gpt-5-mini";
|
||||
|
||||
const { data: plan, error: planError } = await supabaseService
|
||||
.from("planes_estudio")
|
||||
.select("id,nombre,nivel,tipo_ciclo,numero_ciclos,datos")
|
||||
@@ -276,7 +281,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
}
|
||||
|
||||
const options: StructuredResponseOptions = {
|
||||
model: "gpt-5-mini",
|
||||
model: GENERATE_SUBJECT_SUGGESTIONS_MODELO,
|
||||
input: [
|
||||
{ role: "system", content: systemPrompt },
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user