in src/AIHub/Controllers/ContentSafetyController.cs [57:102]
public async Task<IActionResult> EvaluatePrompt()
{
if (string.IsNullOrEmpty(HttpContext.Request.Form["text"]))
{
ViewBag.Message = "You must enter a prompt to evaluate";
return View("JailbreakDetection", model);
}
model.Prompt = HttpContext.Request.Form["text"];
model.Approve = true;
try
{
var request = new HttpRequestMessage(HttpMethod.Post, endpoint + jailbreakEndpoint);
request.Headers.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
var content = new
{
text = model.Prompt
};
var json = System.Text.Json.JsonSerializer.Serialize(content);
// Crear un HttpContent con el JSON y el tipo de contenido
HttpContent content_body = new StringContent(json, Encoding.UTF8, "application/json");
request.Content = content_body;
var response = await httpClient.SendAsync(request);
//response.EnsureSuccessStatusCode();
String response_final = await response.Content.ReadAsStringAsync();
if (response_final.Contains("true"))
{
ViewBag.Message = "JAILBREAKING ATTEMPT ** DETECTED **";
}
else
{
ViewBag.Message = "JAILBREAKING ATTEMPT ** NOT DETECTED **";
}
}
catch (RequestFailedException ex)
{
_logger.LogError(ex, "An error occurred while evaluating the content." + ex.Message);
ViewBag.Message = "An error occurred while evaluating the content. Please try again later.";
return View("JailbreakDetection", model);
}
return View("JailbreakDetection", model);
}