Planifica tu menú y compra con IA: RAG, MCP y Skills para humanos

Vistas: 0
0:00 / 0:00

Si tienes un modelo de lenguaje de última generación corriendo en tu propio servidor local o consumiendo una API externa, pero únicamente lo utilizas para hacerle preguntas intrascendentes y que te responda con textos graciosos pero poco útiles, te estás perdiendo lo mejor de la fiesta. No estás aprovechando la tecnología en el camino correcto. Lo verdaderamente divertido, es construir herramientas que nos quiten trabajo de encima. Se trata de automatizar esas tareas repetitivas que consumen nuestra energía mental para que podamos dedicarle tiempo de calidad a las cosas que realmente nos importan, ya sea programar un script en Bash, pasar tiempo con la familia o simplemente disfrutar de una buena lectura. El resto de las tareas monótonas podemos, y debemos, delegarlas en nuestros asistentes virtuales.

En este artículo te voy a desgranar de arriba abajo cómo he diseñado y puesto en marcha un sistema inteligente capaz de encargarse de una de las mayores fuentes de fatiga de decisión en cualquier hogar: la planificación del menú semanal y la generación de la lista de la compra perfecta. Y lo mejor de todo es que lo he integrado directamente en mi aplicación de mensajería preferida, todo controlado con lenguaje natural y orquestado de forma automática. ¡Vamos directos al turrón!

El enemigo silencioso: La fatiga de decisión y la cocina diaria

Antes de entrar en bases de datos y configuraciones de red, hablemos del problema real que queremos solucionar. Planificar la comida y la cena de todos los días de la semana es una tarea pesada. No por la dificultad física de cocinar, sino por la carga mental que supone decidir de forma constante qué plato toca preparar hoy, asegurarte de tener los ingredientes listos en la nevera y no terminar repitiendo lo mismo una y otra vez por pura pereza.

Mucha gente intenta solucionar esto utilizando diversas estrategias tradicionales:

  • Libretas de notas que se acaban perdiendo o en las que nunca apuntas nada cuando estás en el supermercado.
  • Hojas de cálculo muy vistosas que requieren una disciplina de hierro para rellenar semana tras semana.
  • Aplicaciones móviles específicas para la lista de la compra que obligan a introducir cada producto a mano, lo que resulta lento e incómodo.
  • Papeles con imanes pegados en la puerta del frigorífico que acaban acumulando polvo.

El problema común de todas estas soluciones es que dependen única y exclusivamente de la disciplina humana. Y seamos realistas: la disciplina humana falla. Hay días que llegas cansado de trabajar, otros en los que simplemente no te apetece pensar, y al final acabas preparando cualquier plato rápido e insípido.

Mi objetivo era radicalmente distinto. Quería un sistema donde yo solo tuviera que decir un par de palabras en mi chat de Telegram, y que de forma invisible ocurriera toda la magia: selección de recetas equilibradas, guardado de la planificación en una base de datos, organización inteligente de la compra consolidando cantidades, y la entrega de un documento PDF maquetado de forma profesional listo para visualizar en mi tablet de la cocina.

Para que esto funcione de forma fluida, es necesario coordinar diferentes tecnologías que actúen como un engranaje perfecto. Aquí es donde entran en juego los Model Context Protocol, el almacenamiento vectorial, las recetas semánticas y la lógica de programación inteligente.

Diseñando la arquitectura: Los pilares de nuestro agente de IA

Para construir este asistente no nos basta con un simple script que consulte una API y nos devuelva un texto plano. Necesitamos una arquitectura modular y robusta. He dividido este proyecto en cuatro patas fundamentales que interactúan entre sí y que te voy a explicar detalladamente:

  • La pata del conocimiento (RAG Semántico): El cerebro del sistema, donde almacenamos y buscamos de manera inteligente un catálogo masivo de recetas.
  • La pata de la acción (Model Context Protocol o MCP): Las herramientas que le proporcionamos a la IA para que pueda interactuar con el almacenamiento, leer bases de datos o escribir archivos.
  • La pata de la lógica procedimental (Skills): Las instrucciones específicas de cómo encadenar esas herramientas para lograr un objetivo concreto de principio a fin.
  • La pata del diseño y la presentación (Typst): La herramienta que se encarga de convertir los datos en bruto de la IA en documentos PDF elegantes, limpios y fáciles de leer.

