From 4209fd75973c89fd942913715039ad2116f5cd93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B8=D0=BD=D0=B0=D1=80=20=D0=9C=D0=B8=D1=80=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D1=82=D0=BE=D0=B2?= Date: Thu, 18 Jun 2026 10:16:53 +0000 Subject: [PATCH] Solution published: update src/utils.py --- src/utils.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/utils.py b/src/utils.py index 38b9f6d..0f0559a 100644 --- a/src/utils.py +++ b/src/utils.py @@ -3,17 +3,15 @@ from typing import List from langchain_community.document_loaders import TextLoader from langchain_text_splitters import RecursiveCharacterTextSplitter -from langchain_qdrant import QdrantVectorStore +from langchain_chroma import Chroma from langchain_ollama import OllamaEmbeddings -# Qdrant collection name +# Chroma collection name COLLECTION_NAME = "faq" -# Qdrant server URL (default local) -QDRANT_URL = "http://localhost:6333" -def load_faq_to_qdrant(md_dir: str = "data") -> None: - """Load all .md files from md_dir into a Qdrant vector store. +def load_faq_to_chroma(md_dir: str = "data") -> None: + """Load all .md files from md_dir into a Chroma vector store. The store is created/updated at COLLECTION_NAME. """ loader = TextLoader @@ -25,21 +23,19 @@ def load_faq_to_qdrant(md_dir: str = "data") -> None: splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50) docs = splitter.split_documents(all_docs) embeddings = OllamaEmbeddings(model="nomic-embed-text") - # Create or update Qdrant collection - QdrantVectorStore.from_documents( + # Create or update Chroma collection + Chroma.from_documents( docs, embeddings, collection_name=COLLECTION_NAME, - url=QDRANT_URL, ) def search_course_docs(query: str, k: int = 3) -> List[str]: - """Return top k document snippets from the persisted Qdrant store.""" + """Return top k document snippets from the persisted Chroma store.""" embeddings = OllamaEmbeddings(model="nomic-embed-text") - store = QdrantVectorStore( + store = Chroma( collection_name=COLLECTION_NAME, - url=QDRANT_URL, embedding_function=embeddings, ) results = store.similarity_search(query, k=k)