Пошук найподібнішого товару
Уміння обчислювати подібність між вкладеннями (embeddings — векторними представленнями) є ключовим етапом у застосунках на їх основі. У цій вправі ви повернетеся до списку словників products, з яким працювали раніше. Він містить вкладені короткі описи, які ви також створювали раніше.
Ви порівняєте фрагмент тексту з цими вкладеними описами, щоб знайти найбільш подібний опис.
numpy імпортовано як np, а distance доступна з scipy.spatial. Функцію create_embeddings() уже визначено для вас — її можна використати для створення вкладень з одного вхідного тексту.
Ця вправа є частиною курсу
Вступ до Embeddings з OpenAI API
Інструкції до вправи
- Створіть вкладення для тексту
"soap"за допомогою вашої користувацької функціїcreate_embeddings()і отримайте один список значень вкладення. - Обчисліть косинусну відстань між
query_embeddingі вкладеннями вproduct. - Знайдіть і виведіть
'short_description'товару, що є найподібнішим до пошукового тексту, використовуючи косинусні відстані вdistances.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Embed the search text
search_text = "soap"
search_embedding = ____
distances = []
for product in products:
# Compute the cosine distance for each product description
dist = ____(search_embedding, ____)
distances.append(dist)
# Find and print the most similar product short_description
min_dist_ind = ____
print(____)