Connect with us

Noticias

Agentes de motor de búsqueda multimodal alimentados por Blip-2 y Gemini

Published

on

Esta publicación fue coautora de Rafael Groedes.

Introducción

Los modelos tradicionales solo pueden procesar un solo tipo de datos, como texto, imágenes o datos tabulares. La multimodalidad es un concepto de tendencia en la comunidad de investigación de IA, que se refiere a la capacidad de un modelo para aprender de múltiples tipos de datos simultáneamente. Esta nueva tecnología (no es realmente nueva, pero mejoró significativamente en los últimos meses) tiene numerosas aplicaciones potenciales que transformarán la experiencia del usuario de muchos productos.

Un buen ejemplo sería la nueva forma en que los motores de búsqueda funcionarán en el futuro, donde los usuarios pueden ingresar consultas utilizando una combinación de modalidades, como texto, imágenes, audio, etc. Otro ejemplo podría ser mejorar los sistemas de atención al cliente con AI para la voz. e entradas de texto. En el comercio electrónico, están mejorando el descubrimiento de productos al permitir a los usuarios buscar usando imágenes y texto. Usaremos este último como nuestro estudio de caso en este artículo.

Los laboratorios de investigación de IA Frontier están enviando varios modelos que admiten múltiples modalidades cada mes. Clip y Dall-E por OpenAI y Blip-2 por Salesforce Combine Image and Text. ImageBind por meta expandió el concepto de modalidad múltiple a seis modalidades (texto, audio, profundidad, térmica, imagen y unidades de medición inerciales).

En este artículo, exploraremos Blip-2 explicando su arquitectura, la forma en que funciona su función de pérdida y su proceso de capacitación. También presentamos un caso de uso práctico que combina Blip-2 y Gemini para crear un agente de búsqueda de moda multimodal que pueda ayudar a los clientes a encontrar el mejor atuendo basado en texto o mensajes de texto e indicaciones de imagen.

Figura 1: Agente de búsqueda multimodal (imagen del autor con Gemini)

Como siempre, el código está disponible en nuestro GitHub.

Blip-2: un modelo multimodal

Blip-2 (pre-entrenamiento de imagen de lenguaje de arranque) [1] es un modelo de lenguaje de visión diseñado para resolver tareas como la respuesta de las preguntas visuales o el razonamiento multimodal basado en entradas de ambas modalidades: imagen y texto. Como veremos a continuación, este modelo se desarrolló para abordar dos desafíos principales en el dominio del idioma de la visión:

  1. Reducir el costo computacional Utilizando codificadores visuales pre-entrenados congelados y LLM, reduciendo drásticamente los recursos de capacitación necesarios en comparación con una capacitación conjunta de redes de visión e idiomas.
  2. Mejora de la alineación del idioma visual Al introducir Q-former. Q-Former acerca los incrustaciones visuales y textuales, lo que lleva a un mejor rendimiento de la tarea de razonamiento y la capacidad de realizar una recuperación multimodal.

Arquitectura

La arquitectura de Blip-2 sigue un diseño modular que integra tres módulos:

  1. Visual Codificador es un modelo visual congelado, como VIT, que extrae incrustaciones visuales de las imágenes de entrada (que luego se usan en tareas aguas abajo).
  2. Consulta Transformador (Q-Former) es la clave de esta arquitectura. Consiste en un transformador ligero entrenable que actúa como una capa intermedia entre los modelos visuales y de lenguaje. Es responsable de generar consultas contextualizadas a partir de los incrustaciones visuales para que el modelo de lenguaje pueda procesarlos de manera efectiva.
  3. LLM es un LLM pre-capacitado congelado que procesa incrustaciones visuales refinadas para generar descripciones o respuestas textuales.
Figura 2: Arquitectura Blip-2 (Imagen del autor)

Funciones de pérdida

Blip-2 tiene tres funciones de pérdida para entrenar el Q-formador módulo:

  • Pérdida de texto de texto [2] Haga cumplir la alineación entre los incrustaciones visuales y de texto maximizando la similitud de las representaciones emparejadas de texto de imagen mientras se separa pares diferentes.
  • Pérdida de coincidencia de texto de imagen [3] es una pérdida de clasificación binaria que tiene como objetivo hacer que el modelo aprenda alineaciones de grano fino predecir si una descripción de texto coincide con la imagen (positivo, es decir, objetivo = 1) o no (negativo, es decir, objetivo = 0).
  • Pérdida de generación de texto con conexión a imagen [4] es una pérdida de entropía cruzada utilizada en LLM para predecir la probabilidad del siguiente token en la secuencia. La arquitectura Q-former no permite interacciones entre los incrustaciones de la imagen y los tokens de texto; Por lo tanto, el texto debe generarse basándose únicamente en la información visual, lo que obliga al modelo a extraer características visuales relevantes.

Para ambosPérdida de contraste de texto mago y Pérdida de coincidencia de texto de imagenlos autores utilizaron un muestreo negativo en lotes, lo que significa que si tenemos un tamaño por lotes de 512, cada par de texto de imagen tiene una muestra positiva y 511 muestras negativas. Este enfoque aumenta la eficiencia ya que las muestras negativas se toman del lote, y no hay necesidad de buscar todo el conjunto de datos. También proporciona un conjunto más diverso de comparaciones, lo que lleva a una mejor estimación de gradiente y una convergencia más rápida.

Figura 3: Pérdidas de capacitación explicadas (Imagen del autor)

Proceso de capacitación

El entrenamiento de Blip-2 consta de dos etapas:

Etapa 1-Bootstrapping Representación visual en idioma:

  1. El modelo recibe imágenes como entrada que se convierten en una incrustación utilizando el codificador visual congelado.
  2. Junto con estas imágenes, el modelo recibe sus descripciones de texto, que también se convierten en incrustaciones.
  3. El Q-former está entrenado usando pérdida de texto de textoasegurando que las integridades visuales se alineen estrechamente con sus incrustaciones textuales correspondientes y se aleje más de las descripciones de texto que no coinciden. Al mismo tiempo, el Pérdida de coincidencia de texto de imagen Ayuda al modelo a desarrollar representaciones de grano fino aprendiendo a clasificar si un texto determinado describe correctamente la imagen o no.
Figura 4: Proceso de capacitación en la etapa 1 (Imagen del autor)

Etapa 2-Bootstrapping Vision-to Language Generation:

  1. El modelo de lenguaje previamente capacitado está integrado en la arquitectura para generar texto basado en las representaciones previamente aprendidas.
  2. El enfoque cambia de la alineación a la generación de texto mediante el uso de la pérdida de generación de texto con conexión a imagen que mejora las capacidades del modelo de razonamiento y generación de texto.
