CoolFace
Apppublic

Jekyll2000/QA_Computer_Science

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py47 linesDownload Raw Back to root
1import os2from PyPDF2 import PdfReader3from langchain.embeddings.openai import OpenAIEmbeddings4from langchain.text_splitter import CharacterTextSplitter5from langchain.vectorstores import ElasticVectorSearch, Pinecone, Weaviate, FAISS6from langchain.embeddings import HuggingFaceEmbeddings7from langchain.chains.question_answering import load_qa_chain8import gradio as gr9from langchain.embeddings import HuggingFaceEmbeddings10from langchain import HuggingFaceHub11 12 13 14 15reader = PdfReader("Faculty of Computer Science and Information Technology (1).pdf")16  # read data from the file and put them into a variable called raw_text17raw_text = ''18for i, page in enumerate(reader.pages):19    text = page.extract_text()20    if text:21        raw_text += text22text_splitter = CharacterTextSplitter(23    separator = "\n",24    chunk_size = 1000,25    chunk_overlap  = 200,26    length_function = len,27  )28texts = text_splitter.split_text(raw_text)29 30 31def main(prompt):32  embeddings = HuggingFaceEmbeddings()33  db = FAISS.from_texts(texts, embeddings)34  llm=HuggingFaceHub(repo_id="google/flan-t5-xxl",model_kwargs={"temperature":1, "max_length":512})35  chain=load_qa_chain(llm,chain_type="stuff")36  query =prompt37  docs = db.similarity_search(query)38  return chain.run(input_documents=docs, question=query)39 40interface=gr.Interface(fn=main,inputs=[gr.components.Textbox(label="Type your Question")],41                       outputs=gr.components.Textbox(label="Answer.."),42                       )43interface.launch(debug=True)44 45 46 47