Spaces:
Configuration error
Configuration error
ahan bose
Modularized app: added brain, admin, and recruiter modules with secure password check
5db4327 | import os | |
| import streamlit as st | |
| from langchain_community.document_loaders import TextLoader, DirectoryLoader | |
| from langchain_text_splitters import RecursiveCharacterTextSplitter | |
| from langchain_community.vectorstores import FAISS | |
| from langchain_huggingface import HuggingFaceEmbeddings, HuggingFaceEndpoint, ChatHuggingFace | |
| from langchain_core.prompts import ChatPromptTemplate | |
| from langchain_core.runnables import RunnablePassthrough | |
| from langchain_core.output_parsers import StrOutputParser | |
| def setup_vector_db(): | |
| loader = DirectoryLoader('./knowledge_base/', glob="./*.txt", loader_cls=TextLoader) | |
| docs = loader.load() | |
| splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200) | |
| splits = splitter.split_documents(docs) | |
| embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2") | |
| vectorstore = FAISS.from_documents(splits, embeddings) | |
| return vectorstore.as_retriever() | |
| def get_llm(hf_token): | |
| llm_endpoint = HuggingFaceEndpoint( | |
| repo_id="mistralai/Mistral-7B-Instruct-v0.2", | |
| task="conversational", | |
| huggingfacehub_api_token=hf_token, | |
| temperature=0.5 | |
| ) | |
| return ChatHuggingFace(llm=llm_endpoint) | |
| def get_rag_chain(retriever, llm): | |
| template = """You are Ahan Bose's AI Twin. Answer based only on the context provided: | |
| {context} | |
| Question: {question} | |
| """ | |
| prompt = ChatPromptTemplate.from_template(template) | |
| chain = ( | |
| {"context": retriever, "question": RunnablePassthrough()} | |
| | prompt | |
| | llm | |
| | StrOutputParser() | |
| ) | |
| return chain |