Znajdowanie najbardziej podobnego produktu
Obliczanie podobieństwa między osadzeniami (embeddings) to kluczowy krok w aplikacjach opartych na osadzeniach. W tym ćwiczeniu wrócisz do listy słowników products, z którą pracowałeś wcześniej – zawiera ona osadzone krótkie opisy produktów, które również samodzielnie utworzyłeś.
Porównasz fragment tekstu z tymi osadzonymi opisami, aby znaleźć najbardziej podobny.
numpy jest zaimportowany jako np, a distance jest dostępny z scipy.spatial. Funkcja create_embeddings() jest już zdefiniowana i gotowa do użycia – tworzy osadzenia na podstawie pojedynczego wejścia.
To ćwiczenie jest częścią kursu
Wprowadzenie do osadzeń z OpenAI API
Instrukcje do ćwiczenia
- Osadź tekst
"soap"za pomocą własnej funkcjicreate_embeddings()i wyodrębnij pojedynczą listę osadzeń. - Oblicz odległość cosinusową między
query_embeddinga osadzeniami wproduct. - Znajdź i wyświetl pole
'short_description'produktu najbardziej podobnego do szukanego tekstu, korzystając z odległości cosinusowych zapisanych wdistances.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____)