Omkar1872 commited on
Commit
e79e6f8
·
verified ·
1 Parent(s): 66bf6bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -33
app.py CHANGED
@@ -1,47 +1,27 @@
1
  import gradio as gr
2
- from langchain_community.document_loaders import PyPDFLoader
3
  from langchain_community.llms import HuggingFaceHub
4
- from langchain.text_splitter import RecursiveCharacterTextSplitter
 
 
5
  from langchain.embeddings import HuggingFaceEmbeddings
6
  from langchain.vectorstores import FAISS
7
- from langchain.chains.question_answering import load_qa_chain
8
-
9
- def answer_question(pdf_file, question):
10
- # Save uploaded PDF
11
- pdf_path = pdf_file.name
12
 
13
- # Load and split the PDF
14
- loader = PyPDFLoader(pdf_path)
15
  documents = loader.load()
16
- text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
17
- docs = text_splitter.split_documents(documents)
18
 
19
- # Embeddings and vector store
20
  embeddings = HuggingFaceEmbeddings()
21
- vectorstore = FAISS.from_documents(docs, embeddings)
22
 
23
- # LLM
24
- llm = HuggingFaceHub(
25
- repo_id="google/flan-t5-large",
26
- task="text2text-generation",
27
- model_kwargs={"temperature": 0.5, "max_length": 512}
28
- )
29
 
30
- # QA chain
31
  chain = load_qa_chain(llm, chain_type="stuff")
32
- relevant_docs = vectorstore.similarity_search(question)
33
- response = chain.run(input_documents=relevant_docs, question=question)
34
  return response
35
 
36
- # Gradio interface
37
- iface = gr.Interface(
38
- fn=answer_question,
39
- inputs=[
40
- gr.File(label="Upload your PDF"),
41
- gr.Textbox(label="Ask a question")
42
- ],
43
- outputs="text",
44
- title="📄 PDF Q&A with AI"
45
- )
46
-
47
  iface.launch()
 
1
  import gradio as gr
 
2
  from langchain_community.llms import HuggingFaceHub
3
+ from langchain_community.document_loaders import PyPDFLoader
4
+ from langchain.chains.question_answering import load_qa_chain
5
+ from langchain.text_splitter import CharacterTextSplitter
6
  from langchain.embeddings import HuggingFaceEmbeddings
7
  from langchain.vectorstores import FAISS
 
 
 
 
 
8
 
9
+ def ask_question(query):
10
+ loader = PyPDFLoader("sample_document.pdf") # ✅ Update this line
11
  documents = loader.load()
12
+ text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=100)
13
+ texts = text_splitter.split_documents(documents)
14
 
 
15
  embeddings = HuggingFaceEmbeddings()
16
+ db = FAISS.from_documents(texts, embeddings)
17
 
18
+ retriever = db.as_retriever()
19
+ relevant_docs = retriever.get_relevant_documents(query)
 
 
 
 
20
 
21
+ llm = HuggingFaceHub(repo_id="google/flan-t5-base", model_kwargs={"temperature":0.5, "max_length":100})
22
  chain = load_qa_chain(llm, chain_type="stuff")
23
+ response = chain.run(input_documents=relevant_docs, question=query)
 
24
  return response
25
 
26
+ iface = gr.Interface(fn=ask_question, inputs="text", outputs="text", title="MedAssist.AI")
 
 
 
 
 
 
 
 
 
 
27
  iface.launch()