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
Instructions
- Extrayez les IDs et les documents depuis
new_data, puis utilisez une seule méthode pour les mettre à jour dans la collectionnetflix_titless’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)