Conociendo a CURRO, nuestra IA familiar

Hoy nace nuestro asistente de IA familiar, «CURRO».

En casa cada día usamos más la IA, nada del otro mundo, pero se va integrando en nuestras vidas. Por lo general para las consultas típicas de cultura general, y yo si que lo tengo mucho más adaptado en mi vida, tanto laboral como para cualquier cosa que hago.

Y llevo tiempo con ganas de montar un asistente IA que lo tengamos más a mano, que sea una especia de Siri o Google Home, pero vitaminado, al que poder añadir ya no sólo conocimiento con según el modelo de turno, sino que pueda hacer cositas, tanto digitales como gestionar el calendario, que me cree alertas, etc … como incluso algunas llevadas al mundo físico, me apetece que pueda controlar ciertas cosas de la casa, en definitiva que sea uno más de la familia.

Pero como todo proyecto que se precie, vamos paso a paso, no lo matemos antes de empezar, así que vamos a por una primera iteración, que será tener el cerebro (la IA), y de momento un frontend con el que interactuar, que empezaremos por una simple web chat.

Curro AI – Bienvenido

Nuestro Curro irá al MacMini que tenemos medio abandonado en el salón, así cuando tenga voz y escucha lo tendremos más a mano para todos.

Arquitectura

Aunque irá creciendo para la base del proyecto, tiraremos de un frontal (donde de momento tendremos el chat), y un backend, en nuestro caso con Python para poder montar una API de forma sencilla.

Y la IA que usaremos, que seguro es lo que más te interesa, tenía a priori 2 opciones:

  • Una de las grandes: ChatGPT, claude o Gemini. Todos sabemos que la potencia que ofrecen es espectacular, pero tenemos que pasar por caja por las llamadas API y consumo de tokens.
  • Un modelo open source. Estos nos dan independencia, no pasar por caja y tener nuestra info 100% bajo nuestro control.

En esta primera iteración usaremos uno de los grandes, en concreto Gemini de Google (porque me he quedado sin presupuesto de los otros jejeje). Esto me permitirá de momento no tener que centrarme en montar modelo local, sobrecargar el Mac mini, buscar espacio en disco y demás, vamos a un modelo más Lean.

Lo que si que vamos a plantear en ese sentido, es evitar que el frontal llame directamente a la API del LLM, ya que esto si que nos iría limitando en el futuro, de ahí que montemos nuestro backend, que hará de capa intermedia, tipo APIGateway. Esto nos permitirá que si queremos cambiar de proveedor sea transparente para el frontend, incluso si pasamos a modelo local, el frontend ni se inmute.

Código

Curro será open source, pero sin su conocimiento, que las cosas de casa se quedan en casa 🤩, pero podrás montarte tu propio Curro, esta primera versión la tienes en:

https://github.com/ablancodev/curro-ai/releases/tag/v0.1.0

Próximos pasos

Sé que pensarás que esto es un simple chat wrapper sobre IA … pues si, un pequeño paso en el desarrollo, pero un gran paso para la familia 🏡

El siguiente paso será ponerle oídos, porque queremos que Curro nos escuche (lo mismo se arrepiente)