Update app.py
Browse files
app.py
CHANGED
@@ -1,15 +1,23 @@
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
|
|
|
|
|
|
|
|
|
4 |
# Cargar el modelo GPT-2 en español
|
5 |
generator = pipeline('text-generation', model='PlanTL-GOB-ES/gpt2-large-bne')
|
6 |
|
7 |
-
# Función para manejar la respuesta del chatbot
|
8 |
def chatbot_response(input_text):
|
9 |
print(f"Entrada recibida: {input_text}") # Log para verificar la entrada
|
|
|
10 |
try:
|
11 |
-
#
|
12 |
-
|
|
|
|
|
|
|
13 |
|
14 |
# Generar respuesta con ajustes de parámetros para mejorar la coherencia
|
15 |
outputs = generator(prompt,
|
@@ -17,7 +25,7 @@ def chatbot_response(input_text):
|
|
17 |
num_return_sequences=1,
|
18 |
do_sample=True,
|
19 |
top_k=50, # Limitar a las 50 palabras más probables
|
20 |
-
top_p=0.95, # Muestreo
|
21 |
temperature=0.7) # Controlar la creatividad del modelo
|
22 |
|
23 |
response = outputs[0]['generated_text']
|
@@ -29,7 +37,7 @@ def chatbot_response(input_text):
|
|
29 |
return f"Error: {str(e)}"
|
30 |
|
31 |
# Crear la interfaz del chatbot con Gradio
|
32 |
-
iface = gr.Interface(fn=chatbot_response, inputs="text", outputs="text", title="Chatbot
|
33 |
|
34 |
# Ejecutar la aplicación
|
35 |
iface.launch()
|
|
|
1 |
import gradio as gr
|
2 |
from transformers import pipeline
|
3 |
|
4 |
+
# Definir contexto para lenguaje explícito o formal
|
5 |
+
contexto_explicito = "Esta es una conversación informal en la que es aceptable el uso de lenguaje explícito si el tema lo amerita."
|
6 |
+
contexto_formal = "Esta es una conversación formal y no se debe usar lenguaje explícito."
|
7 |
+
|
8 |
# Cargar el modelo GPT-2 en español
|
9 |
generator = pipeline('text-generation', model='PlanTL-GOB-ES/gpt2-large-bne')
|
10 |
|
11 |
+
# Función para manejar la respuesta del chatbot con control de contexto
|
12 |
def chatbot_response(input_text):
|
13 |
print(f"Entrada recibida: {input_text}") # Log para verificar la entrada
|
14 |
+
|
15 |
try:
|
16 |
+
# Verificar si el input tiene palabras o temas sensibles que permitirían lenguaje explícito
|
17 |
+
if any(palabra in input_text.lower() for palabra in ["sexo", "relaciones", "adultos"]):
|
18 |
+
prompt = f"{contexto_explicito} {input_text}"
|
19 |
+
else:
|
20 |
+
prompt = f"{contexto_formal} {input_text}"
|
21 |
|
22 |
# Generar respuesta con ajustes de parámetros para mejorar la coherencia
|
23 |
outputs = generator(prompt,
|
|
|
25 |
num_return_sequences=1,
|
26 |
do_sample=True,
|
27 |
top_k=50, # Limitar a las 50 palabras más probables
|
28 |
+
top_p=0.95, # Muestreo por núcleo
|
29 |
temperature=0.7) # Controlar la creatividad del modelo
|
30 |
|
31 |
response = outputs[0]['generated_text']
|
|
|
37 |
return f"Error: {str(e)}"
|
38 |
|
39 |
# Crear la interfaz del chatbot con Gradio
|
40 |
+
iface = gr.Interface(fn=chatbot_response, inputs="text", outputs="text", title="Chatbot Contextual")
|
41 |
|
42 |
# Ejecutar la aplicación
|
43 |
iface.launch()
|