Figura 5: Proceso de capacitación de la etapa 2 (imagen del autor)

Creación de un agente de búsqueda de moda multimodal usando Blip-2 y Gemini

En esta sección, aprovecharemos las capacidades multimodales de Blip-2 para construir un agente de búsqueda de asistente de moda que pueda recibir texto de entrada y/o imágenes y recomendaciones de devolver. Para las capacidades de conversación del agente, utilizaremos Gemini 1.5 Pro alojado en Vertex AI, y para la interfaz, construiremos una aplicación de transmisión.

El conjunto de datos de moda utilizado en este caso de uso tiene licencia bajo la licencia MIT y se puede acceder a través del siguiente enlace: conjunto de datos de imágenes de productos de moda. Consiste en más de 44k imágenes de productos de moda.

El primer paso para hacer esto posible es configurar un Vector DB. Esto permite al agente realizar una búsqueda vectorizada basada en los incrustaciones de la imagen de los elementos disponibles en la tienda y los incrustaciones de texto o imagen de la entrada. Utilizamos Docker y Docker-Compose para ayudarnos a establecer el medio ambiente:

  • Compuesto de acopolador con Postgres (la base de datos) y la extensión PGVector que permite la búsqueda vectorizada.
services:
  postgres:
    container_name: container-pg
    image: ankane/pgvector
    hostname: localhost
    ports:
      - "5432:5432"
    env_file:
      - ./env/postgres.env
    volumes:
      - postgres-data:/var/lib/postgresql/data
    restart: unless-stopped

  pgadmin:
    container_name: container-pgadmin
    image: dpage/pgadmin4
    depends_on:
      - postgres
    ports:
      - "5050:80"
    env_file:
      - ./env/pgadmin.env
    restart: unless-stopped

volumes:
  postgres-data:
  • Archivo env enviado con las variables para iniciar sesión en la base de datos.
POSTGRES_DB=postgres
POSTGRES_USER=admin
POSTGRES_PASSWORD=root
  • Archivo env envado con las variables para iniciar sesión en la interfaz de usuario para consultar manual la base de datos (opcional).
[email protected] 
PGADMIN_DEFAULT_PASSWORD=root
  • Archivo ENV de conexión con todos los componentes para usar para conectarse a PGVector usando Langchain.
DRIVER=psycopg
HOST=localhost
PORT=5432
DATABASE=postgres
USERNAME=admin
PASSWORD=root

Una vez que el Vector DB está configurado (Docker -Compose Up -D), es hora de crear los agentes y herramientas para realizar una búsqueda multimodal. Construimos dos agentes para resolver este caso de uso: uno para comprender lo que el usuario solicita y otro para proporcionar la recomendación:

  • El clasificador es responsable de recibir el mensaje de entrada del cliente y extraer qué categoría de ropa está buscando, por ejemplo, camisetas, pantalones, zapatos, camisetas o camisas. También devolverá la cantidad de artículos que el cliente desea para que podamos recuperar el número exacto del Vector DB.
from langchain_core.output_parsers import PydanticOutputParser
from langchain_core.prompts import PromptTemplate
from langchain_google_vertexai import ChatVertexAI
from pydantic import BaseModel, Field

class ClassifierOutput(BaseModel):
    """
    Data structure for the model's output.
    """

    category: list = Field(
        description="A list of clothes category to search for ('t-shirt', 'pants', 'shoes', 'jersey', 'shirt')."
    )
    number_of_items: int = Field(description="The number of items we should retrieve.")

class Classifier:
    """
    Classifier class for classification of input text.
    """

    def __init__(self, model: ChatVertexAI) -> None:
        """
        Initialize the Chain class by creating the chain.
        Args:
            model (ChatVertexAI): The LLM model.
        """
        super().__init__()

        parser = PydanticOutputParser(pydantic_object=ClassifierOutput)

        text_prompt = """
        You are a fashion assistant expert on understanding what a customer needs and on extracting the category or categories of clothes a customer wants from the given text.
        Text:
        text

        Instructions:
        1. Read carefully the text.
        2. Extract the category or categories of clothes the customer is looking for, it can be:
            - t-shirt if the custimer is looking for a t-shirt.
            - pants if the customer is looking for pants.
            - jacket if the customer is looking for a jacket.
            - shoes if the customer is looking for shoes.
            - jersey if the customer is looking for a jersey.
            - shirt if the customer is looking for a shirt.
        3. If the customer is looking for multiple items of the same category, return the number of items we should retrieve. If not specfied but the user asked for more than 1, return 2.
        4. If the customer is looking for multiple category, the number of items should be 1.
        5. Return a valid JSON with the categories found, the key must be 'category' and the value must be a list with the categories found and 'number_of_items' with the number of items we should retrieve.

        Provide the output as a valid JSON object without any additional formatting, such as backticks or extra text. Ensure the JSON is correctly structured according to the schema provided below.
        format_instructions

        Answer:
        """

        prompt = PromptTemplate.from_template(
            text_prompt, partial_variables="format_instructions": parser.get_format_instructions()
        )
        self.chain = prompt | model | parser

    def classify(self, text: str) -> ClassifierOutput:
        """
        Get the category from the model based on the text context.
        Args:
            text (str): user message.
        Returns:
            ClassifierOutput: The model's answer.
        """
        try:
            return self.chain.invoke("text": text)
        except Exception as e:
            raise RuntimeError(f"Error invoking the chain: e")
  • El asistente es responsable de responder con una recomendación personalizada recuperada del Vector DB. En este caso, también estamos aprovechando las capacidades multimodales de Gemini para analizar las imágenes recuperadas y producir una mejor respuesta.
from langchain_core.output_parsers import PydanticOutputParser
from langchain_core.prompts import PromptTemplate
from langchain_google_vertexai import ChatVertexAI
from pydantic import BaseModel, Field

class AssistantOutput(BaseModel):
    """
    Data structure for the model's output.
    """

    answer: str = Field(description="A string with the fashion advice for the customer.")

