Chef IA

Categoría
IA y LLM Local
Publicado
19 diciembre 2024
Por
Jacob Lloyd — escrito con ayuda de IA, después del proyecto
Tiempo de lectura
10 min de lectura

En palabras simples: Una instrucción gratuita para copiar y pegar que convierte una IA de chat en un planificador de comidas amigable. Sugiere una semana de cenas, te da las recetas y escribe una lista de la compra ya ordenada por sección del súper. Te quita de encima el eterno "¿qué hago de cenar?" sin que te cueste nada.

Un único system prompt para copiar y pegar convierte a un modelo de chat en un planificador de comidas que te entrega una semana de cenas, las recetas para prepararlas y una lista de la compra ya ordenada por sección del súper. Lo llamo ProChef. Tiene sombrero.

tl;dr

  • Qué es: un system prompt ("ProChef") que hace que una IA de chat planifique tu semana de comidas.
  • Qué cuesta: nada — es solo un prompt.
  • Qué necesitas: cualquier modelo de chat. Yo uso Ollama + Open WebUI en local; el ChatGPT normal también funciona.
  • Qué obtienes: un plan semanal de cenas, recetas paso a paso y una lista de la compra agrupada por pasillo.

Lo que obtienes

Chat de Open WebUI: le pido a ProChef una selección de cenas atrevida pero saludable, y responde con cinco opciones de recetas de 'Sabores Exóticos', desde salmón con harissa hasta un bowl vietnamita de ternera con limoncillo.
Un mensaje enviado, cinco opciones de cena de vuelta. Esto es DeepSeek R1-70B funcionando en local dentro de Open WebUI.

Le dices lo que quieres, te propone platos, eliges los que te gustan y luego le pides las recetas y la lista de la compra. La lista vuelve agrupada por verduras y frutas, proteínas, cereales y despensa — que es la parte que de verdad te ahorra tiempo en la tienda.

Qué necesitas

Mi montaje es local: dos RTX 3090 y un Threadripper, con Ollama como backend y Open WebUI como frontend. Si tienes 48 GB de VRAM, puedes copiarme exactamente.

Si no los tienes, no te preocupes. Cualquier cosa que acepte un system prompt funciona, y si tu herramienta preferida no tiene ese campo, ChatGPT procesa el mismo texto pegado como primer mensaje sin problema.

Para el retrato opcional del chef usé getimg.ai. No es un patrocinio ni tengo relación con ellos — es simplemente lo que uso yo.

Configura el modelo

En Ollama, descarga (pull) DeepSeek R1-70B. Si "ejecutar un modelo de 70B en casa" te suena a proyecto entero, es que lo es — lo documenté en mi guía de 4 pasos para DeepSeek en local.

En ChatGPT u otro servicio alojado, el modelo por defecto va bien. Si tu servicio ofrece un modelo más orientado a recetas, adelante, úsalo.

Solo un ajuste importa: en los parámetros del modelo, fija la ventana de contexto a lo que quepa en tu VRAM (en mi caso, unos 5.000 tokens de contexto con DeepSeek R1-70B — el modelo en sí devora casi los 48 GB enteros, así que al contexto solo le quedan las sobras). Luego guarda.

El system prompt de ProChef

Aviso justo: redacté este prompt con ayuda de una IA, por eso contiene frases como "seamless user interaction" que ningún humano ha dicho jamás en voz alta. Se queda porque funciona. Copia todo el contenido del recuadro, literalmente — incluida la línea IMPORTANT del final, que existe porque el modelo llevaba callándose ingredientes de la lista de la compra sin avisar.

El system prompt de ProChef (cópialo todo)

First: suggest recipes for a meal plan, don't give full recipes or grocery lists until asked.

You are ProChef, a streamlined AI chef assistant designed to simplify meal planning and preparation. Your primary tasks include determining weekly meals based on user preferences, generating detailed ingredient lists with quantities for each selected dish, providing step-by-step cooking directions upon request, and finally creating an organized grocery list when prompted.

Workflow:
1. Meal Determination: Collaborate with the user to establish a meal plan for the week by understanding their dietary restrictions (vegetarian, gluten-free, etc.), budget, time constraints, food preferences, and any specific requests or events.
2. Ingredient Lists & Cooking Directions: Once meals are determined, upon user request, generate precise ingredient lists with quantities for each dish and provide clear, step-by-step cooking directions for preparing the selected meals.
3. Grocery List Generation: When prompted by the user, create a comprehensive grocery list organized by grocery store sections (e.g., produce, dairy, grains). Ensure all necessary ingredients are listed, taking into account standard pantry staples that might not need to be purchased. Allow users to adjust quantities or remove items they already have.

Key Specifications:
- User Interaction: Maintain a straightforward and responsive interface for seamless user interaction, ensuring clarity in communication regarding meal plans, ingredient lists, cooking instructions, and grocery lists.
- Accuracy and Completeness: Prioritize the accuracy of information provided. All ingredients must be listed completely to prevent any missing items during shopping or preparation.
- Organizational Efficiency: Organize the grocery list by typical grocery store sections for efficient shopping experiences.

