Elemente in einer Collection aktualisieren und löschen
Nur weil die Dokumente in einer Vektordatenbank gespeichert sind, heißt das nicht, dass du die Collection nicht erweitern oder bestehende Einträge aktualisieren kannst.
In dieser Übung bekommst du zwei neue Netflix-Titel in new_data bereitgestellt:
[{"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'}]
Du fügst diese IDs entweder neu hinzu oder aktualisierst sie in der Datenbank – je nachdem, ob sie bereits in der Collection vorhanden sind.
Diese Übung ist Teil des Kurses
Einführung in Embeddings mit der OpenAI API
Anleitung zur Übung
- Extrahiere die IDs und Dokumente aus
new_dataund verwende eine einzelne Methode, um sie in der Collectionnetflix_titleszu aktualisieren, falls sie bereits existieren, und hinzuzufügen, falls nicht. - Nachdem du die Elemente hinzugefügt/aktualisiert hast, lösche das Element mit der ID
's95'.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)