class Assistant:
    """
    Assitant class for providing fashion advice.
    """

    def __init__(self, model: ChatVertexAI) -> None:
        """
        Initialize the Chain class by creating the chain.
        Args:
            model (ChatVertexAI): The LLM model.
        """
        super().__init__()

        parser = PydanticOutputParser(pydantic_object=AssistantOutput)

        text_prompt = """
        You work for a fashion store and you are a fashion assistant expert on understanding what a customer needs.
        Based on the items that are available in the store and the customer message below, provide a fashion advice for the customer.
        Number of items: number_of_items
        
        Images of items:
        items

        Customer message:
        customer_message

        Instructions:
        1. Check carefully the images provided.
        2. Read carefully the customer needs.
        3. Provide a fashion advice for the customer based on the items and customer message.
        4. Return a valid JSON with the advice, the key must be 'answer' and the value must be a string with your advice.

        Provide the output as a valid JSON object without any additional formatting, such as backticks or extra text. Ensure the JSON is correctly structured according to the schema provided below.
        format_instructions

        Answer:
        """

        prompt = PromptTemplate.from_template(
            text_prompt, partial_variables="format_instructions": parser.get_format_instructions()
        )
        self.chain = prompt | model | parser

    def get_advice(self, text: str, items: list, number_of_items: int) -> AssistantOutput:
        """
        Get advice from the model based on the text and items context.
        Args:
            text (str): user message.
            items (list): items found for the customer.
            number_of_items (int): number of items to be retrieved.
        Returns:
            AssistantOutput: The model's answer.
        """
        try:
            return self.chain.invoke("customer_message": text, "items": items, "number_of_items": number_of_items)
        except Exception as e:
            raise RuntimeError(f"Error invoking the chain: e")

En términos de herramientas, definimos uno basado en Blip-2. Consiste en una función que recibe un texto o imagen como entrada y devuelve incrustaciones normalizadas. Dependiendo de la entrada, los incrustaciones se producen utilizando el modelo de incrustación de texto o el modelo de incrustación de imagen de Blip-2.

from typing import Optional

import numpy as np
import torch
import torch.nn.functional as F
from PIL import Image
from PIL.JpegImagePlugin import JpegImageFile
from transformers import AutoProcessor, Blip2TextModelWithProjection, Blip2VisionModelWithProjection

PROCESSOR = AutoProcessor.from_pretrained("Salesforce/blip2-itm-vit-g")
TEXT_MODEL = Blip2TextModelWithProjection.from_pretrained("Salesforce/blip2-itm-vit-g", torch_dtype=torch.float32).to(
    "cpu"
)
IMAGE_MODEL = Blip2VisionModelWithProjection.from_pretrained(
    "Salesforce/blip2-itm-vit-g", torch_dtype=torch.float32
).to("cpu")

def generate_embeddings(text: Optional[str] = None, image: Optional[JpegImageFile] = None) -> np.ndarray:
    """
    Generate embeddings from text or image using the Blip2 model.
    Args:
        text (Optional[str]): customer input text
        image (Optional[Image]): customer input image
    Returns:
        np.ndarray: embedding vector
    """
    if text:
        inputs = PROCESSOR(text=text, return_tensors="pt").to("cpu")
        outputs = TEXT_MODEL(**inputs)
        embedding = F.normalize(outputs.text_embeds, p=2, dim=1)[:, 0, :].detach().numpy().flatten()
    else:
        inputs = PROCESSOR(images=image, return_tensors="pt").to("cpu", torch.float16)
        outputs = IMAGE_MODEL(**inputs)
        embedding = F.normalize(outputs.image_embeds, p=2, dim=1).mean(dim=1).detach().numpy().flatten()

    return embedding

Tenga en cuenta que creamos la conexión a PGVector con un modelo de incrustación diferente porque es obligatorio, aunque no se utilizará ya que almacenaremos los incrustaciones producidos por Blip-2 directamente.

En el ciclo a continuación, iteramos sobre todas las categorías de ropa, cargamos las imágenes y creamos y agreguamos las incrustaciones que se almacenarán en el Vector DB en una lista. Además, almacenamos la ruta a la imagen como texto para que podamos representarla en nuestra aplicación de transmisión. Finalmente, almacenamos la categoría para filtrar los resultados en función de la categoría predicha por el agente del clasificador.

import glob
import os

from dotenv import load_dotenv
from langchain_huggingface.embeddings import HuggingFaceEmbeddings
from langchain_postgres.vectorstores import PGVector
from PIL import Image

from blip2 import generate_embeddings

load_dotenv("env/connection.env")

CONNECTION_STRING = PGVector.connection_string_from_db_params(
    driver=os.getenv("DRIVER"),
    host=os.getenv("HOST"),
    port=os.getenv("PORT"),
    database=os.getenv("DATABASE"),
    user=os.getenv("USERNAME"),
    password=os.getenv("PASSWORD"),
)

vector_db = PGVector(
    embeddings=HuggingFaceEmbeddings(model_name="nomic-ai/modernbert-embed-base"),  # does not matter for our use case
    collection_name="fashion",
    connection=CONNECTION_STRING,
    use_jsonb=True,
)

if __name__ == "__main__":

    # generate image embeddings
    # save path to image in text
    # save category in metadata
    texts = []
    embeddings = []
    metadatas = []

    for category in glob.glob("images/*"):
        cat = category.split("/")[-1]
        for img in glob.glob(f"category/*"):
            texts.append(img)
            embeddings.append(generate_embeddings(image=Image.open(img)).tolist())
            metadatas.append("category": cat)

    vector_db.add_embeddings(texts, embeddings, metadatas)

Ahora podemos construir nuestra aplicación aerodinámica para chatear con nuestro asistente y pedir recomendaciones. El chat comienza con el agente preguntando cómo puede ayudar y proporcionar un cuadro para que el cliente escriba un mensaje y/o cargue un archivo.

Una vez que el cliente responde, el flujo de trabajo es el siguiente:

  • El agente del clasificador identifica qué categorías de ropa está buscando el cliente y cuántas unidades desean.
  • Si el cliente carga un archivo, este archivo se convertirá en una incrustación, y buscaremos elementos similares en el Vector DB, condicionado por la categoría de ropa que el cliente desea y la cantidad de unidades.
  • Los elementos recuperados y el mensaje de entrada del cliente se envían al agente asistente para producir el mensaje de recomendación que se transforma junto con las imágenes recuperadas.
  • Si el cliente no cargó un archivo, el proceso es el mismo, pero en lugar de generar insertos de imagen para la recuperación, creamos incrustaciones de texto.
import os

import streamlit as st
from dotenv import load_dotenv
from langchain_google_vertexai import ChatVertexAI
from langchain_huggingface.embeddings import HuggingFaceEmbeddings
from langchain_postgres.vectorstores import PGVector
from PIL import Image

import utils
from assistant import Assistant
from blip2 import generate_embeddings
from classifier import Classifier

load_dotenv("env/connection.env")
load_dotenv("env/llm.env")

