CommencezCommencez 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 pas les modifier, 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 ajouterez ou mettrez à jour ces ID dans la base de données selon qu'ils sont déjà présents ou non dans la collection.

Cette activité fait partie du cours

Introduction aux embeddings avec l'API d'OpenAI

Voir le cours

Instructions de l’exercice

  • Extrayez les ID et les documents de 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 ce code d’exemple.

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