Ollama y LiteLLM: cómo convertir un script de Python en un chat LLM completo en consola
En la segunda parte de la guía sobre Ollama y LiteLLM, un script sencillo de Python se convierte en un chat LLM en consola. Se añaden un bucle de…
Procesado por IA desde Habr AI; editado por Hamidun News
Del script al chat
El primer paso aquí no es cambiar el modelo, sino cambiar el escenario de uso. Una solicitud única es buena para verificar que la combinación Python, Ollama y LiteLLM realmente funciona. Pero tan pronto como quieres hacer una pregunta de aclaración, cambiar la formulación o continuar un pensamiento, tal script rápidamente se topa con el techo.
Un chat en consola resuelve este problema de la forma más directa: el programa no sale después de una respuesta, sino que permanece en el diálogo y permite la comunicación con el modelo como un compañero de conversación normal en la terminal. Para un desarrollador, este es un punto de inflexión importante. En lugar de "llamé a la API — obtuve texto" hay una interfaz mínima de aplicación: entrada del usuario, historial de mensajes, respuesta del modelo y la lógica gestionándolos.
LiteLLM es conveniente aquí como una única capa para acceder a modelos, y Ollama cubre la ejecución local. Como resultado, incluso un pequeño proyecto educativo comienza a parecerse a un producto real que ya puedes ejecutar, probar y gradualmente complicar sin rehacer completamente la base.
Qué aparece en el código
La siguiente capa son los detalles que hacen que el chat no sea simplemente un bucle entrada/salida, sino un programa gestionado. En tales ejemplos, lo que es particularmente valioso no son características "mágicas", sino elementos básicos de ingeniería: quién establece el papel del modelo, dónde se almacena el contexto y qué sucede si la solicitud falla. Es a partir de estos que tienes la sensación de estar mirando no una demostración de cinco minutos, sino una plantilla funcional para un asistente local.
- Un bucle de conversación que acepta nuevos mensajes hasta un comando de salida
- System prompt que establece el papel, tono y límites comportamentales del modelo
- Una lista de mensajes para que el modelo vea intercambios anteriores y mantenga contexto
- Validación básica de entrada para evitar enviar solicitudes vacías
- Manejo de excepciones para que el programa no se bloquee después del primer fallo
Cada uno de estos puntos parece simple, pero juntos cambian la calidad de la interacción. System prompt es necesario no solo para el "carácter" del bot: a través de él puedes convenientemente establecer reglas de respuesta, formato, idioma y limitaciones. El historial de mensajes permite una conversación coherente en lugar de re-explicar la tarea en cada turno. El manejo de errores ahorra tiempo durante la depuración: si el modelo local se cuelga, Ollama no se está ejecutando o LiteLLM devuelve una excepción, la sesión no se pierde completamente.
Primeros pasos hacia una aplicación
Es particularmente importante pensar en los primeros pasos hacia una aplicación de IA "viva". Una interfaz de consola parece modesta, pero es la forma más fácil de verificar cómo se comporta el bot en un diálogo real, donde el usuario formula pensamientos imperfectamente, hace aclaraciones y constantemente cambia contexto. Los puntos débiles rápidamente se hacen aparentes: system prompt demasiado general, formato de salida inconveniente, falta de comandos para salir o reiniciar, errores poco claros al cargar el modelo.
Tal marco es fácil de extender más sin arquitectura extra. Sobre él puedes agregar transmisión de tokens, comandos separados como /clear para reiniciar el historial, cambio de modelos, registro de diálogos o integración de herramientas. Pero el valor del paso actual es diferente: el autor muestra que una interfaz útil comienza no con una GUI y no con una aplicación web, sino con un bucle de comunicación confiable en la terminal.
Si esta capa se hace cuidadosamente, es más fácil crecer más tanto hacia un producto como hacia experimentos.
Qué significa esto
Para aquellos que construyen herramientas de IA locales en Python, esta etapa es obligatoria. La combinación Ollama y LiteLLM se vuelve interesante no en el momento de la primera respuesta exitosa, sino cuando aparece un bucle de comunicación normal alrededor del modelo. Un chat en consola es la forma mínima de tal bucle: lo suficientemente simple para empezar y lo suficientemente útil para construir la siguiente capa de funcionalidad encima.
¿Quieres dejar de leer sobre IA y empezar a usarla?
AI News es un feed curado de noticias de IA. Hamidun Academy te enseña a usar la IA en tu trabajo.