LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Extrahiere die IDs und Dokumente aus new_data und benutze eine einzige Methode, um sie in der netflix_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)
Code bearbeiten und ausführen