Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import ( | |
| pipeline | |
| ) | |
| # albert | |
| # albert_base_chinese_cluecorpussmall=pipeline(task="fill-mask", model="uer/albert-base-chinese-cluecorpussmall") | |
| # roberta | |
| # xlm_roberta_base=pipeline(task="fill-mask", model="xlm-roberta-base") | |
| # xlm_roberta_large=pipeline(task="fill-mask", model="xlm-roberta-large") | |
| # bert | |
| pipe=pipeline( | |
| # model="rjx/chinese-new-text-classification-10200-albert-base-chinese-cluecorpussmall", | |
| model="rjx/rjxai-xlm-roberta-longformer-1024-and-dataset-en-0523", | |
| use_auth_token=st.secrets["read_key"] | |
| ) | |
| if 'type' not in st.session_state: | |
| st.session_state.type="" | |
| if 'article' not in st.session_state: | |
| st.session_state.article="" | |
| if 'result' not in st.session_state: | |
| st.session_state.result="" | |
| # def charlength(): | |
| # if len(st.session_state.article)>=512: | |
| # st.warning("article length is 512") | |
| def form_article_click(): | |
| # st.warning(st.session_state.model_key) | |
| # st.warning(st.session_state.article_key) | |
| if st.session_state.article_key == "": | |
| st.warning("Need to enter content") | |
| else: | |
| article=st.session_state.article_key | |
| # 截取大于510字符的内容 | |
| if len(article)>=1024: | |
| article=article[0: 1024] | |
| # st.info(article) | |
| print(article) | |
| result = pipe(article) | |
| print(result) | |
| # st.session_state.type=result[0]["label"] | |
| if result: | |
| if result[0]["label"]=="人类写的": | |
| st.session_state.type="Human writing" | |
| elif result[0]["label"]=="ai写的": | |
| st.session_state.type="AI writing" | |
| st.session_state.result=result | |
| st.title("AI write or Human write v2") | |
| col1, col2 = st.columns(2) | |
| with col1: | |
| st.header("input") | |
| with st.form(key="article_form"): | |
| # 模型选择 | |
| # option_input = st.selectbox( | |
| # 'select rjx model:(Other model making)', | |
| # ('chinese-new-text-classification-10200-albert-base-chinese-cluecorpussmall', 'other'), | |
| # disabled=True, | |
| # key='model_key', | |
| # # on_change=charlength | |
| # ) | |
| # 文本输入 | |
| article_input=st.text_area( | |
| 'content', | |
| height=270, | |
| key='article_key' | |
| ) | |
| # 提交按钮 | |
| submit_button=st.form_submit_button(label='submit', on_click=form_article_click) | |
| with col2: | |
| st.header("output") | |
| st.text_input('classification', st.session_state.type, disabled=True) | |
| # st.text_area( | |
| # 'result', | |
| # st.session_state.result, | |
| # height=270, | |
| # disabled=True | |
| # ) | |
| # st.write('selected classification model:', option) | |
| # file_name = st.file_uploader("Upload a hot dog candidate image") | |
| # if file_name is not None: | |
| # col1, col2 = st.columns(2) | |
| # image = Image.open(file_name) | |
| # col1.image(image, use_column_width=True) | |
| # predictions = pipeline(image) | |
| # col2.header("Probabilities") | |
| # for p in predictions: | |
| # col2.subheader(f"{ p['label'] }: { round(p['score'] * 100, 1)}%") | |