Cricles commited on
Commit
28d91c4
·
verified ·
1 Parent(s): ac14103

Upload 5 files

Browse files
Files changed (6) hide show
  1. .gitattributes +2 -0
  2. main.py +86 -0
  3. mini_logo1.png +0 -0
  4. requirements.txt +2 -0
  5. top_logo1.png +3 -0
  6. билли.png +3 -0
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ билли.png filter=lfs diff=lfs merge=lfs -text
37
+ top_logo1.png filter=lfs diff=lfs merge=lfs -text
main.py ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import base64
3
+ import fasttext
4
+ from annotated_text import annotated_text
5
+
6
+ st.set_page_config(
7
+ page_title="detoxi.ai",
8
+ page_icon="C://Users//aleks//OneDrive//Рабочий стол//Магистратура//Треня StreamLit//mini_logo1.png",
9
+ layout="centered"
10
+ )
11
+
12
+ # Кодируем логотип в base64 (для локальных файлов)
13
+ @st.cache_data
14
+ def get_image_base64(path):
15
+ with open(path, "rb") as img_file:
16
+ return base64.b64encode(img_file.read()).decode()
17
+
18
+ @st.cache_resource # Кэширование модели для ускорения работы
19
+ def load_model():
20
+ with open('C://Users//aleks//OneDrive//Рабочий стол//Магистратура//Треня StreamLit//Модель Миши//model_fasttext.bin', 'rb') as file:
21
+ model = fasttext.load_model(file)
22
+ return model
23
+
24
+ model = load_model()
25
+
26
+ bin_str = get_image_base64("C://Users//aleks//OneDrive//Рабочий стол//Магистратура//Треня StreamLit//билли.png")
27
+ page_bg_img = '''
28
+ <style>
29
+ .stApp{
30
+ background-image: linear-gradient(rgba(255, 255, 255, 0.7),
31
+ rgba(255, 255, 255, 0.7)),
32
+ url("data:image/png;base64,%s");
33
+ background-size: cover;
34
+ background-position: center;
35
+ background-repeat: no-repeat;
36
+ background-attachment: fixed;
37
+ }
38
+ </style>
39
+ ''' % bin_str
40
+ st.markdown(page_bg_img, unsafe_allow_html=True)
41
+
42
+ logo_base64 = get_image_base64("C://Users//aleks//OneDrive//Рабочий стол//Магистратура//Треня StreamLit//top_logo1.png")
43
+
44
+ # Используем HTML для вставки логотипа в заголовок
45
+ st.markdown(
46
+ f"""
47
+ <div style="display: flex; justify-content: center;">
48
+ <img src="data:image/png;base64,{logo_base64}" width="400">
49
+ </div>
50
+ """,
51
+ unsafe_allow_html=True
52
+ )
53
+
54
+ # Описание
55
+ st.write("""<p style='text-align: center; font-size: 24px;'>Это приложение сделает твою речь менее токсичной.
56
+ И даже не придётся платить 300 bucks.</p>""", unsafe_allow_html=True)
57
+
58
+ def highlight_obscene_words(text):
59
+ label,_=model(text)
60
+ if label=='__label__negative':
61
+ return (text + " ", "токсично", "#ffcccc")
62
+ else:
63
+ return (text + " ", "приемлемо", "#47916B")
64
+
65
+ # Боковая панель
66
+ with st.sidebar:
67
+ st.header("""О приложении""")
68
+ st.write("""
69
+ Это приложение, созданно для сдачи задания по ML.
70
+ Оно показывает, чему мы научились за эту домашку:
71
+ - Благославлять создателей hugging face
72
+ - Писать прототипы приложений с помощью библиотеки Streamlit
73
+ - Дружно работать в команде
74
+ """, unsafe_allow_html=True)
75
+
76
+ st.write("""<p style='text-align: center;'>Введите текст ниже, и приложение определит токсичность твоего предложения.</p>""", unsafe_allow_html=True)
77
+
78
+ user_input = st.text_area('',height=200)
79
+
80
+ if st.button("Проверить текст"):
81
+ if user_input.strip():
82
+ st.subheader("Результат:")
83
+ annotated_content = highlight_obscene_words(user_input)
84
+ annotated_text(annotated_content)
85
+ else:
86
+ st.warning("Пожалуйста, введите текст для проверки")
mini_logo1.png ADDED
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ base64
2
+ st_annotated_text
top_logo1.png ADDED

Git LFS Details

  • SHA256: 8b9b741daec3b33cae1e1d8aebf8264d9fd6f647d0e6c10cabc1763cfb4649b5
  • Pointer size: 131 Bytes
  • Size of remote file: 170 kB
билли.png ADDED

Git LFS Details

  • SHA256: 9565ad157b4020ab01406087c8bcea3b9ef12a0422562e85642ec8f97391a8f4
  • Pointer size: 131 Bytes
  • Size of remote file: 293 kB