Comprobar la respuesta de un chatbot
Comprobar la respuesta de un chatbot es averiguar si es verdad antes de usarla. Un chatbot puede inventarse un dato, una fecha o un libro que no existe.
Si copias un dato inventado en tu trabajo, el error pasa a ser tuyo. Una comprobación rápida lo evita.
Al terminar esta lección
Nota
Puedo comprobar la respuesta de un chatbot con una segunda fuente.
Palabras clave
| Palabra | Qué significa |
|---|---|
| Hecho | algo verdadero que se puede comprobar |
| Fuente | el lugar de donde sale una información |
| Segunda fuente | otro lugar donde compruebas el mismo dato |
| Inventado | creado de la nada, no verdadero |
| Desfasado | fue verdad, pero ya no lo es |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un chatbot puede inventarse cosas
Un chatbot está hecho para escribir palabras probables, así que casi nunca se para a decir «no lo sé». Si le preguntas por algo que nunca ha visto, puede inventarse una respuesta.
Los dos botones de abajo preguntan por Villabruma del Cerro, un pueblo inventado para esta lección. Cualquier año o libro que nombre tiene que ser inventado.
Pregunta al chatbot del laboratorio
Nota
Pulsa Iniciar el laboratorio y luego los dos botones Ejecutar. Si tu centro no tiene la IA activada, cada uno imprime un ejemplo grabado, bien marcado. Trata ese ejemplo como una afirmación que hay que comprobar.
Pregunta por un pueblo que no existe
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const post=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());post('¿En qué año abrió su primera biblioteca el pueblo de Villabruma del Cerro? Responde con una frase corta.',40,0.7).then(j=>console.log('Chatbot: '+j.choices[0].message.content)).catch(e=>console.log('Ejemplo grabado, ningún chatbot respondió: Villabruma del Cerro abrió su primera biblioteca en 1892.'))"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Pide un libro sobre el pueblo
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const post=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());post('Nombra un libro sobre la historia del pueblo de Villabruma del Cerro, con su autor. Responde con una frase corta.',40,0.7).then(j=>console.log('Chatbot: '+j.choices[0].message.content)).catch(e=>console.log('Ejemplo grabado, ningún chatbot respondió: Un buen libro es Las nieblas de Villabruma, de Remedios Albarca.'))"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Comprueba con una segunda fuente
Una segunda fuente es otro lugar que debería conocer el mismo dato. Elige uno que suela acertar: un libro de texto, tus apuntes, la web del centro o un horario.
Si los dos coinciden, puedes usar el dato. Si no coinciden, fíate de la mejor fuente y no del chatbot.
Ejemplo resuelto: tres afirmaciones comprobadas
| El chatbot dijo | Segunda fuente | Lo que decía | Resultado |
|---|---|---|---|
| La biblioteca del centro abre a las 8:00 | La web del centro | Abre a las 8:30 | No coincide |
| El agua hierve a 100 grados al nivel del mar | Un libro de ciencias | 100 grados al nivel del mar | Coincide |
| El autobús 42 pasa cada 10 minutos | El horario del autobús | Cada 20 minutos | No coincide |
| Tu amigo Dani tiene 17 años | Ningún sitio donde comprobarlo | Nada | No se puede comprobar |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Las fechas y los números necesitan más cuidado
Un chatbot aprendió de textos escritos hasta cierta fecha. Puede que no sepa nada más nuevo, así que un precio o una norma pueden estar desfasados.
También puede fallar en las cuentas, porque escribe los números como palabras probables. Comprueba una fecha en una página con la fecha de hoy. Haz tú las cuentas.
Comprueba las cuentas de un chatbot
# Imagina que un chatbot dio estas respuestas. Cada una es [primero, signo, segundo, su respuesta].
claims = [
[12, "x", 15, 180],
[48, "+", 27, 85],
[9, "x", 9, 81],
]
for claim in claims:
if claim[1] == "x":
right = claim[0] * claim[2]
else:
right = claim[0] + claim[2]
if right == claim[3]:
print(claim[0], claim[1], claim[2], "=", claim[3], "coincide")
else:
print(claim[0], claim[1], claim[2], "=", claim[3], "está mal, es", right)
Un error frecuente
Advertencia
Mucha gente cree que una respuesta larga y llena de detalles tiene que ser verdad. A un chatbot le resulta fácil inventarse detalles. Solo una comprobación con una buena segunda fuente te dice que un dato es correcto.
Para ir más lejos: pide sus fuentes
Algunos chatbots dicen de dónde sale un dato si se lo pides. Eso ayuda, pero una fuente con nombre también puede ser inventada.
Elige un dato de un trabajo tuyo reciente. Busca dos buenas fuentes para él. ¿Coincidían?