CONNECTION_STRING = PGVector.connection_string_from_db_params(
    driver=os.getenv("DRIVER"),
    host=os.getenv("HOST"),
    port=os.getenv("PORT"),
    database=os.getenv("DATABASE"),
    user=os.getenv("USERNAME"),
    password=os.getenv("PASSWORD"),
)

vector_db = PGVector(
    embeddings=HuggingFaceEmbeddings(model_name="nomic-ai/modernbert-embed-base"),  # does not matter for our use case
    collection_name="fashion",
    connection=CONNECTION_STRING,
    use_jsonb=True,
)

model = ChatVertexAI(model_name=os.getenv("MODEL_NAME"), project=os.getenv("PROJECT_ID"), temperarture=0.0)
classifier = Classifier(model)
assistant = Assistant(model)

st.title("Welcome to ZAAI's Fashion Assistant")

user_input = st.text_input("Hi, I'm ZAAI's Fashion Assistant. How can I help you today?")

uploaded_file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])

if st.button("Submit"):

    # understand what the user is asking for
    classification = classifier.classify(user_input)

    if uploaded_file:

        image = Image.open(uploaded_file)
        image.save("input_image.jpg")
        embedding = generate_embeddings(image=image)

    else:

        # create text embeddings in case the user does not upload an image
        embedding = generate_embeddings(text=user_input)

    # create a list of items to be retrieved and the path
    retrieved_items = []
    retrieved_items_path = []
    for item in classification.category:
        clothes = vector_db.similarity_search_by_vector(
            embedding, k=classification.number_of_items, filter="category": "$in": [item]
        )
        for clothe in clothes:
            retrieved_items.append("bytesBase64Encoded": utils.encode_image_to_base64(clothe.page_content))
            retrieved_items_path.append(clothe.page_content)

    # get assistant's recommendation
    assistant_output = assistant.get_advice(user_input, retrieved_items, len(retrieved_items))
    st.write(assistant_output.answer)

    cols = st.columns(len(retrieved_items)+1)
    for col, retrieved_item in zip(cols, ["input_image.jpg"]+retrieved_items_path):
        col.image(retrieved_item)

    user_input = st.text_input("")

else:
    st.warning("Please provide text.")

Ambos ejemplos se pueden ver a continuación:

La Figura 6 muestra un ejemplo en el que el cliente cargó una imagen de una camiseta roja y le pidió al agente que completara el atuendo.

Figura 6: Ejemplo de entrada e entrada de imagen (imagen por autor)

La Figura 7 muestra un ejemplo más directo en el que el cliente le pidió al agente que les mostrara camisetas negras.

Figura 7: Ejemplo de entrada de texto (imagen por autor)

Conclusión

La IA multimodal ya no es solo un tema de investigación. Se está utilizando en la industria para remodelar la forma en que los clientes interactúan con los catálogos de la empresa. En este artículo, exploramos cómo se pueden combinar modelos multimodales como Blip-2 y Gemini para abordar los problemas del mundo real y proporcionar una experiencia más personalizada a los clientes de una manera escalable.

Exploramos la arquitectura de Blip-2 en profundidad, demostrando cómo une la brecha entre las modalidades de texto y imagen. Para extender sus capacidades, desarrollamos un sistema de agentes, cada uno especializado en diferentes tareas. Este sistema integra un LLM (Gemini) y una base de datos vectorial, lo que permite la recuperación del catálogo de productos utilizando incrustaciones de texto e imágenes. También aprovechamos el razonamiento multimodal de Géminis para mejorar las respuestas del agente de ventas para ser más humanos.

Con herramientas como Blip-2, Gemini y PG Vector, el futuro de la búsqueda y recuperación multimodal ya está sucediendo, y los motores de búsqueda del futuro se verán muy diferentes de los que usamos hoy.

Acerca de mí

Empresario en serie y líder en el espacio de IA. Desarrollo productos de IA para empresas e invierto en nuevas empresas centradas en la IA.

Fundador @ Zaai | LinkedIn | X/Twitter

Referencias

[1] Junnan Li, Dongxu Li, Silvio Savarese, Steven Hoi. 2023. BLIP-2: Bootstrapping Language-Image Training con codificadores de imágenes congeladas y modelos de idiomas grandes. ARXIV: 2301.12597

[2] Prannay Khosla, Piotr Teterwak, Chen Wang, Aaron Sarna, Yonglong Tian, ​​Phillip Isola, Aaron Maschinot, CE Liu, Dilip Krishnan. 2020. Aprendizaje contrastante supervisado. ARXIV: 2004.11362

[3] Junnan Li, Rampasaath R. Selvaraju, Akhilesh Deepak Gotmare, Shafiq Joty, Caiming Xiong, Steven Hoi. 2021. Alinee antes del fusible: el aprendizaje de la representación del lenguaje y la visión con la destilación de impulso. ARXIV: 2107.07651

[4] Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xiaodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, Hsiao-Wuen Hon. 2019. Modelo de lenguaje unificado Precrendimiento para la comprensión del lenguaje natural y la generación. ARXIV: 1905.03197

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Noticias

Google lanza Gemini 2.5 Pro, empujando los límites del razonamiento de IA

Published

on

Gemini 2.5 Pro es el último modelo de IA multimodal a gran escala de Google Deepmind, diseñado con capacidades incorporadas de “pensamiento” para manejar tareas complejas. Como el primer lanzamiento de la serie Gemini 2.5, el modelo Pro lidera muchos puntos de referencia de la industria mediante márgenes significativos y demuestra fuertes capacidades de razonamiento y codificación.

A diferencia de las generaciones anteriores de IA que simplemente predijeron texto basado en patrones, Gemini 2.5 Pro está diseñado para analizar la información profundamente, sacar conclusiones lógicas, incorporar un contexto matizado y tomar decisiones informadas antes de responder. Esta evolución en las posiciones de diseño Gemini 2.5 Pro como un modelo de propósito general altamente avanzado que es adecuado para aplicaciones empresariales que exigen precisión y adaptabilidad.

En el núcleo de las características avanzadas de Gemini 2.5 Pro hay un cambio fundamental en su diseño arquitectónico, avanzando hacia lo que Google se refiere como un “modelo de pensamiento”. Esto indica una ruptura de los modelos de IA tradicionales centrados principalmente en la predicción y la clasificación hacia un sistema que se involucra en la deliberación y el razonamiento internos antes de generar una respuesta. Este enfoque intencional conduce a un rendimiento y una precisión significativamente mejorados, especialmente cuando se abordan tareas complejas que requieren más que un mero reconocimiento de patrones.

