Spaces:
Sleeping
Sleeping
| from langchain_chroma import Chroma | |
| from langchain_huggingface import HuggingFaceEmbeddings | |
| from langchain_text_splitters import RecursiveCharacterTextSplitter | |
| import os | |
| class NivraRAGRetriever: | |
| def __init__(self, chroma_path: str = "./chroma_db"): | |
| self.embeddings = HuggingFaceEmbeddings( | |
| model_name="sentence-transformers/all-MiniLM-L6-v2" | |
| ) | |
| self.vectorstore = Chroma( | |
| collection_name="nivra_medical_docs", | |
| embedding_function=self.embeddings | |
| ) | |
| self.retriever = self.vectorstore.as_retriever( | |
| search_type="similarity_score_threshold", | |
| search_kwargs={"score_threshold": 0.7, "k":5} | |
| ) | |
| def getRelevantDocs(self, query:str): | |
| return self.retriever.invoke(query) | |