Spaces:
Runtime error
Runtime error
| from flask import Flask, request, jsonify | |
| from langchain_community.document_loaders import TextLoader | |
| from langchain.text_splitter import CharacterTextSplitter | |
| from langchain_community.embeddings import HuggingFaceEmbeddings | |
| from langchain_community.vectorstores import FAISS | |
| from langchain.chains.question_answering import load_qa_chain | |
| from langchain_community.llms.huggingface_endpoint import HuggingFaceEndpoint | |
| # To comment in production usage | |
| # import Constants | |
| import os | |
| key = "hf_" + "TFQcwtpWpItqrR" +"kKazmgBASKDIsTnGDeqM" | |
| os.environ["HUGGINGFACEHUB_API_TOKEN"] = key | |
| app = Flask(__name__) | |
| # try: | |
| loader = TextLoader("./data/app.txt") | |
| document = loader.load() | |
| # Split the document into chunks | |
| text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) | |
| docs = text_splitter.split_documents(document) | |
| # Create embeddings | |
| embedding = HuggingFaceEmbeddings(model_name = "sentence-transformers/all-mpnet-base-v2") | |
| db = FAISS.from_documents(docs, embedding) | |
| # Load the Question-Answering chain | |
| llm = HuggingFaceEndpoint(repo_id="google/flan-t5-xxl", temperature=0.8, model_kwargs={"max_length": 512}) | |
| chain = load_qa_chain(llm, chain_type="stuff") | |
| # except Exception as e: | |
| # print("Recived Setup error: ", e) | |
| def process_query(query): | |
| # os.system("cls") | |
| # try: | |
| querySimilarDocs = db.similarity_search(query) | |
| res = chain.run(input_documents = querySimilarDocs, question = query) | |
| return res | |
| # except Exception as e: | |
| # print("Received process error: ", e) | |
| # # return "An Error occurred!!" | |
| # return e | |
| def process_request(): | |
| # Debugging... | |
| for name, value in os.environ.items(): | |
| print("{0}: {1}".format(name, value)) | |
| # try: | |
| data = request.get_json() | |
| user_input = data['query'] | |
| response = process_query(user_input) | |
| return jsonify({"response": response}) | |
| # except Exception as e: | |
| # print("Received Process request error: ", e) | |
| # return jsonify({"response": str(e)}) | |
| ## Development phase use case only | |
| # if __name__ == '__main__': | |
| # app.run(debug=True) | |