Actualizarea și ștergerea elementelor dintr-o colecție
Faptul că documentele au fost stocate într-o bază de date vectorială nu înseamnă că nu le poți modifica – poți adăuga elemente noi sau le poți actualiza pe cele existente.
În acest exercițiu, ai la dispoziție două titluri Netflix noi, stocate în 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'}]
Vei adăuga sau actualiza aceste ID-uri în baza de date, în funcție de dacă există deja în colecție.
Acest exercițiu face parte din cursul
Introducere în Embeddings cu API-ul OpenAI
Instrucțiuni pentru exercițiu
- Extrage ID-urile și documentele din
new_datași folosește o singură metodă pentru a le actualiza în colecțianetflix_titlesdacă există deja, sau pentru a le adăuga dacă nu există. - După ce ai adăugat/actualizat elementele, șterge elementul cu ID-ul
's95'.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)