from langchain_pinecone import PineconeVectorStore from src.helper import download_embeddings from dotenv import load_dotenv load_dotenv() embedding_model = download_embeddings() INDEX_NAME = "assessment-recommender-agent" vectorstore = PineconeVectorStore.from_existing_index(index_name=INDEX_NAME, embedding=embedding_model) def get_retriever(k=10): return vectorstore.as_retriever(search_kwargs={"k": k}) def get_metadata_retriever(job_level=None, assessment_focus=None, languages=None, k=10): if job_level and assessment_focus : if languages: return vectorstore.as_retriever(search_kwargs={"k": k, "filter" : { "job_levels": {"$in": job_level} if job_level else None, "languages": {"$in": languages} if languages else None, "keys": {"$in": assessment_focus} if assessment_focus else None }}) else: return vectorstore.as_retriever(search_kwargs={"k": k, "filter" : { "job_levels": {"$in": job_level} if job_level else None, "keys": {"$in": assessment_focus} if assessment_focus else None }}) else: return None