Spaces:
Runtime error
Runtime error
Download app.py from thanhcong2001/Question_Answer: direct link, hf CLI and curl.
- Browser
- Download file 1.51 kB
-
https://huggingface.co/spaces/thanhcong2001/Question_Answer/resolve/main/app.py
- Command line
-
hf download hf://spaces/thanhcong2001/Question_Answer/app.py
-
curl -L -o app.py https://huggingface.co/spaces/thanhcong2001/Question_Answer/resolve/main/app.py
1.51 kB
| from langchain.text_splitter import RecursiveCharacterTextSplitter | |
| from langchain.embeddings import HuggingFaceEmbeddings | |
| from langchain.vectorstores import FAISS | |
| from langchain.chains import ConversationalRetrievalChain | |
| from langchain.llms import HuggingFacePipeline | |
| from langchain.memory import ConversationBufferMemory | |
| from langchain_community.retrievers import BM25Retriever | |
| from langchain.retrievers import EnsembleRetriever | |
| import pandas as pd | |
| df = pd.read_csv('NLP.csv') | |
| corpus = df['text'][:300] | |
| #Chunking | |
| splitter = RecursiveCharacterTextSplitter(chunk_size=200,chunk_overlap = 10) | |
| texts = sum([splitter.split_text(doc) for doc in corpus], []) | |
| # Embeddings | |
| embeddings = HuggingFaceEmbeddings(model_name='all-mpnet-base-v2') | |
| # Indexing | |
| db = FAISS.from_texts(texts,embeddings) | |
| retriever = db.as_retriever(search_kwargs={'k':5}) | |
| # BM25 | |
| bm25 = BM25Retriever.from_texts(texts) | |
| bm25.k =5 | |
| # Hy_brid retriever | |
| hybrid_retriever = EnsembleRetriever( | |
| retrievers = [retriever,bm25], | |
| weights = [0.7,0.3] | |
| ) | |
| # Model | |
| llm = HuggingFacePipeline.from_model_id(model_id='google/flan-t5-large',task='text2text-generation') | |
| # Memory | |
| memory = ConversationBufferMemory(memory_key='chat_history',return_messages=True) | |
| # Combine previous steps | |
| qa = ConversationalRetrievalChain.from_llm(llm=llm,retriever=hybrid_retriever,memory=memory) | |
| def ans_ques(ques): | |
| result = qa({'question':ques}) | |
| return result['answer'] | |
| import gradio as gr | |
| demo = gr.Interface(ans_ques,inputs='text',outputs='text') | |
| demo.launch() | |