Todo esto se comunica de forma centralizada con un bot de mensería (como Telegram o Matrix) que actúa como la interfaz gráfica para el usuario. No necesitamos instalar ninguna aplicación extra en el móvil; todo ocurre dentro de una conversación fluida con nuestro propio asistente.

Qué es Model Context Protocol y por qué es el conector universal de la IA

Una de las grandes revoluciones recientes en el mundo del desarrollo con inteligencia artificial es el concepto del Model Context Protocol, habitualmente abreviado como MCP. Para explicártelo de forma que se entienda a la primera, imagínate que la inteligencia artificial es una persona sumamente inteligente encerrada en una habitación sin ventanas ni herramientas. Puede saberlo absolutamente todo sobre literatura, historia y ciencia, pero si le pides que apriete un tornillo físico, no puede hacerlo porque no tiene un destornillador.

El MCP es, básicamente, la caja de herramientas que le metes a esa persona en la habitación. Cada una de las herramientas de esa caja es una función o un programa que la IA puede llamar de forma autónoma cuando considera que lo necesita para cumplir una orden del usuario. El protocolo MCP estandariza la forma en que los modelos de lenguaje descubren, consultan y ejecutan estas herramientas externas, actuando como un conector universal entre el cerebro analítico del modelo y los servicios de nuestro sistema operativo o de internet.

En mi configuración actual tengo montados cuatro MCPs específicos para resolver este ecosistema culinario:

  • MCP de Recetas: Se conecta a nuestra base de datos especializada y permite buscar platos utilizando técnicas avanzadas de búsqueda semántica.
  • MCP de Menús: Permite realizar operaciones para crear, leer, actualizar y borrar registros sobre la tabla de planificación de menús diarios.
  • MCP de Lista de la Compra: Administra el estado de los productos que necesitamos adquirir, consolida cantidades y gestiona marcas de comprado.
  • MCP de Generación de PDFs: Toma el contenido formateado y llama al motor de renderizado para compilar archivos listos para descargar.

Al separar estas responsabilidades en distintos servidores MCP, el código de cada herramienta se mantiene extremadamente simple y fácil de mantener. Cada herramienta hace una sola cosa y la hace excepcionalmente bien.

Alimentando al cerebro: RAG semántico con PostgreSQL y pgvector

El primer paso para que el sistema funcione es alimentarlo con un buen repertorio gastronómico. He extraído de diversas fuentes de internet un total de unas 1.700 recetas de cocina. El problema de los buscadores tradicionales en bases de datos relacionales es que realizan búsquedas literales o exactas por palabras clave.

Por ejemplo, si en un buscador clásico escribes pollo al horno, la base de datos te devolverá únicamente aquellas recetas que contengan exactamente esas palabras en el título o en el contenido. Si tienes una receta deliciosa llamada ave asada con patatas, el buscador clásico la ignorará por completo porque no contiene la palabra pollo. Igualmente, si le pides un plato rápido y ligero, un buscador por palabras clave no tendrá la menor idea de qué significa eso, a menos que asocies manualmente etiquetas a cada receta.

Para superar esta limitación del pasado, decidí implementar una técnica llamada Retrieval-Augmented Generation o RAG basada en búsquedas vectoriales semánticas.

Entendiendo los embeddings vectoriales sin dolor de cabeza

¿Cómo consigue un ordenador comprender el significado de una receta de cocina? A través de los llamados embeddings. Un embedding no es más que una representación numérica del significado de un texto. Mediante un modelo especializado, transformamos el título, los ingredientes y la preparación de una receta en un vector, que no es más que una lista muy larga de números decimales consecutivos.

La magia reside en que los textos que tienen significados semánticos similares acaban teniendo vectores numéricos muy parecidos y muy cercanos en el espacio geométrico de varias dimensiones. Imagina que cada receta es un punto en un mapa tridimensional gigante: las recetas de ensaladas ligeras estarán agrupadas en una esquina, los guisos de legumbres pesados en otra y los postres dulces en otra diferente.

Así, cuando la IA calcula el vector de la frase quiero cenar algo suave con pescado, el sistema buscará en la base de datos los vectores de recetas que estén más próximos geométricamente en ese mapa. De esta forma, encontrará recetas de lenguado a la plancha o merluza al vapor, aunque la receta no incluya de forma literal la palabra suave.