Example User Interaction:
User: "I'm ready to make my grocery list."
ProChef: "Here's your organized grocery list. Under 'Produce,' you'll need: 1 head of lettuce, 3 tomatoes... Under 'Dairy'..."

By following this streamlined workflow, ProChef ensures that users can efficiently plan, shop for, and prepare their meals with all necessary ingredients accounted for.

IMPORTANT: after generating a grocery list, check the list against the recipes for all ingredients, both implied and called out, to verify all ingredients are accounted for.

Dónde va: si tu herramienta tiene un campo de system prompt (en Open WebUI está en los ajustes del modelo), pégalo ahí y guarda. Si no lo tiene — ChatGPT incluido — pega ese mismo texto exacto como primer mensaje de un chat nuevo y continúa desde ahí. El resultado es el mismo.

Opcional: dale una cara a tu chef

Totalmente innecesario. Lo hice de todos modos — hablar con un chef geométrico pequeñito es mejor que hablarle a un avatar en blanco, y es una desviación de cinco minutos.

Mis ajustes de getimg.ai para el logo del chef

Modo: AI Image Generator, Essential
Modelo: Flux.1
Prompt: geometric image of a cute chef. Happy and ready to help generate delicious food. he has a mustache and hat which covers his eyes.
Prompt negativo: Disfigured, cartoon, blurry, nude, background, weapon
Número de imágenes: empieza con dos hasta acercarte a lo que buscas, y luego sube a 10 para la ronda final.

El generador Essential de getimg.ai con el prompt del chef cargado y Flux.1 seleccionado, mostrando tres imágenes candidatas del chef en el lateral derecho.
El generador con mi prompt cargado. Cambia lo que quieras — es tu chef.

Genera, ajusta el prompt, genera otra vez. Llegar a este resultado me costó una docena de revisiones de prompt y unas 100 imágenes. Elige un ganador, escálalo si quieres, descárgalo y ponlo como avatar del modelo.

El logo final de ProChef: un chef caricaturesco geométrico con bigote y un sombrero calado hasta taparle los ojos.
El ganador. Que el sombrero le tapara los ojos no era negociable.

Pídele una semana de comida

Dale tus restricciones y deja que proponga. Algo como:

Oye, quiero una selección de comidas atrevida para la semana que viene, por favor sugiere cinco recetas que me tienten, que además sean sanas y sabrosas. Dame dos opciones o más, por favor. Solo quiero cenas

Te devuelve platos candidatos. Discute con él hasta que la semana te convenza, luego pide las recetas y las cantidades, y por último la lista de la compra. El prompt retiene las recetas a propósito hasta que las pides, para que no tengas que desplazarte por una novela solo para ver el plan.

Ejemplos reales, sin editar

Todo lo de abajo es una respuesta de un solo intento — la primera respuesta, sin reintentos, sin retoques. La conversación fue en inglés, así que dejo la salida del modelo tal cual, en inglés. La tuya variará.

Ejemplo: semana italiana de fiestas para complacer a una suegra

La petición:

Mensaje de chat: por favor genera una lista de comidas para una semana, sencillas y fáciles de hacer, un festín italiano de una semana de fiestas que complazca a la suegra.
La respuesta de ProChef, reconociendo la petición de platos italianos sencillos pero vistosos y empezando a proponer un plan de comidas.

Propuso una semana sensata: bruschetta y minestrone el lunes, luego pasta al pesto con pollo, berenjenas a la parmesana, fettuccine alfredo, pollo a la piccata, verduras asadas con pescado a la plancha, y una lasaña tradicional con ensalada César para el domingo. Nada exótico, todo reconocible — para el público al que iba dirigido, es la decisión correcta.

Luego le pides las recetas de verdad:

Mensaje de seguimiento: genial, por favor genera recetas con ingredientes e instrucciones paso a paso para los platos italianos de la lista.

...y las da con instrucciones completas. Te ahorro ese muro de texto — el siguiente ejemplo trae uno completo.

Ejemplo: una semana para dos, con intolerancia a la lactosa — salida completa incluida

La petición (traducción libre): "Dame un plan semanal de cenas para una persona intolerante a la lactosa y su marido, minimiza los ingredientes, mantén las instrucciones de cocina simples, e incluye una lista de la compra agrupada por sección del súper, por favor"

La respuesta del modelo, palabra por palabra:

Weekly Dinner Meal Plan

Monday: Grilled Salmon with Quinoa Salad

  • Ingredients: Salmon fillets, quinoa, bell peppers, broccoli, snap peas, lemon juice.
  • Instructions: Grill salmon, cook quinoa, mix with roasted vegetables, dress with lemon juice.

Tuesday: Chicken Stir-Fry with Rice

  • Ingredients: Chicken breast, rice, bell peppers, broccoli, snap peas, soy sauce/tamari.
  • Instructions: Stir-fry chicken and vegetables in olive oil, serve over rice.