El rendimiento mejorado de Gemini Pro 2.5 no se debe únicamente al aumento de la potencia computacional o el tamaño del modelo. Más bien, surge de una combinación sofisticada de un modelo base subyacente muy mejorado, aprovechando los avances en la arquitectura de la red neuronal, los conjuntos de datos de entrenamiento extensos y las metodologías refinadas posteriores a la capacitación. Estas técnicas posteriores a la capacitación, que con frecuencia implican el aprendizaje de refuerzo, son cruciales para ajustar el comportamiento del modelo, asegurando una mayor calidad y resultados más relevantes. Esta evolución arquitectónica permite que el modelo realice análisis de información más exhaustivos, lleguen a conclusiones más precisas y lógicas, comprenda mejor e incorpore matices contextuales y, en última instancia, tome decisiones más informadas y confiables, capacidad que son esenciales para aplicaciones comerciales estratégicas.

Más allá del razonamiento abstracto, Gemini 2.5 Pro ofrece un conjunto de capacidades avanzadas que son directamente relevantes para las necesidades empresariales. Lo más destacado es su mejora significativa en el dominio de la codificación. Los ingenieros de Google informan que el rendimiento de la codificación experimentó un salto considerable de Gemini 2.0 a 2.5, con más mejoras en el horizonte. El modelo 2.5 Pro se destaca en la generación y el código de refinación, capaz de crear un software complejo, como una aplicación web interactiva funcional, desde un aviso de alto nivel. En una demostración, el modelo desarrolló un juego completo de “corredor interminable” en HTML/JS a partir de un mensaje de una sola línea, ilustrando su capacidad para administrar las tareas de codificación a nivel de proyecto de forma autónoma. Gemini 2.5 Pro también se destaca en una sólida transformación y edición de código, por lo que es valioso para tareas como refactorizar el código heredado o la traducción del código entre idiomas. En un punto de referencia de ingeniería de software estandarizado (verificado por el banco SWE), el modelo logró una puntuación alta (63.8%) utilizando una configuración de agente autónomo, lo que indica su fuerza para abordar los desafíos de codificación complejos de varios pasos. Para las empresas, esto significa que la IA puede funcionar no solo como un asistente de conversación sino también como una ayuda de codificación capaz o incluso un agente de software semiautónomo.

Como parte del ecosistema de Géminis más amplio, Google también ha introducido TXGEMMA, un conjunto de modelos abiertos dirigidos a desafíos especializados de la industria. TXGEMMA es una colección de modelos derivados de la Serie Ligera de Gemma (versiones de código abierto de Gemini Technology) y adaptado específicamente para el desarrollo terapéutico de fármacos y biotecnología. Estos modelos están capacitados para comprender y predecir las propiedades de posibles medicamentos y terapias génicas, lo que ayuda a los investigadores a identificar candidatos prometedores e incluso pronosticar resultados de ensayos clínicos.

En esencia, TXGEMMA toma las técnicas de modelado y razonamiento del lenguaje central de Géminis y las aplica al dominio farmacéutico, donde puede examinar la literatura biomédica, los datos químicos y los resultados del ensayo para ayudar en las decisiones de I + D. El modelo de TXGEMMA más grande (con 27 mil millones de parámetros) ha demostrado el rendimiento a la par o excediendo modelos especializados en muchas tareas de descubrimiento de fármacos, todo mientras se conserva las habilidades generales de razonamiento. Para los líderes empresariales en atención médica y ciencias de la vida, TXGEMMA muestra la adaptabilidad de la arquitectura de Géminis a dominios misioneros críticos: ilustra cómo la IA de vanguardia puede acelerar flujos de trabajo altamente específicos como el descubrimiento de fármacos que tradicionalmente llevan años e incurrir en costos masivos.

Gemini 2.5 Pro representa un paso adelante significativo en el diseño del modelo de IA, combinando la potencia bruta con capacidades de razonamiento refinado que abordan directamente las tareas complejas del mundo real. Su arquitectura, con multimodalidad nativa y una longitud de contexto sin precedentes, permite a las empresas traer una variedad más rica de datos para tener problemas, extrayendo ideas que los modelos anteriores podrían haberse perdido. El fuerte desempeño del modelo en los puntos de referencia de codificación y razonamiento brinda la confianza de que puede manejar aplicaciones exigentes, desde la automatización de partes de la ingeniería de software hasta dar sentido a las amplias bases de conocimiento corporativo. Con el soporte de Google para la integración empresarial a través de plataformas en la nube y la aparición de ramas específicas de dominio como TXGEMMA, el ecosistema Gemini 2.5 Pro está listo para proporcionar la inteligencia general y las habilidades especializadas que buscan las empresas modernas. Para las CXO que planea la estrategia de IA de su empresa, Gemini 2.5 Pro ofrece una vista previa de cómo se pueden implementar sistemas de IA de próxima generación para impulsar la innovación y la ventaja competitiva, todos centrados en un razonamiento más profundo, un contexto más amplio y resultados tangibles.

Continue Reading

Noticias

Gemini 2.5 Pro está aquí, y cambia el juego AI (nuevamente)

Published

on

Google ha presentado Gemini 2.5 Pro, llamándolo “Modelo de IA más inteligente” hasta la fecha. Este último modelo de lenguaje grande, desarrollado por el equipo de Google Deepmind, se describe como un “modelo de pensamiento” diseñado para abordar problemas complejos razonando a través de pasos internamente antes de responder. Los primeros puntos de referencia respaldan la confianza de Google: Gemini 2.5 Pro (un primer lanzamiento experimental de la serie 2.5) debutan en el número 1 en la tabla de clasificación Lmarena de asistentes de IA por un margen significativo, y lidera muchas pruebas estándar para la codificación, las matemáticas y las tareas científicas.

