Spaces:
Sleeping
Sleeping
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) |