import streamlit as st import models def main(): st.set_page_config(layout="wide", page_title="Review Toxicity Checker") st.title('Review Toxicity Checker') left_col, right_col = st.columns(2) content = left_col.empty() with st.sidebar: model_id = st.radio( "Select a model option:", ["stabilityai/stablelm-zephyr-3b", "mistralai/Mistral-7B-Instruct-v0.1", "mistralai/Mistral-7B-Instruct-v0.2", "microsoft/Phi-3-mini-4k-instruct", "harir/stablelm-zephyr-3b-review-toxicity", "harir/phi-3-mini-review-toxicity"] ) #hf_api_key = st.text_input('HF API Key\nhttps://huggingface.co/settings/tokens') color = st.color_picker('Highlight Color', '#F44336') with right_col: st.markdown("

Revised review:

", unsafe_allow_html=True) with left_col: input_text = st.text_area('Enter your review here:', height=500) left_col2, right_col2 = st.columns([1,3]) with left_col2: check = st.button('Check Review') with right_col2: clear = st.button('Clear Text') if check: hf_api_key = st.secrets["default_hf_api"] with st.spinner('Processing review...'): revision = models.revise_review(input_text, hf_api_key, model_id, color) try: with right_col: st.markdown(f"""
{revision['data']['revision']}
""", unsafe_allow_html=True) num_revised = int(revision['data']['revised_sentences'])/int(revision['data']['sentence_count']) left_col2, right_col2 = st.columns([1,2]) st.write(f"Sentences Revised: {revision['data']['revised_sentences']}/{revision['data']['sentence_count']}") st.progress(num_revised) score = revision['data']['score'] if score == 1: st.write(f"Score: 1 (toxic)") if score == 0: st.write(f"Score: 0 (non-toxic)") st.progress(int(revision['data']['score'])/1) except Exception as e: with right_col: st.error("An error occured.") st.error(e) elif clear: with right_col: st.markdown(f"""
""", unsafe_allow_html=True) else: with right_col: st.markdown(f"""
""", unsafe_allow_html=True) if __name__ == "__main__": main()