diff --git a/rag_tools.py b/rag_tools.py index a4d456e..0a35ea4 100644 --- a/rag_tools.py +++ b/rag_tools.py @@ -3,6 +3,7 @@ from qdrant_client import QdrantClient from langchain.embeddings.ollama import OllamaEmbeddings from langchain.vectorstores.qdrant import QdrantVectorStore from langchain.text_splitter import RecursiveCharacterTextSplitter +from langchain.schema import Document # Initialize embeddings and vector store embeddings = OllamaEmbeddings(model="nomic-embed-text") @@ -10,7 +11,9 @@ client = QdrantClient(host="localhost", port=6333) collection_name = "knowledge_base" # Ensure collection exists if not client.has_collection(collection_name): - client.create_collection(name=collection_name, vectors_config={"size": embeddings.embed_query(["test"]).shape[1], "distance": "Cosine"}) + # Determine embedding dimension by embedding a dummy text + dim = embeddings.embed_query(["test"])[0].shape[0] + client.create_collection(name=collection_name, vectors_config={"size": dim, "distance": "Cosine"}) vector_store = QdrantVectorStore(client=client, collection_name=collection_name, embedding=embeddings) # Text splitter