Pikeras commited on
Commit
f4e5195
verified
1 Parent(s): 58d6623

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +18 -6
src/streamlit_app.py CHANGED
@@ -100,14 +100,25 @@ def invocar_modelo_transformers(model_id: str, prompt: str, instruccion_sistema:
100
  {"role": "user", "content": prompt},
101
  ]
102
 
 
103
  if hasattr(tokenizer, "apply_chat_template"):
104
- inputs = tokenizer.apply_chat_template(
105
- mensajes,
106
- return_tensors="pt",
107
- add_generation_prompt=True,
 
 
 
 
 
 
 
 
 
 
 
108
  )
109
- else:
110
- inputs = tokenizer(prompt, return_tensors="pt")["input_ids"]
111
 
112
  device = model.device
113
  inputs = inputs.to(device)
@@ -148,6 +159,7 @@ modo = st.radio(
148
  format_func=lambda x: "Evaluaci贸n por defecto" if x == ModoEvaluacion.POR_DEFECTO.value else "Evaluaci贸n personalizada",
149
  )
150
 
 
151
  timeout_segundos = st.slider("Timeout por llamada (segundos)", min_value=10, max_value=300, value=120)
152
 
153
  if modo == ModoEvaluacion.PERSONALIZADA.value:
 
100
  {"role": "user", "content": prompt},
101
  ]
102
 
103
+ inputs = None
104
  if hasattr(tokenizer, "apply_chat_template"):
105
+ try:
106
+ inputs = tokenizer.apply_chat_template(
107
+ mensajes,
108
+ return_tensors="pt",
109
+ add_generation_prompt=True,
110
+ )
111
+ except Exception:
112
+ # Fallback para tokenizers sin chat_template definido (ej. modelos base/instruct antiguos).
113
+ inputs = None
114
+
115
+ if inputs is None:
116
+ prompt_plano = (
117
+ f"Sistema: {contenido_sistema}\n\n"
118
+ f"Usuario: {prompt}\n\n"
119
+ "Respuesta:"
120
  )
121
+ inputs = tokenizer(prompt_plano, return_tensors="pt")["input_ids"]
 
122
 
123
  device = model.device
124
  inputs = inputs.to(device)
 
159
  format_func=lambda x: "Evaluaci贸n por defecto" if x == ModoEvaluacion.POR_DEFECTO.value else "Evaluaci贸n personalizada",
160
  )
161
 
162
+ # Unico parametro editable en UI para ambos modos.
163
  timeout_segundos = st.slider("Timeout por llamada (segundos)", min_value=10, max_value=300, value=120)
164
 
165
  if modo == ModoEvaluacion.PERSONALIZADA.value: