Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -10,17 +10,19 @@ import base64
|
|
10 |
# Load environment variables
|
11 |
load_dotenv()
|
12 |
|
|
|
|
|
13 |
# Configure the Llama index settings
|
14 |
Settings.llm = HuggingFaceInferenceAPI(
|
15 |
-
model_name="
|
16 |
-
tokenizer_name="
|
17 |
-
context_window=
|
18 |
-
token=os.getenv("HF_TOKEN"),
|
19 |
-
max_new_tokens=512,
|
20 |
generate_kwargs={"temperature": 0.1},
|
21 |
)
|
22 |
Settings.embed_model = HuggingFaceEmbedding(
|
23 |
-
model_name="dccuchile/bert-base-spanish-wwm-cased"
|
24 |
)
|
25 |
|
26 |
# Define the directory for persistent storage and data
|
@@ -48,38 +50,11 @@ def handle_query(query, index):
|
|
48 |
chat_text_qa_msgs = [
|
49 |
(
|
50 |
"user",
|
51 |
-
"""
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
2. Carreras ofrecidas
|
57 |
-
3. Planes de estudio y m谩s informaci贸n
|
58 |
-
4. Proceso de inscripci贸n
|
59 |
-
5. Costo de la carrera
|
60 |
-
6. Duraci贸n de las carreras
|
61 |
-
7. Sedes activas para Inform谩tica Educativa
|
62 |
-
8. Sedes de otras carreras
|
63 |
-
9. Modalidad de clases
|
64 |
-
10. Contenido y asistencia
|
65 |
-
11. Equivalencias
|
66 |
-
12. Horarios de clases
|
67 |
-
13. Requisitos de aprobaci贸n
|
68 |
-
14. Informaci贸n de contacto
|
69 |
-
15. Costos detallados
|
70 |
-
16. Proceso de entrega de PIN
|
71 |
-
17. Examen de admisi贸n
|
72 |
-
18. Acceso a DFP
|
73 |
-
19. Fechas de matr铆cula en Santa B谩rbara (Tercer Per铆odo 2024)
|
74 |
-
20. Encuentros o visitas en Santa B谩rbara (Tercer Per铆odo 2024)
|
75 |
-
21. Fechas de admisi贸n
|
76 |
-
|
77 |
-
Al responder, debes identificar la secci贸n o secciones relevantes, proporcionar informaci贸n precisa basada en los datos de esas secciones, y organizar tu respuesta de manera l贸gica y coherente si la pregunta abarca m煤ltiples secciones.
|
78 |
-
|
79 |
-
Contexto:
|
80 |
-
{context_str}
|
81 |
-
Pregunta:
|
82 |
-
{query_str}
|
83 |
"""
|
84 |
)
|
85 |
]
|
@@ -98,7 +73,6 @@ def handle_query(query, index):
|
|
98 |
|
99 |
# Palabras y frases a evitar en las respuestas
|
100 |
palabras_prohibidas = [
|
101 |
-
"p谩gina", "p谩rrafo", "secci贸n", "punto", "puntos",
|
102 |
"en el contexto proporcionado no hay informaci贸n",
|
103 |
"the provided text does not contain",
|
104 |
"en el contexto proporcionado, no hay informaci贸n"
|
@@ -109,9 +83,12 @@ def handle_query(query, index):
|
|
109 |
return "No encontr茅 informaci贸n espec铆fica sobre eso en mis datos. 驴Podr铆as hacer tu pregunta de otra forma o preguntar sobre otro tema relacionado con la UPNFM y sus programas DFP?"
|
110 |
|
111 |
return response
|
|
|
|
|
|
|
112 |
# Initialize session state
|
113 |
if 'messages' not in st.session_state:
|
114 |
-
st.session_state.messages = [{'role': 'assistant', "content": '隆Hola
|
115 |
|
116 |
# Streamlit app initialization
|
117 |
st.title("Chatbot de dudas DFP")
|
|
|
10 |
# Load environment variables
|
11 |
load_dotenv()
|
12 |
|
13 |
+
#meta-llama/Meta-Llama-3.1-70B-Instruct, mistralai/Mistral-7B-Instruct-v0.3
|
14 |
+
|
15 |
# Configure the Llama index settings
|
16 |
Settings.llm = HuggingFaceInferenceAPI(
|
17 |
+
model_name="mistralai/Mistral-7B-Instruct-v0.3",
|
18 |
+
tokenizer_name="mistralai/Mistral-7B-Instruct-v0.3",
|
19 |
+
context_window=4000, # Ventana de contexto del modelo
|
20 |
+
token=os.getenv("HF_TOKEN"), # Tu token de Hugging Face
|
21 |
+
max_new_tokens=512, # Puedes ajustarlo seg煤n tu necesidad
|
22 |
generate_kwargs={"temperature": 0.1},
|
23 |
)
|
24 |
Settings.embed_model = HuggingFaceEmbedding(
|
25 |
+
model_name="dccuchile/bert-base-spanish-wwm-cased" # Modelo en espa帽ol de Hugging Face
|
26 |
)
|
27 |
|
28 |
# Define the directory for persistent storage and data
|
|
|
50 |
chat_text_qa_msgs = [
|
51 |
(
|
52 |
"user",
|
53 |
+
"""Responde en espa帽ol, m谩ximo 512 tokens. Simplifica y resume para ser directo. Eres Lobito, asistente de la UPNFM. Da respuestas precisas basadas en el contexto dado sobre la UPNFM y la DFP. Si la pregunta no coincide, sugiere reformularla. Identifica secciones relevantes del contexto y organiza respuestas l贸gicamente si abarca varias secciones.
|
54 |
+
Contexto:
|
55 |
+
{context_str}
|
56 |
+
Pregunta:
|
57 |
+
{query_str}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
"""
|
59 |
)
|
60 |
]
|
|
|
73 |
|
74 |
# Palabras y frases a evitar en las respuestas
|
75 |
palabras_prohibidas = [
|
|
|
76 |
"en el contexto proporcionado no hay informaci贸n",
|
77 |
"the provided text does not contain",
|
78 |
"en el contexto proporcionado, no hay informaci贸n"
|
|
|
83 |
return "No encontr茅 informaci贸n espec铆fica sobre eso en mis datos. 驴Podr铆as hacer tu pregunta de otra forma o preguntar sobre otro tema relacionado con la UPNFM y sus programas DFP?"
|
84 |
|
85 |
return response
|
86 |
+
|
87 |
+
|
88 |
+
|
89 |
# Initialize session state
|
90 |
if 'messages' not in st.session_state:
|
91 |
+
st.session_state.messages = [{'role': 'assistant', "content": '隆Hola!, me llamo Lobito. Soy tu asesor personalizado.'}]
|
92 |
|
93 |
# Streamlit app initialization
|
94 |
st.title("Chatbot de dudas DFP")
|