Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| # from langchain.schema import Document | |
| from langchain_core.documents import Document | |
| # from langchain.embeddings import HuggingFaceEmbeddings | |
| from langchain_huggingface import HuggingFaceEmbeddings | |
| # from langchain.vectorstores import FAISS | |
| from langchain_community.vectorstores import FAISS | |
| def load_student_documents(csv_path: str): | |
| df = pd.read_csv(csv_path) | |
| documents = [] | |
| for _, row in df.iterrows(): | |
| content = ( | |
| f"Student record. " | |
| f"Register number {row['Register Number']}. " | |
| f"Name {row['Name']}. " | |
| f"Email {row['EmailID']}. " | |
| f"Department {row['Department']}. " | |
| f"Year {row['Year of Study']}. " | |
| f"Hobby {row['Hobby']}. " | |
| f"Study level {row['Study Level']}. " | |
| f"Sleeptime {row['Sleeptime']}." | |
| ) | |
| documents.append( | |
| Document( | |
| page_content=content.strip(), | |
| metadata={"register_number": row["Register Number"]} | |
| ) | |
| ) | |
| return documents | |
| def create_vectorstore(documents): | |
| embeddings = HuggingFaceEmbeddings( | |
| model_name="sentence-transformers/all-MiniLM-L6-v2" | |
| ) | |
| vectorstore = FAISS.from_documents( | |
| documents=documents, | |
| embedding=embeddings | |
| ) | |
| return vectorstore | |
| def get_retriever(vectorstore): | |
| return vectorstore.as_retriever( | |
| search_type="mmr", | |
| search_kwargs={"k": 6, "lambda_mult": 0.7} | |
| ) |