El secreto de la búsqueda híbrida: Lo mejor de dos mundos

Durante mis pruebas iniciales me di cuenta de que confiar al 100% en la búsqueda vectorial pura a veces daba resultados desconcertantes si el usuario quería un ingrediente muy concreto. Por ejemplo, si buscabas específicamente lentejas, el sistema vectorial podía priorizar otros guisos o platos de legumbres por cercanía conceptual, dejando en segundo plano la receta exacta de lentejas de toda la vida que estabas buscando.

Para conseguir el comportamiento perfecto, implementé una búsqueda híbrida combinando dos mundos:

  • 70% de búsqueda vectorial densa: Para capturar la intención semántica, el contexto general del plato, el tipo de comida y la ligereza del menú.
  • 30% de búsqueda tradicional por palabras clave: Para asegurar que si el usuario especifica un ingrediente exacto o un nombre de plato concreto, la base de datos lo encuentre de manera prioritaria.

Esta combinación matemática ofrece una experiencia de búsqueda increíblemente natural y robusta, devolviendo siempre platos coherentes y apetecibles.

¿Necesitas una gráfica de miles de euros? El Slimbook One y OpenRouter al rescate

Un temor habitual al adentrarse en el mundo del RAG y los vectores es pensar que necesitas un servidor carísimo con tarjetas gráficas dedicadas de última generación para calcular los embeddings en tiempo real. Nada más lejos de la realidad.

En mi caso, tengo montado todo el tinglado en mi servidor compacto Slimbook One, un ordenador de consumo ajustado que carece de GPU dedicada. Para realizar el procesamiento pesado de conversión de texto a vectores utilizo la API de OpenRouter. Los modelos de embeddings son sumamente rápidos y su coste en este tipo de plataformas es prácticamente insignificante, pues pagas una fracción de céntimo por cada generación de menú. Por tanto, la infraestructura local se mantiene ligera, fría, silenciosa y con un consumo de luz mínimo.

Organizando la planificación con SQLite y la potencia de los Skills

Aunque para el almacenamiento de recetas y vectores complejos utilizo PostgreSQL, para la gestión del estado del menú semanal preferí optar por la simplicidad absoluta y la ligereza utilizando SQLite.

En el desarrollo de software a veces tendemos a sobredimensionar la infraestructura. Para almacenar un simple calendario de comidas no necesitamos un clúster de bases de datos distribuido. Una base de datos SQLite que resida en un único archivo local es más que suficiente, es increíblemente rápida, no consume recursos en segundo plano y nos permite realizar copias de seguridad de forma instantánea copiando un solo archivo.

He diseñado un esquema relacional minimalista enfocado en operaciones sencillas de lectura y escritura para que el asistente pueda registrar y consultar los datos con facilidad. En este modelo, definimos una tabla donde la clave principal es la fecha del día, y añadimos columnas específicas para guardar tanto los identificadores numéricos de los platos como una descripción en formato de texto plano para la comida y la cena de cada jornada.

Este diseño mixto permite buscar las comidas por su identificador de receta (si provienen de nuestra base de datos estructurada de recetas) o simplemente guardar una línea de texto plano si el usuario nos dice de viva voz: para cenar el jueves ponme unas sobras que tengo en la nevera. El sistema es lo bastante flexible como para convivir con ambos escenarios de manera totalmente transparente.

Qué diantres es una Skill y cómo guía los pasos de la IA

Una Skill o habilidad es la representación de un flujo de trabajo estructurado, un procedimiento detallado que describe cómo encadenar las diferentes herramientas paso a paso para resolver un problema complejo de manera autónoma. Piensa en ello como una receta de comportamiento para la propia IA:

  1. Paso 1: Consulta si existe planificación para la semana actual en el MCP de Menús. Si hay datos previos, pregunta al usuario si desea borrarlos o conservarlos.
  2. Paso 2: Para cada día de la semana (de lunes a viernes), realiza dos búsquedas semánticas en el MCP de Recetas: una para la comida (indicándole que busque platos mediterráneos equilibrados) y otra para la cena (solicitando recetas muy ligeras para facilitar la digestión nocturna).
  3. Paso 3: Con los identificadores de recetas seleccionados por el modelo, guárdalos en el MCP de Menús asociados a la fecha correspondiente.
  4. Paso 4: Invoca al MCP de Lista de la Compra enviándole todos los ingredientes detallados de cada una de las recetas seleccionadas para que empiece el proceso de consolidación.
  5. Paso 5: Llama al MCP de Generación de PDFs para crear los archivos de visualización cómodos para el usuario.

