textSummary / pages /1_using_LLM.py
iohanngrig's picture
Upload 5 files
f39f2e1 verified
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)