Feat Contexto Fijo Espacio-Temporal
This commit is contained in:
@@ -9,7 +9,7 @@ using Microsoft.AspNetCore.RateLimiting;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text.Json;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
|
||||
// Clases de Request/Response
|
||||
public class GenerationConfig
|
||||
@@ -220,7 +220,7 @@ namespace ChatbotApi.Controllers
|
||||
_logger.LogInformation("Ejecutando intención: Noticias de Portada.");
|
||||
|
||||
// 1. Obtenemos la lista de artículos de la portada.
|
||||
var articles = await GetWebsiteNewsAsync(_siteUrl, 25);
|
||||
var articles = await GetWebsiteNewsAsync(_siteUrl, 50);
|
||||
|
||||
// 2. Usamos la IA para encontrar el mejor artículo.
|
||||
var bestMatch = await FindBestMatchingArticleAsync(userMessage, articles);
|
||||
@@ -271,6 +271,24 @@ namespace ChatbotApi.Controllers
|
||||
var promptBuilder = new StringBuilder();
|
||||
promptBuilder.AppendLine("INSTRUCCIONES:");
|
||||
promptBuilder.AppendLine("Eres DiaBot, el asistente virtual del periódico El Día. Tu personalidad es profesional, servicial y concisa. Responde siempre en español Rioplatense.");
|
||||
// CONTEXTO FIJO
|
||||
try
|
||||
{
|
||||
// Forzamos la zona horaria de Argentina para ser independientes de la configuración del servidor.
|
||||
var argentinaTimeZone = TimeZoneInfo.FindSystemTimeZoneById("America/Argentina/Buenos_Aires");
|
||||
var localTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, argentinaTimeZone);
|
||||
var formattedTime = localTime.ToString("dddd, dd/MM/yyyy HH:mm 'Hs.'", new CultureInfo("es-AR"));
|
||||
|
||||
promptBuilder.AppendLine("\n--- CONTEXTO FIJO ESPACIO-TEMPORAL (Tu Identidad) ---");
|
||||
promptBuilder.AppendLine($"Tu base de operaciones y el foco principal de tus noticias es La Plata, Provincia de Buenos Aires, Argentina.");
|
||||
promptBuilder.AppendLine($"La fecha y hora actual en La Plata es: {formattedTime}.");
|
||||
promptBuilder.AppendLine("Usa esta información para dar contexto a las noticias y responder preguntas sobre el día o la ubicación.");
|
||||
promptBuilder.AppendLine("--------------------------------------------------");
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
_logger.LogWarning(ex, "No se pudo determinar la zona horaria de Argentina. El contexto de tiempo será omitido.");
|
||||
}
|
||||
promptBuilder.AppendLine(promptInstructions);
|
||||
promptBuilder.AppendLine("NUNCA INVENTES información. Si la respuesta no está en el contexto, indica amablemente que no encontraste la información.");
|
||||
promptBuilder.AppendLine("\nCONTEXTO:\n---");
|
||||
|
||||
Reference in New Issue
Block a user