Эмбеддинги описаний товаров
Вам предоставлен список словарей 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())