Gracias a este procedimiento estructurado, la IA no divaga, no inventa herramientas y ejecuta cada paso con un orden riguroso que garantiza que al final del proceso tengamos exactamente lo que le hemos pedido.

El desafío de la lista de la compra: Lógica difusa y orden en los pasillos

Aquí es donde nos encontramos con el verdadero reto de ingeniería del proyecto. Extraer las recetas y ponerlas en un calendario es relativamente sencillo. Lo realmente difícil es traducir esas recetas en una lista de la compra que resulte cómoda para un ser humano cuando entra al supermercado.

Imagina que el menú de la semana incluye tres recetas distintas que utilizan tomates.

  • La receta de las berenjenas rellenas del martes pide 100 gramos de tomates pelados.
  • La ensalada de acompañamiento del miércoles requiere 4 tomates cherry.
  • El sofrito del jueves necesita tomates maduros a granel.

Si tu asistente de IA se limita a copiar y pegar los ingredientes de las recetas uno detrás de otro, acabarás con una lista de la compra caótica con tres líneas diferentes de tomates expresadas en distintas unidades de medida. Ir al supermercado con una lista así es un infierno.

Para solucionar este caos, desarrollé algoritmos de consolidación basados en lógica difusa (fuzzy logic).

Consolidación inteligente de cantidades

La lógica difusa nos permite comparar cadenas de texto basándose en su similitud ortográfica y conceptual en lugar de buscar coincidencias exactas de caracteres. Mediante algoritmos de distancia de palabras, el sistema analiza la lista de ingredientes y detecta que tomates pelados, tomates cherry y tomates maduros hacen referencia a la categoría general de tomates.

El sistema unifica estos ingredientes bajo una sola entrada principal en la lista de la compra, sumando las cantidades estimadas y convirtiéndolas a unidades estándar de peso siempre que sea posible (por ejemplo, sugiriendo comprar un kilogramo y medio de tomates en total). Si ya existe una entrada para ese ingrediente, el sistema evita añadir una línea duplicada y simplemente actualiza la cantidad acumulada.

Agrupación automática por pasillos del supermercado

Otro gran dolor de cabeza al hacer la compra es tener que dar vueltas de un lado a otro de la tienda porque tu lista mezcla de forma desordenada la carne, la verdura y los productos de limpieza.

Nuestra IA de compras analiza cada producto y, mediante su comprensión semántica del lenguaje, lo clasifica automáticamente en categorías lógicas que corresponden a los distintos pasillos del supermercado:

  • Frutería y Verdulería: Tomates, berenjenas, aguacates, canónigos.
  • Carnicería y Pescadería: Carne picada de vacuno, salmón fresco, pechuga de pollo.
  • Lácteos: Queso rallado, leche, yogur.
  • Despensa: Aceite de oliva, sal, especias.

De este modo, cuando estás en la sección de frutería, puedes ver de un plumazo todo lo que necesitas de esa zona y marcarlo como comprado de una sola vez, ahorrándote paseos inútiles y mucho tiempo.

Typst: Maquetación profesional a la velocidad del rayo (Adiós, LaTeX)

Una vez que el asistente tiene estructurado todo el menú, las recetas que lo componen y la lista de la compra consolidada, el último paso consiste en empaquetar toda esa información para que el usuario pueda consumirla cómodamente. Mostrar miles de líneas de texto plano en un chat de Telegram no es la mejor experiencia visual del mundo.

Para resolver esto, decidí generar documentos PDF maquetados de forma impecable. Históricamente, la herramienta estándar en el ecosistema Linux para este tipo de tareas de alta fidelidad tipográfica ha sido LaTeX. Sin embargo, cualquiera que haya peleado con LaTeX sabe lo doloroso que puede resultar: tiempos de compilación lentos, sintaxis sumamente engorrosa, dependencias gigantescas que pesan gigabytes en el disco duro y una curva de aprendizaje empinadísima.

Afortunadamente, existe una alternativa moderna, espectacular y desarrollada en Rust que me tiene completamente enamorado: Typst.

