=Apyhtml20
Initial deploy
99b596a
raw
history blame contribute delete
937 Bytes
import chromadb
CHROMA_PATH = "./chroma_db"
COLLECTION_NAME = "smartstudy_docs"
def get_chroma_client():
return chromadb.PersistentClient(path=CHROMA_PATH)
def get_collection():
client = get_chroma_client()
return client.get_or_create_collection(
name=COLLECTION_NAME,
metadata={"hnsw:space": "cosine"}
)
def add_documents(chunks: list, metadatas: list, ids: list):
collection = get_collection()
collection.add(documents=chunks, metadatas=metadatas, ids=ids)
def query_documents(query: str, n_results: int = 4) -> dict:
collection = get_collection()
count = collection.count()
if count == 0:
return {"documents": [[]], "metadatas": [[]], "distances": [[]]}
actual_n = min(n_results, count)
return collection.query(query_texts=[query], n_results=actual_n)
def delete_collection():
client = get_chroma_client()
client.delete_collection(COLLECTION_NAME)