summarizer / app.py
mbosse99's picture
removed unused import
b952671
import streamlit as st
from dotenv import load_dotenv
import requests
import os
import pyperclip
load_dotenv()
def summarize(article):
headers = {'Content-Type':'application/json', 'Authorization':('Bearer '+ os.getenv("API_KEY")), 'azureml-model-deployment': 'heute-summary-api' }
data = {'article': article}
try:
with st.spinner("Summarizing the article..."):
response = requests.post(os.getenv("API_URL"), headers=headers, json=data)
article_summary = response.json()
return article_summary["summary"]
except Exception as e:
print(e)
st.error("An error occurred while trying to summarize the article. Please try again later.", icon="🚨")
return ""
def summary_btn_handler():
summary = summarize(st.session_state["article"])
st.session_state["summary"] = summary
if "summary" not in st.session_state:
st.session_state["summary"] = ""
col1, col2 = st.columns([2, 1])
col1.title("AI - Summarizer")
col2.image("tensora_logo.png")
st.text_area("Enter your article to summarize", height=200, key="article")
st.button("Summarize", key="summarize_btn", on_click=summary_btn_handler, disabled=not st.session_state["article"])
st.write(st.session_state["summary"])
if len(st.session_state["summary"]) > 0:
copy_col1, copy_col2 = st.columns([2, 1])
if copy_col1.button("Copy to clipboard", key="copy_btn"):
pyperclip.copy(st.session_state["summary"])
with copy_col2:
st.success('Text copied successfully!')