Spaces:
Sleeping
Sleeping
File size: 1,413 Bytes
f39f2e1 |
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 |
import streamlit as st
from langchain import OpenAI
from langchain.docstore.document import Document
from langchain.text_splitter import CharacterTextSplitter
from langchain.chains.summarize import load_summarize_chain
from utils.process_data import pdf_to_text
MODEL = st.secrets["MODEL4"]
def generate_response(txt):
llm = OpenAI(temperature=0.1, openai_api_key=st.secrets["OPENAI_API_KEY"])
text_splitter = CharacterTextSplitter()
texts = text_splitter.split_text(txt)
docs = [Document(page_content=t) for t in texts]
chain = load_summarize_chain(llm, chain_type='map_reduce')
return chain.run(docs)
st.set_page_config(page_title="Summarizer with LLM", page_icon="βοΈ")
st.title("Summarize Text")
st.subheader('ππ LLM/LoadSummarizeChain')
sentence = st.text_area('Please paste your article:', height=100)
button = st.button("Summarize")
with st.spinner("Generating Summary.."):
if button and sentence:
response = generate_response(sentence)
st.write(response)
st.divider()
st.subheader('ππ Summarize PDF')
pdf_path = st.file_uploader('Upload your PDF Document', type='pdf')
button2 = st.button("Summarize PDF")
if pdf_path is not None and button2:
text = pdf_to_text(pdf_path)
with st.spinner("Generating PDF Summary.."):
response2 = generate_response(text)
st.subheader('Summary Results:')
st.write(response2) |