НачатьНачать бесплатно

Обновление и удаление элементов коллекции

То, что документы сохранены в векторной базе данных, не означает, что их нельзя изменить: вы всегда можете добавить новые элементы или обновить существующие.

В этом упражнении вам предоставлены два новых тайтла Netflix, хранящихся в 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'}]

В зависимости от того, есть ли эти ID в коллекции, вы либо добавите новые записи, либо обновите существующие.

Это упражнение является частью курса

Введение в эмбеддинги с OpenAI API

Посмотреть курс

Инструкции к упражнению

  • Извлеките ID и документы из new_data и с помощью одного метода обновите их в коллекции netflix_titles, если они уже существуют, или добавьте их, если нет.
  • После добавления или обновления элементов удалите элемент с ID 's95'.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
Редактировать и запускать код