Проблемы с удалением документов ChromaDB.
Кажется, я не могу удалить документы из моей базы данных векторов Chroma. Я был бы признателен за любую информацию о том, почему этот пример не работает и какие изменения можно/нужно внести, чтобы он работал правильно.
import dotenv
import os
import chromadb
from chromadb.config import Settings
from chromadb.utils import embedding_functions
dotenv.load_dotenv()
client = chromadb.Client(
Settings(chroma_db_impl="duckdb+parquet", persist_directory="db/chroma")
)
embedding = embedding_functions.OpenAIEmbeddingFunction(
api_key=os.getenv("OPENAI_API_KEY"),
model_name="text-embedding-ada-002",
)
collection = client.get_or_create_collection(name="test", embedding_function=embedding)
from llama_index import SimpleDirectoryReader
documents = SimpleDirectoryReader(
input_dir="./sampledir",
recursive=True,
exclude_hidden=False,
filename_as_id=True,
).load_data()
collection.add(
documents=[doc.get_text() for doc in documents],
ids=[doc.doc_id for doc in documents],
)
print(collection.count()) # PRINTS n
doc_ids = collection.get()["ids"]
collection.delete(ids=doc_ids)
print(collection.count()) # SHOULD BE ZERO, BUT PRINTS n