Embeddings verrijken
Eerder, toen je productinformatie embedde, was je beperkt tot alleen de 'short_description' van het product. Die bevatte een deel, maar niet alle relevante productinformatie. In deze oefening embed je 'title', 'short_description', 'category' en 'features' om veel meer informatie vast te leggen.
Hier is een geheugensteuntje van de products-lijst met dictionaries:
products = [
{
"title": "Smartphone X1",
"short_description": "The latest flagship smartphone with AI-powered features and 5G connectivity.",
"price": 799.99,
"category": "Electronics",
"features": [
"6.5-inch AMOLED display",
"Quad-camera system with 48MP main sensor",
"Face recognition and fingerprint sensor",
"Fast wireless charging"
]
},
...
]
Bij het combineren van de features tot één string moet het de volgende structuur hebben:
Title: <product title>
Description: <product description>
Category: <product category>
Features: <feature 1>; <feature 2>; <feature 3>; ...
Deze oefening maakt deel uit van de cursus
Introductie tot Embeddings met de OpenAI API
Oefeninstructies
- Definieer een functie
create_product_text()die de gegevenstitle,short_description,categoryenfeaturessamenvoegt tot één string met de gewenste structuur. - Gebruik
create_product_text()om de features voor elk product inproductste combineren en sla de resultaten op in een lijst. - Embed de tekst in
product_texts.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# Define a function to combine the relevant features into a single string
def create_product_text(product):
return f"""Title: {____}
Description: {____}
Category: {____}
Features: {____}"""
# Combine the features for each product
product_texts = [____ for product in ____]
# Create the embeddings from product_texts
product_embeddings = ____