Skip to content
··4 min de lectura

Evolucionando mi chatbot: un sprint de una semana hacia interacciones más inteligentes

Reconstruí mi chatbot en una semana, pasando de resúmenes básicos de publicaciones a búsqueda de texto completo con chunking, seguridad y metadatos — esto es lo que aprendí sobre equilibrar el poder de la IA con el costo.

Actualización (2026): ¡Este chatbot evolucionó hasta convertirse en Sydney! Tras muchas iteraciones, Sydney vive ahora en /ask/ y se enfoca en el contenido del blog y productos.


Cuando lancé por primera vez la versión 0.1 de mi chatbot DIY la semana pasada, mi objetivo era crear un agente conversacional que pudiera sintetizar información de mis publicaciones de blog para responder preguntas. Si bien la v0.1 representó un gran primer paso para un novato en programación, tenía limitaciones significativas. La base de conocimiento solo incluía resúmenes de mis publicaciones, y el chatbot tenía dificultades para recuperar detalles específicos como números o fechas con precisión. Mi motivación ha sido mejorar incrementalmente las capacidades del chatbot a través del aprendizaje práctico. Esta publicación es una actualización después de una semana de optimizaciones. Mi enfoque ha sido expandir la base de conocimiento para incluir el contenido completo de los artículos, reforzar las medidas de seguridad y optimizar el modelo de IA en términos de rentabilidad. Si bien el chatbot todavía tiene un largo camino por recorrer, estas mejoras iniciales representan un progreso prometedor.

Esto es lo que se ha hecho desde la última versión:

1. Funcionalidad

El chatbot incluye todas las publicaciones más recientes hasta finales de octubre de 2023

Publiqué seis publicaciones de blog en octubre, todas las cuales ahora están incluidas en la base de conocimiento del chatbot. Por ejemplo, puedes hacer preguntas como: "Cuéntame las ideas clave sobre Coursera que Chandler escribió" y el chatbot puede proporcionar una respuesta basada en los artículos que escribí en octubre de 2023.

La base de conocimiento incluye la publicación de blog completa y no solo el resumen

Para la primera versión, debido a mi falta de conocimiento/experiencia trabajando con la limitación de longitud de la ventana de contexto de la API de OpenAI, tuve que generar el resumen de cada publicación de blog y luego incrustarlos usando el endpoint de la API de embeddings de OpenAI. No sabía cómo dividir el artículo completo en secciones más pequeñas e incrustar cada una manteniendo el contexto intacto (es decir, metadatos, URL, título, etc...).

La primera iteración del chunking se ha completado esta semana. La base de conocimiento del chatbot ahora tiene la publicación de blog completa en lugar de solo el resumen. Todavía hay margen de mejora a medida que sigo refinando el límite y el enfoque de chunking ideal para artículos largos. Por ahora, divido los artículos largos en secciones más pequeñas de no más de 800 tokens de longitud y uso el "párrafo" como punto de ruptura natural.

De esta manera, en la próxima versión podrá responder preguntas sobre números específicos escritos con mayor facilidad.

La fecha de publicación, el título y la URL de la publicación de blog están incluidos

Después de que el usuario ingresa una pregunta, durante el proceso de recuperación, el título de la publicación del blog, la fecha de publicación y la URL también se proporcionan al chatbot. Así que el chatbot ahora puede proporcionar la URL específica o las fechas de publicación a los usuarios si se le pregunta.

Esto ayudará con la validación en caso de que los usuarios quieran verificar o leer toda la publicación del blog.

2. Seguridad

Se han implementado medidas de seguridad muy básicas como:

  • Validar las entradas antes de que se envíen a la API
  • Función básica de limitación de velocidad, es decir, cuántas preguntas puedes hacer por minuto al chatbot
  • Las consultas y las respuestas del chatbot se validan con la moderation API de OpenAI

3. GPT-4 vs GPT-3.5

Seguiré usando el modelo GPT-3.5 para el chatbot debido al costo. Las respuestas de GPT-4 son mucho mejores que las de GPT-3.5. Sin embargo, como aún no he encontrado la mejor manera de trabajar con la longitud de la ventana de contexto mientras mantengo el historial de conversación, para preguntas complejas que el chatbot necesita buscar en múltiples publicaciones, el costo por respuesta es alto, como $0.15 o $0.20 por respuesta de GPT-4. Todavía no puedo permitirme eso para este proyecto personal. T.T

Eso es todo por ahora. Si quieres probar el chatbot, aquí está de nuevo. Este es el enlace a mi publicación anterior sobre el chatbot. Que tengas un gran fin de semana.

Si has construido tu propio chatbot o has trabajado con embeddings y chunking, tengo curiosidad — ¿qué tamaño de chunk y qué enfoque te funcionó mejor? Yo todavía estoy experimentando :)

Lo próximo en el viaje del chatbot: Unos meses después, reconstruí el chatbot completo desde cero usando LangChain y FAISS — How I Emerged From Coding Quicksand With an AI Agent.

Un abrazo, Chandler

P.D.: El nuevo curso sobre Generative AI for Everyone, impartido por Andrew Ng, no decepciona. Es un curso gratuito que te dará conocimiento general sobre la IA Generativa, cómo se está construyendo el software o las aplicaciones web típicas de Gen AI, etc... También es bastante corto, así que puedes ver todos los videos en un fin de semana.

Seguir leyendo

Mi Trayectoria
Conectar
Idioma
Preferencias