Actualizar y eliminar elementos de una colección
El hecho de que los documentos se hayan almacenado en una base de datos vectorial no significa que no puedas hacer cambios para añadir a la colección o actualizar los elementos existentes.
En este ejercicio, se te han proporcionado dos nuevos títulos de Netflix almacenados en new_data
:
[{"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'}]
Añadirás o actualizarás estos IDs en la base de datos dependiendo de si ya están presentes en la colección.
Este ejercicio forma parte del curso
Introducción a las incrustaciones con la OpenAI API
Instrucciones de ejercicio
- Extrae los IDs y documentos de
new_data
, y utiliza un único método para actualizarlos en la colecciónnetflix_titles
si ya existen y añadirlos si no existen. - Cuando hayas añadido/actualizado los elementos, elimínalos con ID
's95'
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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)