Spaces:
Sleeping
Sleeping
| from langchain_community.embeddings import HuggingFaceEmbeddings | |
| from langchain_community.vectorstores import Qdrant | |
| from qdrant_client import QdrantClient | |
| def get_embeddings(): | |
| return HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2") | |
| def store_embeddings(chunks, embeddings): | |
| client = QdrantClient(url="http://localhost:6333") | |
| collection_name = "repo_docs" | |
| # create collection manually (safe + explicit) | |
| client.recreate_collection( | |
| collection_name=collection_name, | |
| vectors_config={ | |
| "size": 384, # MiniLM embedding size | |
| "distance": "Cosine" | |
| } | |
| ) | |
| texts = [c["content"] for c in chunks] | |
| metadatas = [ | |
| { | |
| "path": c["path"], | |
| "type": c["type"], | |
| "file_name": c["file_name"] | |
| } | |
| for c in chunks | |
| ] | |
| vectorstore = Qdrant( | |
| client=client, | |
| collection_name=collection_name, | |
| embeddings=embeddings, | |
| ) | |
| vectorstore.add_texts(texts, metadatas=metadatas) | |
| return vectorstore |