コレクション内のアイテムを更新・削除する
ドキュメントをベクターデータベースに保存したからといって、コレクションにアイテムを追加したり、既存アイテムを更新したりできないわけではありません。
この演習では、new_data に保存された 2 つの新しい Netflix タイトルが提供されています。
[{"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 ではじめる Embeddings 入門
演習の手順
new_dataから ID と document を抽出し、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)