Se usan modelos de openai a partir de variables de entorno
This commit is contained in:
@@ -118,6 +118,10 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
SERVICE_ROLE_KEY,
|
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 formData = await req.formData();
|
||||||
const validation = parseAndValidate(formData);
|
const validation = parseAndValidate(formData);
|
||||||
if (!validation.success) {
|
if (!validation.success) {
|
||||||
@@ -185,7 +189,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
: {};
|
: {};
|
||||||
|
|
||||||
const aiStructuredPayload: StructuredResponseOptions = {
|
const aiStructuredPayload: StructuredResponseOptions = {
|
||||||
model: "gpt-5-nano",
|
model: AI_GENERATE_PLAN_MODELO,
|
||||||
input: [
|
input: [
|
||||||
{ role: "system", content: systemPrompt },
|
{ role: "system", content: systemPrompt },
|
||||||
{ role: "user", content: userPrompt },
|
{ role: "user", content: userPrompt },
|
||||||
|
|||||||
@@ -170,6 +170,14 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
SERVICE_ROLE_KEY,
|
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
|
// JSON update flow
|
||||||
// -----------------------------
|
// -----------------------------
|
||||||
@@ -307,7 +315,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
: {};
|
: {};
|
||||||
|
|
||||||
const aiStructuredPayload: StructuredResponseOptions = {
|
const aiStructuredPayload: StructuredResponseOptions = {
|
||||||
model: "gpt-5-nano",
|
model: AI_GENERATE_SUBJECT_UPDATE_MODELO,
|
||||||
input: [
|
input: [
|
||||||
{ role: "system", content: systemPrompt },
|
{ role: "system", content: systemPrompt },
|
||||||
{ role: "user", content: userPrompt },
|
{ role: "user", content: userPrompt },
|
||||||
@@ -540,7 +548,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
: {};
|
: {};
|
||||||
|
|
||||||
const aiStructuredPayload: StructuredResponseOptions = {
|
const aiStructuredPayload: StructuredResponseOptions = {
|
||||||
model: "gpt-5-nano",
|
model: AI_GENERATE_SUBJECT_INSERT_MODELO,
|
||||||
input: [
|
input: [
|
||||||
{ role: "system", content: systemPrompt },
|
{ role: "system", content: systemPrompt },
|
||||||
{ role: "user", content: userPrompt },
|
{ role: "user", content: userPrompt },
|
||||||
|
|||||||
@@ -29,6 +29,13 @@ app.options(
|
|||||||
);
|
);
|
||||||
|
|
||||||
const prefix = "/create-chat-conversation";
|
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 })));
|
app.get(`${prefix}/health`, (c) => withCors(jsonResponse({ ok: true })));
|
||||||
|
|
||||||
@@ -241,7 +248,7 @@ app.post(`${prefix}/conversations/:id/messages`, async (c) => {
|
|||||||
if (!wantsStructured) {
|
if (!wantsStructured) {
|
||||||
await openai.responses.create({
|
await openai.responses.create({
|
||||||
conversation: row.openai_conversation_id,
|
conversation: row.openai_conversation_id,
|
||||||
model: "gpt-5-nano",
|
model: CREATE_CHAT_CONVERSATION_NONSTRUCTURED_MODELO,
|
||||||
input: [
|
input: [
|
||||||
{
|
{
|
||||||
role: "system",
|
role: "system",
|
||||||
@@ -284,7 +291,7 @@ app.post(`${prefix}/conversations/:id/messages`, async (c) => {
|
|||||||
const schema = pickSchemaFields(definicion, body.campos);
|
const schema = pickSchemaFields(definicion, body.campos);
|
||||||
const planForPrompt = safePlanForPrompt(plan);
|
const planForPrompt = safePlanForPrompt(plan);
|
||||||
|
|
||||||
const model = "gpt-5-nano";
|
const model = CREATE_CHAT_CONVERSATION_STRUCTURED_MODELO;
|
||||||
const prompt = body.user_prompt ?? body.content;
|
const prompt = body.user_prompt ?? body.content;
|
||||||
|
|
||||||
const resp = await openai.responses.create({
|
const resp = await openai.responses.create({
|
||||||
|
|||||||
@@ -160,6 +160,11 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
SERVICE_ROLE_KEY,
|
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
|
const { data: plan, error: planError } = await supabaseService
|
||||||
.from("planes_estudio")
|
.from("planes_estudio")
|
||||||
.select("id,nombre,nivel,tipo_ciclo,numero_ciclos,datos")
|
.select("id,nombre,nivel,tipo_ciclo,numero_ciclos,datos")
|
||||||
@@ -276,7 +281,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const options: StructuredResponseOptions = {
|
const options: StructuredResponseOptions = {
|
||||||
model: "gpt-5-mini",
|
model: GENERATE_SUBJECT_SUGGESTIONS_MODELO,
|
||||||
input: [
|
input: [
|
||||||
{ role: "system", content: systemPrompt },
|
{ role: "system", content: systemPrompt },
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user