最も類似した商品を見つける
埋め込み間の類似度を計算する機能は、埋め込みを活用したアプリケーションに欠かせないステップです。この演習では、以前に使用した products という辞書のリストに戻ります。このリストには、すでに作成した商品の短い説明文の埋め込みが含まれています。
テキストをこれらの埋め込み済み説明文と比較して、最も類似した説明文を特定しましょう。
numpy は np としてインポート済みで、distance は scipy.spatial から利用できます。また、 create_embeddings() 関数はすでに定義されており、単一のテキストから埋め込みを作成するのに使用できます。
この演習はコースの一部です
OpenAI API で学ぶ埋め込み入門
演習の手順
- カスタム関数
create_embeddings()を使って"soap"というテキストを埋め込み、埋め込みのリストを1つ取り出します。 query_embeddingとproduct内の各埋め込みとのコサイン距離を計算します。distancesに格納されたコサイン距離を使って、検索テキストに最も類似した商品の'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(____)