Spaces:
Runtime error
Runtime error
| import os | |
| from langchain.chains import RetrievalQA | |
| from langchain_community.embeddings import HuggingFaceEmbeddings | |
| from langchain_community.vectorstores import FAISS | |
| from langchain_community.llms import HuggingFaceEndpoint | |
| from langchain.text_splitter import CharacterTextSplitter | |
| from langchain.document_loaders import TextLoader | |
| # HF Spaces will inject token automatically | |
| os.environ["TRANSFORMERS_CACHE"] = "/tmp/hf_cache" | |
| os.environ["HF_HOME"] = "/tmp/hf_home" | |
| def load_vectorstore(): | |
| embedder = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2") | |
| loader = TextLoader("app/data/analysis_summary.txt") | |
| documents = loader.load() | |
| splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=100) | |
| chunks = splitter.split_documents(documents) | |
| vectorstore = FAISS.from_documents(chunks, embedder) | |
| return vectorstore.as_retriever() | |
| def build_qa_chain(): | |
| llm = HuggingFaceEndpoint( | |
| repo_id="google/flan-t5-base", | |
| model_kwargs={"temperature": 0.3, "max_length": 512} | |
| ) | |
| retriever = load_vectorstore() | |
| chain = RetrievalQA.from_chain_type( | |
| llm=llm, | |
| retriever=retriever, | |
| return_source_documents=False | |
| ) | |
| return chain | |
| qa_chain = build_qa_chain() | |
| def get_bot_answer(query: str) -> str: | |
| try: | |
| return qa_chain.run(query) | |
| except Exception as e: | |
| return f"❌ Error: {str(e)}" | |