💬 NLP
💬 NLP

Chatbot conversacional con OpenAI API

Construir un chatbot que mantenga coherencia en conversaciones largas, siga un rol y tono específicos, y ejecute acciones estructuradas (no solo genere texto libre) requiere diseñar correctamente la gestión del contexto, el system prompt y el uso de function calling.

Problema

Construir un chatbot que mantenga coherencia en conversaciones largas, siga un rol y tono específicos, y ejecute acciones estructuradas (no solo genere texto libre) requiere diseñar correctamente la gestión del contexto, el system prompt y el uso de function calling.

Solución

Chatbot con OpenAI API (GPT-3.5/GPT-4) con historial de conversación gestionado como lista de mensajes, system prompt para definir personalidad y restricciones, truncado inteligente del contexto al acercarse al límite de tokens y function calling para respuestas estructuradas.

Gestión de contexto

  • Historial almacenado como lista de {role, content} — pasado completo en cada llamada
  • Truncado por ventana: eliminación de mensajes más antiguos cuando se acerca al límite
  • Truncado por tokens: tiktoken para contar y respetar el context window del modelo
  • Resumen de contexto: GPT resume el historial antiguo para comprimirlo sin perderlo

Function calling y UI

  • Definición de funciones en el schema de la API para respuestas con estructura JSON
  • Casos de uso: búsqueda de información, formateo de datos, consultas a APIs externas
  • Interfaz de usuario con Gradio: chat UI desplegable localmente en minutos
  • Integración como bot de Telegram: webhook con FastAPI + python-telegram-bot

Más proyectos en NLP