ComenzarEmpieza gratis

Sistema de recomendación de productos

En este ejercicio, crearás un sistema de recomendación para un minorista online que vende diversos productos. Este sistema recomienda tres productos similares a los usuarios que visitan una página de producto pero no compran, basándose en el último producto que visitaron.

Se te ha proporcionado una lista de diccionarios de productos disponibles en el sitio,

products = [

    {

        "title": "Smartphone X1",

        "short_description": "The latest flagship smartphone with AI-powered features and 5G connectivity.",

        "price": 799.99,

        "category": "Electronics",

        "features": [

            "6.5-inch AMOLED display",

            ...

            "Fast wireless charging"

        ]

    },

    ...

]

y un diccionario del último producto que visitó el usuario, almacenado en last_product.

También puedes utilizar las siguientes funciones personalizadas definidas anteriormente en el curso:

  • create_embeddings(texts) → devuelve una lista de incrustaciones para cada texto de texts.
  • create_product_text(product) → combina las características de product en una sola cadena para incrustarla.
  • find_n_closest(query_vector, embeddings, n=3) → devuelve las n distancias más cercanas y sus índices entre las query_vector y embeddings, basándose en las distancias coseno.

Este ejercicio forma parte del curso

Introducción a las incrustaciones con la OpenAI API

Ver curso

Instrucciones de ejercicio

  • Combina las características del texto en last_product, y para cada producto en products, utilizando create_product_text().
  • Incrusta las listas last_product_text y product_texts utilizando create_embeddings(), asegurándote de que last_product_embeddings es una lista única.
  • Encuentra las tres distancias coseno más pequeñas y sus índices utilizando find_n_closest().

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Combine the features for last_product and each product in products
last_product_text = ____
product_texts = ____

# Embed last_product_text and product_texts
last_product_embeddings = ____
product_embeddings = ____

# Find the three smallest cosine distances and their indexes
hits = ____(____, product_embeddings)

for hit in hits:
  product = products[hit['index']]
  print(product['title'])
Editar y ejecutar código