Las nuevas capacidades y características clave en Gemini 2.5 Pro incluyen:

  • Razonamiento de la cadena de pensamiento: A diferencia de los chatbots más sencillos, Gemini 2.5 Pro explícitamente “piensa” a través de un problema internamente. Esto lleva a respuestas más lógicas y precisas sobre consultas difíciles, desde rompecabezas lógicos difíciles hasta tareas de planificación complejas.
  • Rendimiento de última generación: Google informa que 2.5 Pro supera los últimos modelos de OpenAI y Anthrope en muchos puntos de referencia. Por ejemplo, estableció nuevos máximos en las pruebas de razonamiento difíciles como el último examen de la humanidad (puntuando 18.8% frente a 14% para el modelo de OpenAI y 8.9% para Anthrope’s), y lidera en varios desafíos de matemáticas y ciencias sin necesidad de trucos costosos como la votación en conjunto.
  • Habilidades de codificación avanzada: El modelo muestra un gran salto en la capacidad de codificación sobre su predecesor. Se destaca en la generación y edición del código para aplicaciones web e incluso scripts autónomos de “agente”. En el punto de referencia de codificación SWE-Bench, Gemini 2.5 Pro alcanzó una tasa de éxito del 63.8%, muy por delante de los resultados de OpenAi, aunque todavía un poco detrás del modelo especializado de “soneto” “soneto” de Anthrope (70.3%).
  • Comprensión multimodal: Al igual que los modelos Gemini anteriores, 2.5 Pro es multimodal nativo: puede aceptar y razonar sobre texto, imágenes, audio, incluso videos e entrada de código en una conversación. Esta versatilidad significa que podría describir una imagen, depurar un programa y analizar una hoja de cálculo, todo dentro de una sola sesión.
  • Ventana de contexto masivo: Quizás lo más impresionante, Gemini 2.5 Pro puede manejar hasta 1 millón de tokens de contexto (con una actualización de tokens de 2 millones en el horizonte). En términos prácticos, eso significa que puede ingerir cientos de páginas de textos o repositorios de código enteros a la vez sin perder el seguimiento de los detalles. Esta larga memoria supera enormemente lo que ofrecen la mayoría de los otros modelos de IA, permitiendo que Gemini mantenga una comprensión detallada de documentos o discusiones muy grandes.

Según Google, estos avances provienen de un modelo base significativamente mejorado combinado con técnicas mejoradas después de la capacitación. En particular, Google también retira la marca separada de “pensamiento flash” que utilizó para Gemini 2.0; Con 2.5, las capacidades de razonamiento ahora están incorporadas de forma predeterminada en todos los modelos futuros. Para los usuarios, eso significa que incluso las interacciones generales con Gemini se beneficiarán de este nivel más profundo de “pensar” debajo del capó.

Implicaciones para la automatización y diseño

Más allá del zumbido de los puntos de referencia y la competencia, la importancia real de Gemini 2.5 Pro puede estar en lo que permite para los usuarios finales e industrias. El fuerte desempeño del modelo en las tareas de codificación y razonamiento no se trata solo de resolver acertijos para alardear de los derechos: insinúa nuevas posibilidades para la automatización del lugar de trabajo, el desarrollo de software e incluso el diseño creativo.

Tome la codificación, por ejemplo. Con la capacidad de generar código de trabajo a partir de un mensaje simple, Gemini 2.5 Pro puede actuar como un multiplicador de proyecto para los desarrolladores. Un solo ingeniero podría potencialmente prototipos de una aplicación web o analizar una base de código completa con asistencia de IA que maneja gran parte del trabajo de gruñidos. En una demostración de Google, el modelo creó un videojuego básico desde cero dada solo una descripción de una oración. Esto sugiere un futuro en el que los no programadores describirán una idea y obtendrán una aplicación en ejecución en respuesta (“codificación de vibos”), bajando drásticamente la barrera para la creación de software.

Incluso para desarrolladores experimentados, tener una IA que pueda comprender y modificar repositorios de código grandes (gracias a ese contexto de 1 m) significa una depuración más rápida, revisiones de código y refactorización. Nos estamos moviendo hacia una era de programadores de pares de IA que pueden mantener el “Gran imagen” de un proyecto complejo en su cabeza, por lo que no tiene que recordarles el contexto con cada aviso.

Las habilidades de razonamiento avanzado de Gemini 2.5 también juegan en la automatización del trabajo de conocimiento. Los primeros usuarios han intentado alimentarse en largos contratos y pedirle al modelo que extraiga cláusulas clave o resume puntos, con resultados prometedores. Imagine automatizar partes de la revisión legal, la investigación de diligencia debida o el análisis financiero al dejar que la IA pase a través de cientos de páginas de documentos y retire lo que importa, tareas que actualmente comen innumerables horas humanas.

La habilidad multimodal de Gemini significa que incluso podría analizar una mezcla de textos, hojas de cálculo y diagramas juntos, dando un resumen coherente. Este tipo de IA podría convertirse en un asistente invaluable para profesionales en derecho, medicina, ingeniería o cualquier campo ahogamiento en datos y documentación.

Para los campos creativos y el diseño de productos, modelos como Gemini 2.5 Pro también abren posibilidades intrigantes. Pueden servir como socios de lluvia de ideas, por ejemplo, que generan conceptos de diseño o copia de marketing mientras razonan sobre los requisitos, o como prototipos rápidos que transforman una idea aproximada en un borrador tangible. El énfasis de Google en el comportamiento de la agente (la capacidad del modelo para usar herramientas y realizar planes de varios pasos de forma autónoma) sugerencias de que las versiones futuras podrían integrarse directamente con el software.

Uno podría imaginar una IA de diseño que no solo sugiere ideas, sino que también navega por el software de diseño o escribe código para implementar esas ideas, todas guiadas por instrucciones humanas de alto nivel. Tales capacidades difuminan la línea entre “Thinker” y “Doer” en el reino de AI, y Gemini 2.5 es un paso en esa dirección, una IA que puede conceptualizar soluciones y ejecutarlas en varios dominios.

Sin embargo, estos avances también plantean preguntas importantes. A medida que AI asume tareas más complejas, ¿cómo nos aseguramos de que comprenda los matices y los límites éticos (por ejemplo, al decidir qué cláusulas de contrato son sensibles o cómo equilibrar los aspectos creativos frente a los aspectos prácticos en el diseño)? Google y otros necesitarán construir barandillas robustas, y los usuarios necesitarán aprender nuevos conjuntos de habilidades, lo que solicita y supervisará la IA, a medida que estas herramientas se convierten en compañeros de trabajo.

No obstante, la trayectoria es clara: modelos como Gemini 2.5 Pro están empujando la IA más profundamente en roles que anteriormente requerían inteligencia humana y creatividad. Las implicaciones para la productividad y la innovación son enormes, y es probable que veamos efectos dominantes en cómo se construyen los productos y cómo se realiza el trabajo en muchas industrias.

Géminis 2.5 y el nuevo campo AI

Con Gemini 2.5 Pro, Google está apostando un reclamo a la vanguardia de la carrera de IA, y enviando un mensaje a sus rivales. Hace solo un par de años, la narración era que la IA de Google (piense en las primeras iteraciones de Bard) estaba rezagada detrás de Chatgpt de OpenAi y los movimientos agresivos de Microsoft. Ahora, al organizar el talento combinado de Google Research y DeepMind, la compañía ha entregado un modelo que puede competir legítimamente por el título del mejor asistente de IA en el planeta.

