snap-to-chef / README.md
daniescamilla's picture
Update README.md
0c2d1b7 verified
---
title: Snap To Chef
emoji: 🔥
colorFrom: yellow
colorTo: red
sdk: gradio
sdk_version: 5.5.0
app_file: app.py
pinned: false
license: apache-2.0
short_description: Snap a dish photo and let S2C turn it into a recipe!
---
# Proyecto: Generador de Recetas desde Imágenes de Platos de Comida
## Descripción General del Proyecto
Este proyecto consiste en una aplicación interactiva capaz de generar una receta detallada, incluyendo la lista de ingredientes y el paso a paso para cocinar un plato de comida, a partir de una imagen del mismo. La solución se basa en la combinación de dos modelos preentrenados disponibles en Hugging Face: un modelo de “image-to-text” para la descripción del plato de comida, y un modelo de generación de lenguaje para crear la receta a partir de esa descripción.
## Problema a Resolver
En muchas ocasiones, una persona puede ver un plato de comida atractivo en un restaurante, un evento o incluso en redes sociales, y quiere recrearlo en casa. Sin embargo, no siempre sabe cuáles son los ingredientes o los pasos necesarios para prepararlo. Este proyecto pretende ayudar a los usuarios proporcionando una receta detallada a partir de una imagen del plato de comida, eliminando la necesidad de realizar búsquedas complejas o depender de conocimientos previos sobre cocina.
### Solución Propuesta
La solución consiste en un espacio interactivo en Hugging Face donde los usuarios pueden cargar una imagen de un plato de comida y recibir una receta detallada que incluya:
- Una lista de ingredientes con cantidades exactas.
- Instrucciones paso a paso para cocinar el plato de comida.
#### Flujo de Trabajo
1. **Input**: El usuario sube una imagen de un plato de comida a la interfaz.
2. **Proceso**:
- **Modelo 1**: Se utiliza un modelo de "image-to-text" (Salesforce/blip-image-captioning-base) para generar una descripción del plato de comida a partir de la imagen.
- **Modelo 2**: Con la descripción generada, se utiliza un modelo de generación de lenguaje (Qwen/Qwen2.5-72B-Instruct) para generar la receta con la lista de ingredientes y las instrucciones paso a paso.
3. **Output**: El usuario recibe la descripción del plato de comida, la receta generada y la opción de descargarla en un archivo.
## Modelos Utilizados
1. **Salesforce/blip-image-captioning-base** (Clasificación: Image-to-Text):
- Este modelo se utiliza para analizar la imagen subida por el usuario y generar una descripción textual del plato de comida.
- **Limitaciones**: Puede tener dificultades para generar descripciones precisas si la imagen está desenfocada, tiene múltiples platos de comida o está obstruida.
2. **Qwen/Qwen2.5-72B-Instruct** (Clasificación: Language Generation):
- Se utiliza para crear una receta detallada basada en la descripción proporcionada por el primer modelo. Este modelo está entrenado para generar textos instructivos y responder de manera amigable.
- **Limitaciones**: La calidad de la receta puede depender de la claridad de la descripción inicial. Además, la generación de lenguaje puede ser propensa a la repetición o a ciertos errores si no se establece un buen control en los parámetros de generación.
## Interfaz de Usuario
La aplicación está diseñada para ser intuitiva y amigable, permitiendo al usuario:
- Subir una imagen del plato de comida.
- Recibir una descripción de la imagen, junto con una receta completa.
- Descargar la receta generada en un archivo para su comodidad.
La interfaz ha sido desarrollada usando **Gradio** para proporcionar una experiencia sencilla y clara para cualquier tipo de usuario, sin importar su nivel de conocimientos técnicos.