Spaces:
Running
Running
Update pages/Analysis.py
Browse files- pages/Analysis.py +9 -22
pages/Analysis.py
CHANGED
@@ -8,13 +8,10 @@ from utils.functions import (
|
|
8 |
update_stats,
|
9 |
add_to_history,
|
10 |
is_fake_number,
|
11 |
-
add_fake_number, #
|
12 |
-
init_fake_numbers_file, # Inicjalizujemy plik fake_numbers.json
|
13 |
-
init_history_file
|
14 |
)
|
15 |
import os
|
16 |
import re # Import do obs艂ugi wyra偶e艅 regularnych
|
17 |
-
import json
|
18 |
from phonenumbers import parse, is_valid_number, NumberParseException
|
19 |
|
20 |
def show_analysis(language):
|
@@ -88,12 +85,6 @@ def show_analysis(language):
|
|
88 |
st.header(page_translations[language]['header'])
|
89 |
st.write(page_translations[language]['content'])
|
90 |
|
91 |
-
# Inicjalizacja pliku fake_numbers.json (je艣li jeszcze nie istnieje)
|
92 |
-
init_fake_numbers_file()
|
93 |
-
|
94 |
-
# Inicjalizacja pliku historii analiz (je艣li jeszcze nie istnieje)
|
95 |
-
init_history_file()
|
96 |
-
|
97 |
with st.form("sms_form"):
|
98 |
message = st.text_area(
|
99 |
label=page_translations[language]['content'], # Non-empty label for accessibility
|
@@ -107,7 +98,7 @@ def show_analysis(language):
|
|
107 |
)
|
108 |
|
109 |
st.markdown(f"### {page_translations[language]['additional_info_header']}")
|
110 |
-
|
111 |
# Dodane pytania
|
112 |
frequency = st.selectbox(
|
113 |
label=page_translations[language]['frequency_label'],
|
@@ -193,13 +184,15 @@ def show_analysis(language):
|
|
193 |
'Additional notes or information:' }** {additional_notes}
|
194 |
"""
|
195 |
|
196 |
-
# Pobierz klucz API
|
197 |
api_key = os.getenv('SAMBANOVA_API_KEY')
|
198 |
if not api_key:
|
199 |
st.error("Brak klucza API. Ustaw zmienn膮 艣rodowiskow膮 SAMBANOVA_API_KEY.")
|
200 |
else:
|
201 |
with st.spinner("Analizuj臋 wiadomo艣膰 przy u偶yciu modelu AI..."):
|
202 |
-
analysis_text, risk_text, recommendations_text = analyze_message(
|
|
|
|
|
203 |
st.subheader("馃搼 Analiza tre艣ci wiadomo艣ci:")
|
204 |
st.markdown(analysis_text)
|
205 |
st.subheader("鈿狅笍 Ocena ryzyka oszustwa:")
|
@@ -212,8 +205,7 @@ def show_analysis(language):
|
|
212 |
match = re.search(r'(\d+)/10', risk_text)
|
213 |
fraud_detected = int(match.group(1)) >= 7 if match else False
|
214 |
update_stats(fraud_detected=fraud_detected)
|
215 |
-
except
|
216 |
-
logging.error(f"Nie uda艂o si臋 zaktualizowa膰 statystyk: {e}")
|
217 |
fraud_detected = False
|
218 |
|
219 |
# Dodanie analizy do historii
|
@@ -221,14 +213,9 @@ def show_analysis(language):
|
|
221 |
|
222 |
st.info("馃搶 Pami臋taj: zachowaj ostro偶no艣膰 przy wiadomo艣ciach od nieznanych nadawc贸w.")
|
223 |
|
224 |
-
#
|
225 |
-
if 'report_clicked' not in st.session_state:
|
226 |
-
st.session_state['report_clicked'] = False
|
227 |
-
|
228 |
if fraud_detected:
|
229 |
-
|
230 |
-
report_key = f"report_button_{phone_number}"
|
231 |
-
if st.button(page_translations[language]['report_button'], key=report_key):
|
232 |
try:
|
233 |
parsed_number = parse(phone_number, None)
|
234 |
if is_valid_number(parsed_number):
|
|
|
8 |
update_stats,
|
9 |
add_to_history,
|
10 |
is_fake_number,
|
11 |
+
add_fake_number, # Funkcja dodaj膮ca numer do bazy oszustw
|
|
|
|
|
12 |
)
|
13 |
import os
|
14 |
import re # Import do obs艂ugi wyra偶e艅 regularnych
|
|
|
15 |
from phonenumbers import parse, is_valid_number, NumberParseException
|
16 |
|
17 |
def show_analysis(language):
|
|
|
85 |
st.header(page_translations[language]['header'])
|
86 |
st.write(page_translations[language]['content'])
|
87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
with st.form("sms_form"):
|
89 |
message = st.text_area(
|
90 |
label=page_translations[language]['content'], # Non-empty label for accessibility
|
|
|
98 |
)
|
99 |
|
100 |
st.markdown(f"### {page_translations[language]['additional_info_header']}")
|
101 |
+
|
102 |
# Dodane pytania
|
103 |
frequency = st.selectbox(
|
104 |
label=page_translations[language]['frequency_label'],
|
|
|
184 |
'Additional notes or information:' }** {additional_notes}
|
185 |
"""
|
186 |
|
187 |
+
# Pobierz klucz API z Secret
|
188 |
api_key = os.getenv('SAMBANOVA_API_KEY')
|
189 |
if not api_key:
|
190 |
st.error("Brak klucza API. Ustaw zmienn膮 艣rodowiskow膮 SAMBANOVA_API_KEY.")
|
191 |
else:
|
192 |
with st.spinner("Analizuj臋 wiadomo艣膰 przy u偶yciu modelu AI..."):
|
193 |
+
analysis_text, risk_text, recommendations_text = analyze_message(
|
194 |
+
message, phone_number, additional_info, api_key, language
|
195 |
+
)
|
196 |
st.subheader("馃搼 Analiza tre艣ci wiadomo艣ci:")
|
197 |
st.markdown(analysis_text)
|
198 |
st.subheader("鈿狅笍 Ocena ryzyka oszustwa:")
|
|
|
205 |
match = re.search(r'(\d+)/10', risk_text)
|
206 |
fraud_detected = int(match.group(1)) >= 7 if match else False
|
207 |
update_stats(fraud_detected=fraud_detected)
|
208 |
+
except:
|
|
|
209 |
fraud_detected = False
|
210 |
|
211 |
# Dodanie analizy do historii
|
|
|
213 |
|
214 |
st.info("馃搶 Pami臋taj: zachowaj ostro偶no艣膰 przy wiadomo艣ciach od nieznanych nadawc贸w.")
|
215 |
|
216 |
+
# Zg艂oszenie numeru jako oszustwo
|
|
|
|
|
|
|
217 |
if fraud_detected:
|
218 |
+
if st.button(page_translations[language]['report_button']):
|
|
|
|
|
219 |
try:
|
220 |
parsed_number = parse(phone_number, None)
|
221 |
if is_valid_number(parsed_number):
|