Aktualisieren und Löschen von Elementen in einer Sammlung
Nur weil die Dokumente in einer Vektordatenbank gespeichert sind, heißt das nicht, dass du keine Änderungen vornehmen kannst, um die Sammlung zu ergänzen oder bestehende Einträge zu aktualisieren.
In dieser Übung bekommst du zwei neue Netflix-Titel, die auf new_data
gespeichert sind:
[{"id": "s1001", "document": "Title: Cats & Dogs (Movie)
Description: 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)
Description: Three teens spend their Halloween trying to stop a magical book, which brings characters from the "Goosebumps" novels to life.
Categories: Children & Family Movies, Comedies'}]
Du fügst diese IDs in der Datenbank entweder hinzu oder aktualisierst sie, je nachdem, ob sie bereits in der Sammlung 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_data
und benutze eine einzige Methode, um sie in dernetflix_titles
Sammlung zu aktualisieren, wenn sie bereits existieren, und sie hinzuzufügen, wenn sie nicht existieren. - Nachdem du die Elemente hinzugefügt/aktualisiert hast, lösche das Element mit ID
's95'
.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)