Wednesday: Spaghetti Squash with Ground Turkey Tomato Sauce

  • Ingredients: Spaghetti squash, ground turkey, tomato sauce (dairy-free), garlic.
  • Instructions: Bake spaghetti squash, cook ground turkey with tomato sauce, combine.

Thursday: Tacos with Ground Beef/Turkey and Veggies

  • Ingredients: Corn tortillas, ground beef/turkey, lettuce, tomatoes, avocado, taco seasoning.
  • Instructions: Cook ground meat with taco seasoning, serve in tortillas with vegetables.

Friday: Baked Cod with Asparagus and Potatoes

  • Ingredients: Cod fillets, asparagus, potatoes, lemon juice, herbs (thyme, rosemary).
  • Instructions: Bake cod, roast asparagus and potatoes with olive oil and seasonings.

Saturday: Shrimp Skewers with Peanut Sauce over Couscous

  • Ingredients: Shrimp, couscous, peanut butter, garlic.
  • Instructions: Grill shrimp skewers, cook couscous, serve with peanut sauce.

Sunday: Turkey Burgers over Greens

  • Ingredients: Turkey burgers (or patties), lettuce, tomatoes, onion, avocado.
  • Instructions: Cook turkey burgers, serve on a bed of greens with vegetables.

Grocery List by Store Sections

Produce:

  • Bell peppers (2)
  • Broccoli (1 head)
  • Snap peas (1 cup)
  • Lettuce (1 head)
  • Tomatoes (3)
  • Avocado (3)
  • Asparagus (1 bunch)
  • Potatoes (4 medium)
  • Zucchini (1)
  • Yellow squash (1)
  • Onion (2)
  • Cucumber (1)
  • Olives (optional)
  • Spinach (1 bag)
  • Lemons (2)

Proteins:

  • Salmon fillets (4 portions)
  • Chicken breasts (4 portions)
  • Ground turkey (1 lb for spaghetti squash and 1 lb for tacos/ground beef alternative)
  • Cod fillets (4 portions)
  • Shrimp (1 bag, frozen)
  • Turkey burgers (4 patties) or ground turkey to make patties

Grains:

  • Quinoa (2 cups)
  • Rice (2 cups)
  • Corn tortillas (8-10)
  • Couscous (2 cups)

Pantry:

  • Olive oil
  • Coconut oil
  • Soy sauce/tamari
  • Tomato sauce (dairy-free)
  • Taco seasoning
  • Peanut butter
  • Salt and pepper
  • Herbs (oregano, basil, thyme, rosemary)

Miscellaneous:

  • Garlic
  • Lemon zest or juice

This meal plan ensures minimal ingredients overlap, simple cooking techniques, and no dairy products. Enjoy your week of delicious and easy meals!

Fíjate en que la sección de verdura incluye calabacín, calabaza amarilla, pepino, aceitunas y espinaca que ninguna receta de arriba pide — más el aceite de coco en la despensa. Verdura extra de regalo, supongo. Es exactamente por esto que el prompt le pide que revise la lista dos veces, y por lo que tú también deberías repasarla de todos modos.

También probé una versión sin gluten de la misma petición; volvió con la misma forma — siete cenas sin gluten más la lista ordenada por pasillo, todo marcado como sin gluten hasta el caldo.

Ejemplo: menú de noche de cita de fin de semana

La petición (traducción libre): "Nueva tarea. Genera un plan de cena completo para cocinarle a mi novia durante un fin de semana. Asegúrate de que los platos sean increíbles, incluye instrucciones completas para cada comida, y también una lista de la compra agrupada por sección del súper"

Se lanzó a por todas con el romanticismo: salmón a la plancha con salsa de mango el viernes, costillar de cordero con puré de ajo el sábado, solomillo de ternera con reducción de vino tinto el domingo — recetas completas, lista de la compra, y un consejo con total seriedad de "disponer los platos con arte". Se despidió con un "Enjoy your culinary journey!", que deja bastante claro quién lo escribió. Eso sí, el menú en sí es sólido de verdad.

Cosas a tener en cuenta

  • El contexto va muy justo en hardware local. Un modelo de 70B en 48 GB de VRAM me deja más o menos una ventana de 5.000 tokens. Un plan de comidas más recetas más lista de la compra se come eso de sobra, y el modelo empieza a olvidar el principio de la conversación. Empieza un chat nuevo cada semana, y pide la lista de la compra antes de que la cosa se alargue.
  • Se le caen (y se inventa) ingredientes. La línea IMPORTANT al final del prompt está ahí porque las listas de la compra seguían faltándoles cosas que las recetas claramente necesitaban. Ayuda; no lo cura. Repasa la lista contra las recetas antes de ir a comprar.
  • Las cantidades merecen un ojo escéptico. Una lista pedía pavo picado para unos tacos que había asignado a ternera. Suficiente para comprar, no es palabra sagrada.
  • Los modelos de razonamiento piensan antes de hablar. R1 se queda un rato masticando antes de responder. Para planificar comidas no pasa nada — simplemente no asumas que se ha colgado.

← Más de IA y LLM Local