НачатьНачать бесплатно

Эмбеддинги описаний товаров

Вам предоставлен список словарей products, содержащий информацию о товарах интернет-магазина. Ваша задача — создать эмбеддинги (векторные представления) поля 'short_description' для каждого товара, чтобы реализовать семантический поиск на сайте магазина.

Вот пример содержимого списка products:

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",
            "Quad-camera system with 48MP main sensor",
            "Face recognition and fingerprint sensor",
            "Fast wireless charging"
        ]
    },
    ...
]

Клиент OpenAI уже создан и присвоен переменной client.

Это упражнение является частью курса

Введение в эмбеддинги с OpenAI API

Посмотреть курс

Инструкции к упражнению

  • Создайте список product_descriptions, содержащий значения 'short_description' для каждого товара из products, используя генератор списка.
  • Создайте эмбеддинги для каждого 'short_description' с помощью пакетной обработки (batching), передав входные данные в модель text-embedding-3-small.
  • Извлеките эмбеддинги для каждого товара из response_dict и сохраните их в products под новым ключом 'embedding'.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Extract a list of product short descriptions from products
product_descriptions = [____ for product in ____]

# Create embeddings for each product description
response = ____
response_dict = response.model_dump()

# Extract the embeddings from response_dict and store in products
for i, product in ____:
    product['embedding'] = response_dict[____][____][____]
    
print(products[0].items())
Редактировать и запускать код