Spaces:
Runtime error
Runtime error
File size: 1,921 Bytes
3d180a4 5c67692 3d180a4 22bca8f 3d180a4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
from langchain.vectorstores.cassandra import Cassandra
from langchain.indexes.vectorstore import VectorStoreIndexWrapper
from langchain.llms import OpenAI
from langchain.embeddings import OpenAIEmbeddings
from datasets import load_dataset
import cassio
import streamlit as st
from PyPDF2 import PdfReader
ASTRA_DB_APPLICATION_TOKEN = "AstraCS:UPkfqhgxqlGClRZQaoNRZTIP:22e71b1cb4a916d3722697a89237aed24cc6b872b72bad42ee11d8c26133710e"
ASTRA_DB_ID = "4e301076-f4ed-46a6-af16-1ae99fc5b780"
pdfreader = PdfReader("budget_speech.pdf")
from typing_extensions import Concatenate
raw_text = ""
for i, page in enumerate(pdfreader.pages):
content = page.extract_text()
if content:
raw_text += content
cassio.init(token = ASTRA_DB_APPLICATION_TOKEN, database_id=ASTRA_DB_ID)
llm = OpenAI(temperature=0.6)
embedding = OpenAIEmbeddings()
# Function to load OpenAI model and get response
def get_openAI_respnse(question):
llm = OpenAI(model_name="text-davinci-003", temperature=0.5)
response = llm(question)
return response
astra_vector_store = Cassandra(
embedding=embedding,
table_name = "mini_qa_demo",
session = None,
keyspace = None
)
from langchain.text_splitter import CharacterTextSplitter
text_splitter = CharacterTextSplitter(
separator="\n",
chunk_size = 800,
chunk_overlap = 200,
length_function = len
)
texts = text_splitter.split_text(raw_text)
astra_vector_store.add_texts(texts)
astra_vextor_index = VectorStoreIndexWrapper(vectorstore=astra_vector_store)
## Intitialize Streamlit app
st.set_page_config(page_title = "Ask Questions from the India Budget 2023 PDF")
st.header("PDF_QA")
input = st.text_input("Enter your question here", key="input").strip()
response = astra_vextor_index.query(input, llm=llm)
submit = st.button("Generate")
#If submit button is clicked
if submit:
st.subheader("The response is")
st.write(response)
|