CommencerCommencer gratuitement

Mettre à jour et supprimer des éléments d’une collection

Ce n’est pas parce que les documents sont stockés dans une base de données vectorielle que vous ne pouvez plus les modifier pour enrichir la collection ou mettre à jour des éléments existants.

Dans cet exercice, deux nouveaux titres Netflix vous sont fournis dans new_data :

[{"id": "s1001", "document": "Title: Cats & Dogs (Movie)\nDescription: A look at the top-secret, high-tech espionage war going on between cats and dogs, of which their human owners are blissfully unaware."},
 {"id": "s6884", "document": 'Title: Goosebumps 2: Haunted Halloween (Movie)\nDescription: Three teens spend their Halloween trying to stop a magical book, which brings characters from the "Goosebumps" novels to life.\nCategories: Children & Family Movies, Comedies'}]

Vous allez soit ajouter soit mettre à jour ces IDs dans la base, selon qu’ils sont déjà présents dans la collection ou non.

Cet exercice fait partie du cours

Introduction aux embeddings avec l’API OpenAI

Afficher le cours

Instructions

  • Extrayez les IDs et les documents depuis new_data, puis utilisez une seule méthode pour les mettre à jour dans la collection netflix_titles s’ils existent déjà, et les ajouter s’ils n’existent pas.
  • Après avoir ajouté/mis à jour les éléments, supprimez l’élément dont l’ID est 's95'.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

collection = client.get_collection(
  name="netflix_titles",
  embedding_function=OpenAIEmbeddingFunction(model_name="text-embedding-3-small", api_key="")
)

# Update or add the new documents
____(
    ids=____,
    documents=____
)

# Delete the item with ID "s95"
____

result = collection.query(
    query_texts=["films about dogs"],
    n_results=3
)
print(result)
Modifier et exécuter le code