Spaces:
Runtime error
Runtime error
| from PyPDF2 import PdfReader | |
| from langchain.embeddings.openai import OpenAIEmbeddings | |
| from langchain.text_splitter import CharacterTextSplitter | |
| from langchain.vectorstores import FAISS | |
| import os | |
| from typing_extensions import Concatenate | |
| import gradio as gr | |
| from langchain.chains.question_answering import load_qa_chain | |
| from langchain.llms import OpenAI | |
| # Set OpenAI API key | |
| os.environ["OPENAI_API_KEY"] = "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" | |
| # Read text from PDF | |
| pdfreader = PdfReader('schizophrenia.pdf') | |
| raw_text = '' | |
| for page in pdfreader.pages: | |
| content = page.extract_text() | |
| if content: | |
| raw_text += content | |
| # Split text into chunks | |
| text_splitter = CharacterTextSplitter( | |
| separator="\n", | |
| chunk_size=800, | |
| chunk_overlap=200, | |
| length_function=len, | |
| ) | |
| texts = text_splitter.split_text(raw_text) | |
| # Extract embeddings using OpenAI | |
| embeddings = OpenAIEmbeddings() | |
| # Perform similarity search | |
| document_search = FAISS.from_texts(texts, embeddings) | |
| # Load question-answering chain | |
| chain = load_qa_chain(OpenAI(), chain_type="stuff") | |
| # Define function to process user query | |
| def process_query(query): | |
| # Perform similarity search to retrieve relevant documents | |
| docs = document_search.similarity_search(query) | |
| # Run question-answering process with retrieved documents and user query | |
| response = chain.run(input_documents=docs, question=query) | |
| # Return the response | |
| return response | |
| # Define Gradio interface | |
| iface = gr.Interface( | |
| fn=process_query, | |
| inputs="text", | |
| outputs="text", | |
| title="Serene", | |
| description="Hi! How do you feel today?" | |
| ) | |
| # Launch the interface | |
| iface.launch() | |