Esto es un buen augurio para el posicionamiento a largo plazo de Google. Los modelos de IA se consideran cada vez más como plataformas centrales (al igual que los sistemas operativos o los servicios en la nube), y tener un modelo de nivel superior le da a Google una mano fuerte para jugar en todo, desde ofertas de la nube empresarial (Google Cloud/Vertex AI) hasta servicios de consumo como búsqueda, aplicaciones de productividad y Android. A la larga, podemos esperar que la familia Gemini se integre en muchos productos de Google, potencialmente sobrealimentando el Asistente de Google, mejorando las aplicaciones de Google Workspace con características más inteligentes y mejorando la búsqueda con habilidades más conversacionales y conscientes del contexto.

El lanzamiento de Gemini 2.5 Pro también destaca cuán competitivo se ha vuelto el panorama de IA. Operai, antrópico y otros jugadores como Meta y Startups emergentes están iterando rápidamente en sus modelos. Cada salto de una empresa, ya sea una ventana de contexto más amplia, una nueva forma de integrar herramientas o una nueva técnica de seguridad, es respondida rápidamente por otros. El movimiento de Google para incrustar el razonamiento en todos sus modelos es estratégico, asegurando que no se quede atrás en la “inteligencia” de su IA. Mientras tanto, la estrategia de Anthrope de dar a los usuarios más control (como se ve con la profundidad de razonamiento ajustable de Claude 3.7) y los refinamientos continuos de OpenAI a GPT-4.X mantienen la presión sobre.

Para los usuarios finales y los desarrolladores, esta competencia es en gran medida positiva: significa mejores sistemas de IA que llegan más rápido y más opciones en el mercado. Estamos viendo un ecosistema de IA en el que ninguna empresa tiene el monopolio de la innovación, y esa dinámica empuja a cada uno a sobresalir, al igual que los primeros días de la computadora personal o las guerras de teléfonos inteligentes.

En este contexto, la versión de Gemini 2.5 Pro es más que una actualización de productos de Google: es una declaración de intención. Se indica que Google pretende no ser solo un seguidor rápido sino un líder en la nueva era de la IA. La compañía está aprovechando su infraestructura informática masiva (necesaria para entrenar modelos con más de 1 millones de contextos tokens) y vastas recursos de datos para superar los límites que pocos otros pueden. Al mismo tiempo, el enfoque de Google (implementando modelos experimentales para usuarios de confianza, integrando AI en su ecosistema cuidadosamente) muestra un deseo de equilibrar la ambición con la responsabilidad y la practicidad.

Como Koray Kavukcuoglu, CTO de Google Deepmind, lo expresó en el anuncio, el objetivo es hacer que la IA sea más útil y capaz al mejorarlo a un ritmo rápido.

Para los observadores de la industria, Gemini 2.5 Pro es un hito que marca qué tan lejos ha llegado la IA a principios de 2025, y un indicio de hacia dónde va. El bar de “estado del arte” sigue aumentando: hoy es razonamiento y destreza multimodal, mañana podría ser algo así como la resolución de problemas o la autonomía aún más general. El último modelo de Google muestra que la compañía no solo está en la carrera, sino que tiene la intención de dar forma a su resultado. Si Gemini 2.5 tiene algo que ver, la próxima generación de modelos de IA estará aún más integrada en nuestro trabajo y vidas, lo que nos lleva a volver a imaginar cómo usamos la inteligencia de la máquina.

Continue Reading

Noticias

Usé IA para planificar mis comidas durante una semana, esta es mi opinión honesta.

Published

on

Como escritor, siempre he sido reclino de AI. ¿Robará mi trabajo? ¿Terminará tomando el mundo como esos robots en esa película de Will Smith? Dejando de lado mis dramáticas preocupaciones, me encontré increíblemente intrigado cuando recientemente encontré varias publicaciones en X (anteriormente Twitter) por personas que usaban ChatGPT para crear listas de compras y planificar sus comidas durante una semana. Cualquier cosa que haga que esta tarea semanal sea más fácil es algo que pueda respaldar, o al menos probar.

Entonces, como experimento, en lugar de llenar mi carrito de compras con los sospechosos habituales, utilicé ChatGPT para crear un plan de comidas de cinco días y mi lista de compras. Esto es lo que siguió:

El proceso

Para que Chatgpt se encargue de esta tarea para mí, escribí el siguiente comando: “Cree una lista de comestibles y recetas (desayuno, almuerzo, cena y bocadillos) para los lunes a viernes. El presupuesto es de $ 75. No incluya tomates, guisantes u avena. Las recetas deben ser bastante saludables y densas en nutrientes. ¡Gracias!”

Traté de ser lo más específico posible sin hacer demasiado. También quería desafiar a ChatGPT financieramente lanzando un presupuesto modesto. Y me aseguré de mantenerlo lindo y amable con un poco de gratitud al final (me niego a ser Yo, robot‘d). Al recibir mis resultados, había un ingrediente que sabía que quería salir. “Eso es genial, pero no tofu”, escribí al chatbot.

“¡Lo tengo! Ajustaré el plan y eliminaré el tofu, reemplazándolo con otras opciones de proteínas”, respondió ChatGPT, antes de compartir una lista de comestibles y un plan de comidas actualizados.

Y así, tenía una lista completa de comestibles y comidas de lunes a viernes. Aunque ChatGPT hizo todo el trabajo, me sentí productivo de alguna manera. Algo sobre las comidas planeadas para la semana realmente se quita una carga. Tenía esperanzas.

Las comidas

Aquí está el plan de comidas Chatgpt diseñado para mí, a continuación. Para ahorrarle mucha redundancia, he notado algunos, pero no todas, de las instrucciones que Chatgpt me dio en cuanto a la preparación. (La mayoría de estas comidas son bastante fáciles de hacer sin mucha dirección externa).

Lunes

Desayuno: Huevos revueltos con espinacas
Almuerzo
: Ensalada de atún con aceite de oliva, pepinos y zanahorias
Cena: Pollo a la parrilla con batatas asadas y brócoli (Sazone el pollo con sal, pimienta y ajo en polvo, luego sea la parrilla o la sartén; las batatas de cubos y asanlos con aceite de oliva, sal y pimienta a 400 ° F durante 25 minutos; brócoli de vapor).
Bocadillo: Yogurt griego con bayas.

Martes

Desayuno: Yogurt griego con mantequilla de plátano y maní (Corte el plátano y agregue a un tazón de yogurt griego; rocíe con mantequilla de maní para proteínas agregadas).
Almuerzo: Vegetal salteado con pollo y arroz marrón (Corte el pollo y cocine en aceite de oliva hasta que se dore; Agregue verduras congeladas y saltee con salsa de soja; Servir con arroz integral).
Cena: Pechuga de pollo al horno con calabacín asado y batatas
Bocadillo:
Zanahorias con mantequilla de maní