Typst es un nuevo lenguaje de composición tipográfica diseñado para ser tan fácil de escribir como Markdown pero ofreciendo una potencia de maquetación profesional comparable a LaTeX. Su compilación es instantánea (en cuestión de milisegundos tienes el PDF listo), su sintaxis es limpia e intuitiva y su motor de plantillas permite crear diseños espectaculares de forma muy sencilla.

He diseñado tres plantillas específicas de Typst que mi asistente rellena dinámicamente con los datos de la planificación:

  • Ficha de Menú Semanal: Un diseño minimalista en formato horizontal, ideal para imprimir y colgar con un imán en la nevera, de manera que toda la familia sepa qué toca comer cada día.
  • Libro de Recetas de la Semana: Un documento que recopila las fichas detalladas de los platos seleccionados para el menú actual, incluyendo lista de ingredientes ordenados y las instrucciones de preparación paso a paso. Perfecto para abrir en la tablet que tengo apoyada en la encimera de la cocina mientras preparo los platos.
  • Lista de la Compra en PDF: Un listado limpio, clasificado por pasillos del supermercado y con casillas de verificación para ir tachando físicamente los productos a medida que los colocas en el carrito.

La orquestación en el mundo real: Telegram y automatización con Cron

Con todas las piezas del rompecabezas listas, lo único que nos queda es unirlas para que funcionen solas sin que requieran nuestra intervención manual diaria. El sistema funciona de dos formas totalmente integradas: interactiva e incremental.

Mi conversación en vivo con el asistente

A través de un bot de Telegram, puedo hablar con mi asistente en cualquier momento utilizando lenguaje natural. El flujo de uso típico es deliciosamente sencillo. Le pregunto si existe una planificación para esta semana. Si ya la tengo creada, el bot me la muestra en un instante.

Si quiero empezar de cero, simplemente le pido que borre el menú existente y genere uno nuevo. El sistema arranca entonces las consultas híbridas a la base de datos de PostgreSQL, selecciona nuevas recetas mediterráneas para comer y ligeras para cenar, actualiza la tabla de SQLite, unifica los ingredientes mediante su lógica de comparación difusa y me envía de vuelta tres flamantes archivos PDF de Typst directamente al chat. Todo ocurre en cuestión de segundos.

La magia del Cron los viernes por la mañana

Como a veces se nos olvida incluso pedirle a la IA que nos planifique la semana, he configurado un script automatizado que se ejecuta mediante el planificador de tareas nativo de Linux: cron.

Todos los viernes a las 9 de la mañana, un cron job despierta al asistente para que genere de forma totalmente automática la propuesta de menú para la semana siguiente junto con su correspondiente lista de la compra. Al llegar a mi despacho por la mañana, me encuentro con los archivos PDF ya listos en mi chat de Telegram.

Si algún plato no me apetece o prefiero cambiarlo por otra cosa, simplemente le respondo al bot pidiéndole que cambie una receta concreta por otra alternativa de pollo o pescado, y el sistema reorganiza el menú, actualiza la lista de la compra y vuelve a mandarme los PDFs corregidos al instante. Es una maravilla que me ahorra horas de planificación y de quebraderos de cabeza.

El camino del self-hosting puro: Todo en local gracias a Ollama

Si eres un defensor de la privacidad y prefieres mantener tus datos totalmente resguardados dentro de tu propia red local sin depender de APIs de terceros, estás de enhorabuena. Este sistema está diseñado para ser completamente compatible con Ollama.

Puedes desplegar Ollama en tu propio servidor doméstico, descargar un modelo de lenguaje ligero pero sumamente capaz y un modelo de embeddings optimizado para correr sin problemas en CPUs domésticas o en ordenadores compactos sin tarjeta gráfica dedicada.

Al configurar el backend de nuestro sistema para apuntar a la IP local de tu servidor de Ollama, el proceso de generación de vectores, la búsqueda semántica en la base de datos, la lógica difusa y la planificación se ejecutan de manera 100% privada e independiente de internet. Tus gustos gastronómicos, tus menús y tus listas de la compra no salen de las paredes de tu casa.

El rincón de Linux: Helix, mkdr y podcli

Para cerrar el episodio de esta semana, no quería dejar pasar la oportunidad de actualizarte sobre algunas herramientas de terminal con las que he estado trasteando en mi día a día dentro de Linux, porque el amor por la consola de comandos nunca se pierde.

Redescubriendo el editor Helix

