Hitta den mest liknande produkten
Att kunna beräkna likheten mellan inbäddningar (embeddings – vektorrepresentationer) är ett centralt steg i många embeddingbaserade tillämpningar. I den här övningen återvänder du till listan products med ordlistor som du arbetat med tidigare. Den innehåller de inbäddade kortbeskrivningar du skapade tidigare.
Du ska jämföra ett textstycke med dessa inbäddade beskrivningar för att identifiera den mest liknande beskrivningen.
numpy har importerats som np, och distance är tillgängligt från scipy.spatial. En funktion, create_embeddings(), har redan definierats åt dig och kan användas för att skapa inbäddningar från en enskild inmatning.
Den här övningen är en del av kursen
Introduktion till inbäddningar med OpenAI API
Övningsinstruktioner
- Bädda in texten
"soap"med din egna funktioncreate_embeddings()och extrahera en enskild lista med inbäddningar. - Beräkna cosinusavståndet mellan
query_embeddingoch inbäddningarna iproduct. - Hitta och skriv ut
'short_description'för den produkt som liknar söktexten mest, med hjälp av cosinusavstånden idistances.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____)