找出最相似的商品
能夠計算嵌入向量之間的相似度,是各種嵌入向量應用的重要步驟。本練習中,你將回到先前使用過的 products 字典清單,其中包含你先前建立的商品「短描述」嵌入向量。
你會把一段文字與這些已嵌入的描述進行比較,找出最相似的描述。
numpy 已以 np 匯入,且可從 scipy.spatial 使用 distance。一個 create_embeddings() 函式已替你定義好,可用來從單一輸入建立嵌入向量。
本練習屬於課程
Introduction to Embeddings with the OpenAI API
練習說明
- 使用你的自訂函式
create_embeddings()將文字"soap"做嵌入,並取出單一的嵌入向量清單。 - 計算
query_embedding與product中各嵌入向量之間的 cosine 距離。 - 使用
distances中的 cosine 距離,找出並印出與搜尋文字最相似之商品的'short_description'。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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(____)