A pesar de ser un usuario acérrimo de Vim y Neovim durante años, he estado experimentando algunos problemas de rendimiento y dolores de cabeza configurando ciertos plugins complejos recientemente. Esto me ha llevado a darle una nueva y merecida oportunidad a Helix.

Helix es un editor de texto modal escrito en Rust que viene con las pilas incluidas por defecto. A diferencia de Neovim, donde tienes que pasarte horas configurando el protocolo de servidor de lenguaje (LSP), el resaltado de sintaxis con Treesitter y los atajos de teclado, en Helix todo esto funciona de forma nativa desde el primer segundo sin instalar un solo plugin.

Su filosofía de edición modal es inversa a la de Vim: primero seleccionas el texto y luego aplicas la acción (selección-acción), lo que resulta extremadamente intuitivo una vez que te acostumbras. La experiencia de edición es fluida, instantánea y sumamente gratificante. Te recomiendo enormemente que le eches un vistazo si estás cansado de lidiar con interminables archivos de configuración.

mkdr: Renderizado elegante de Markdown en tu terminal

Para complementar mi flujo de trabajo con archivos Markdown en la terminal, he implementado una pequeña utilidad propia llamada mkdr.

Se trata de una herramienta ligera desarrollada para renderizar de forma elegante y legible el código Markdown directamente dentro de la consola, respetando colores, negritas, listas y bloques de código de forma nativa mediante códigos de escape ANSI. Es comodísima para leer notas rápidas o documentación sin necesidad de abrir visores externos o interfaces gráficas pesadas.

podcli: Gestionando el feed de podcasts desde la consola

Por último, sigo utilizando de forma muy activa podcli, una utilidad de terminal que desarrollé hace tiempo y que me ayuda enormemente en la gestión diaria de este podcast. Me permite consultar los feeds RSS de los episodios, extraer cómodamente las URLs del archivo de audio para insertarlas en el blog de WordPress y automatizar gran parte de los metadatos necesarios para la publicación en mi página web.

Qué nos depara el futuro: Hermes de cero a producción

Como adelanto para los próximos contenidos, tengo preparado un despliegue muy especial. En el siguiente lunes temático voy a centrarme en realizar una instalación completa desde cero hasta producción de Hermes.

Pero no nos limitaremos a una instalación básica de las que se ven habitualmente. Vamos a desgranar en profundidad todos esos pequeños detalles que suelen pasarse por alto en los tutoriales genéricos: cómo configurar los servidores MCP, cómo estructurar de forma correcta el sistema RAG, cómo definir los Skills de comportamiento y cómo securizar todo el entorno para que tu agente funcione de manera impecable y segura en tu infraestructura doméstica.

Conclusión: Cacharrear para hacernos la vida más fácil

Como has podido ver en este largo recorrido, los agentes de inteligencia artificial, el RAG semántico y los protocolos como MCP no son meros juguetes de laboratorio para que ingenieros de software se diviertan en sus ratos libres. Son tecnologías potentes, accesibles y maduras que, combinadas con un poco de imaginación y ganas de cacharrear, nos permiten solucionar problemas cotidianos muy reales.

Delegar la fatiga de decisión de la planificación de comidas en un sistema autónomo me ha devuelto un tiempo valiosísimo todas las semanas, me ha permitido comer de forma mucho más equilibrada y saludable, y me ha evitado comprar de forma desorganizada en el supermercado. Y lo más satisfactorio de todo es saber que está construido sobre tecnologías abiertas que podemos controlar, modificar y alojar en nuestros propios servidores.

Anímate a cacharrear con esto, móntate tu propia base de datos de recetas, experimenta con Typst y haz que la inteligencia artificial trabaje para ti de verdad.


  • Model Context Protocol (MCP) – Sitio oficial y especificación técnica de este estándar abierto para conectar modelos con herramientas.
  • Typst – El sistema de maquetación moderno escrito en Rust que sustituye a LaTeX con elegancia y velocidad.
  • PostgreSQL pgvector – Extensión oficial para habilitar almacenamiento y búsquedas vectoriales eficientes en Postgres.
  • Ollama – La herramienta definitiva para correr modelos de lenguaje y embeddings de forma local, privada y gratuita.
  • Helix Editor – El editor de texto modal moderno, rápido y con soporte LSP nativo escrito en Rust.

Deja una respuesta