Miércoles

Desayuno: Huevos revueltos con pimiento rojo y espinacas
Almuerzo:
Envoltura de pollo y verduras con pan de trigo integral (Corte el pollo a la parrilla y coloque en una envoltura con espinacas y pepino. Rocíe con aceite de oliva y enrolle.)
Cena:
Salteado de pollo con brócoli y arroz marrón
Bocadillo:
Yogurt griego con llovizna de miel

Jueves

Desayuno: Tostada de mantequilla de plátano y maní
Almuerzo:
Ensalada de atún en tostada de trigo entero (Mezcle el atún enlatado con pepino picado y aceite de oliva; extienda la mezcla sobre pan de trigo integral tostado).
Cena: Pollo horneado con verduras asadas
Bocadillo: Zanahorias con salsa de yogurt griega

Viernes

Desayuno: Veggie Scramble con huevos
Almuerzo:
Tazón de pollo y arroz (Cocine el pollo y córtelo; sirva con arroz integral y brócoli al vapor; rocíe con salsa de soja).
Cena:
Pollo salteado con verduras mixtas y batata
Bocadillo:
Yogurt griego con un puñado de bayas congeladas.

Al revisar las diversas comidas que se proporcionan Chatgpt, desearía que incluya “Hacerlo sabroso” en mi solicitud inicial. Tengo que admitir que mis papilas gustativas estaban bastante aburridas el miércoles. No tengo nada contra el pollo, pero ahora sufro un caso importante de fatiga avícola.

Pinterest

Danielle Harling

Las compras de comestibles

Chatgpt me dio esta lista para hacer mis comidas, junto con su precio para cada artículo:

Desglose del presupuesto:

  • Huevos: $ 2.50
  • Pechuga de pollo (1 lb): $ 6.00
  • TUMA CONDIVADO: $ 1.00
  • Frijoles negros (1 lata): $ 1.00
  • Yogurt griego (32 oz): $ 4.00
  • Espinacas (1 grupo): $ 1.50
  • Brócoli (1 cabeza): $ 2.00
  • Batatas (2): $ 3.00
  • Calabacín (2): $ 1.50
  • Pepino (1): $ 1.00
  • Zanahorias (1 lb): $ 1.50
  • Pimiento rojo (1): $ 1.00
  • Verduras mixtas congeladas: $ 2.00
  • Bananas (2): $ 1.00
  • Manzanas (2): $ 1.50
  • Bayas congeladas: $ 3.00
  • Pan de trigo integral: $ 2.00
  • Arroz marrón: $ 2.00
  • Pasta de trigo integral: $ 1.50
  • Queso cheddar: $ 2.50
  • Leche: $ 1.50
  • Mantequilla de maní: $ 2.00
  • Aceite de oliva, salsa de soja, sal, pimienta, ajo en polvo, cebolla en polvo: ~ $ 6.00

Total: ~ $ 74.50

También incluyó este mensaje agradable en buena medida: “Esto debería estar dentro de su presupuesto mientras mantiene las comidas saludables y equilibradas. ¡Disfruta!”

Primero: el presupuesto. Ya tenía aceite de oliva, salsa de soja y los condimentos disponibles, por lo que no necesitaba comprarlos. Afortunadamente, tenía todos esos ingredientes porque no hay forma de que cuestan solo $ 6 juntos. ¡El aceite de oliva solo es más que eso! (Me pregunté si ChatGPT estaba calculando ese precio según la cantidad que usaría.

Compré más de una sola libra de pollo, no seguro si se trataba de un error de chatgpt, pero dada la cantidad de comidas que llamaban al pollo, me quedé con mi paquete habitual, que está más cerca de una libra y media. Para hacer mis compras, utilicé Instacart, que tiende a ser más caro que ir en persona, pero obtuve dentro de aproximadamente $ 10 de ese presupuesto de $ 75. ¡No está mal, chatgpt!

(Notaré que estaba cocinando para mí, pero con la cantidad de artículos comprados, habría habido mucha comida para uno, tal vez incluso otras dos personas).

Ahora, aquí es donde las cosas se ponen raras. Después de comprar los comestibles, comparé las comidas con la lista de comestibles, y algo importante se destacó. Varios de los artículos enumerados en la lista de compras no se usaron en las comidas. Sé que ChatGPT es plenamente consciente del costo de los comestibles, así que por qué me haría comprar cinco artículos (¡sí, cinco!) Que no necesitaba está más allá de mí. En caso de que se lo pregunte, esos cinco artículos eran una lata de frijoles negros, pasta de trigo integral, queso, manzanas y leche. Sinceramente, todavía estoy rascándome la cabeza sobre este.

plan de comidas chatgptPinterest

Danielle Harling

Dejando a un lado la lista de compras, estaba emocionado de probar algunas recetas nuevas (y saludables). Y me complace decir que encontré algunos favoritos nuevos gracias a este pequeño experimento. Entre mis recetas favoritas estaban el yogur griego con plátanos y mantequilla de maní (también agregué una llovizna de miel) y salteado de verduras con pollo y arroz integral.

Pero, hubo casos en los que se sentía absolutamente como si las comidas fueran planificadas por un robot. Por ejemplo, una envoltura de sándwich hecha “usando pan de trigo integral” me pareció un poco extraño. ¿Cómo “enrollar” una rebanada de pan? Y las bayas frescas habrían sido una mejor compra que las bayas congeladas, dado que las estaba usando como una cobertura de yogurt.

El veredicto

El fiasco de la lista de comestibles me apagó, pero avanzé. Y tal vez debería haber presionado ese carrito de comestibles virtual muy, muy lejos porque, en última instancia, esta es una técnica sin la que puedo prescindir. Además de un puñado de favoritos, las comidas sugeridas eran decepcionantes. La conveniencia de todo simplemente no valió la pena para mí. Estoy seguro de que obtendría mejores resultados con un presupuesto más grande y solicitudes más específicas, pero prefiero trabajar con una persona humana real en un plan de comidas que se adapte a mí individualmente.

¡Ahora, por favor envíeme todas sus recetas favoritas de pollo y sin atún!

Marca de letras

Danielle Harling es una escritora independiente con sede en Atlanta con un amor por los espacios diseñados con colores, cócteles artesanales y compras en línea (generalmente para tacones de diseñador que rompen el presupuesto). Su trabajo anterior ha aparecido en Fodor’s, Forbes, Mydomaine, Architectural Digest y más.

Continue Reading

Trending