Spaces:
Sleeping
Sleeping
rafaldembski
commited on
Commit
•
bc1666b
1
Parent(s):
3b2c8d9
Update app.py
Browse files
app.py
CHANGED
@@ -1,87 +1,46 @@
|
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
-
from
|
|
|
3 |
import os
|
4 |
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
# Informacje o numerze telefonu
|
44 |
-
country, operator = get_phone_info(phone_number)
|
45 |
-
if country and operator:
|
46 |
-
st.write(f"**Informacje o numerze telefonu:**")
|
47 |
-
st.write(f"- **Kraj:** {country}")
|
48 |
-
st.write(f"- **Operator:** {operator}")
|
49 |
-
else:
|
50 |
-
st.write("Nie udało się uzyskać informacji o numerze telefonu.")
|
51 |
-
|
52 |
-
# Heurystyczne sprawdzenia
|
53 |
-
warnings = simple_checks(message)
|
54 |
-
if warnings:
|
55 |
-
st.warning("Znaleziono następujące potencjalne czerwone flagi:")
|
56 |
-
for warn in warnings:
|
57 |
-
st.write(f"- {warn}")
|
58 |
-
|
59 |
-
# Zbierz dodatkowe informacje
|
60 |
-
additional_info = f"""
|
61 |
-
**Jak często otrzymujesz wiadomości od tego numeru?** {frequency}
|
62 |
-
**Kiedy ostatnio otrzymałeś podobną wiadomość?** {last_received}
|
63 |
-
**Jak bardzo jesteś pewny, że wiadomość jest autentyczna?** {confidence_level}/5
|
64 |
-
**Czy otrzymanie tej wiadomości było dla Ciebie niespodziewane?** {unexpected}
|
65 |
-
**Dodatkowe uwagi lub informacje:** {additional_notes}
|
66 |
-
"""
|
67 |
-
|
68 |
-
# Pobierz klucz API
|
69 |
-
api_key = os.getenv('SAMBANOVA_API_KEY')
|
70 |
-
if not api_key:
|
71 |
-
st.error("Brak klucza API. Ustaw zmienną środowiskową SAMBANOVA_API_KEY w ustawieniach aplikacji.")
|
72 |
-
else:
|
73 |
-
# Analiza za pomocą modelu AI
|
74 |
-
with st.spinner("Analizuję wiadomość przy użyciu modelu AI..."):
|
75 |
-
analysis_text, risk_text, recommendations_text = analyze_message(message, phone_number, additional_info, api_key)
|
76 |
-
st.subheader("📑 Analiza treści wiadomości:")
|
77 |
-
st.markdown(analysis_text)
|
78 |
-
st.subheader("⚠️ Ocena ryzyka oszustwa:")
|
79 |
-
st.markdown(risk_text)
|
80 |
-
st.subheader("✅ Zalecenia dla użytkownika:")
|
81 |
-
st.markdown(recommendations_text)
|
82 |
-
|
83 |
-
st.info("📌 Pamiętaj: zawsze zachowuj ostrożność przy otrzymywaniu wiadomości od nieznanych nadawców. Nie udostępniaj poufnych informacji i nie klikaj w podejrzane linki.")
|
84 |
-
|
85 |
-
if __name__ == "__main__":
|
86 |
-
main()
|
87 |
-
|
|
|
1 |
+
```python
|
2 |
+
# app.py
|
3 |
+
|
4 |
import streamlit as st
|
5 |
+
from streamlit_option_menu import option_menu
|
6 |
+
from utils.functions import get_phone_info, simple_checks, analyze_message, init_stats_file, update_stats
|
7 |
import os
|
8 |
|
9 |
+
# Inicjalizacja pliku statystyk
|
10 |
+
init_stats_file()
|
11 |
+
|
12 |
+
# Konfiguracja strony
|
13 |
+
st.set_page_config(page_title="📱 Detektor Fałszywych Wiadomości SMS", page_icon="📱", layout="wide")
|
14 |
+
|
15 |
+
# Tworzenie poziomego menu
|
16 |
+
selected = option_menu(
|
17 |
+
menu_title=None, # Brak tytułu menu
|
18 |
+
options=["Analiza SMS", "O Projekcie", "Edukacja", "Statystyki", "Kontakt"],
|
19 |
+
icons=["house", "info-circle", "book", "bar-chart", "envelope"],
|
20 |
+
menu_icon="cast",
|
21 |
+
default_index=0,
|
22 |
+
orientation="horizontal",
|
23 |
+
styles={
|
24 |
+
"container": {"padding": "0!important", "background-color": "#fafafa"},
|
25 |
+
"icon": {"color": "black", "font-size": "18px"},
|
26 |
+
"nav-link": {"font-size": "16px", "text-align": "left", "margin":"0px", "--hover-color": "#eee"},
|
27 |
+
"nav-link-selected": {"background-color": "#02ab21"},
|
28 |
+
}
|
29 |
+
)
|
30 |
+
|
31 |
+
# Importowanie modułów dla każdej zakładki
|
32 |
+
if selected == "Analiza SMS":
|
33 |
+
from pages.Analysis import show_analysis
|
34 |
+
show_analysis()
|
35 |
+
elif selected == "O Projekcie":
|
36 |
+
from pages.About import main as show_about
|
37 |
+
show_about()
|
38 |
+
elif selected == "Edukacja":
|
39 |
+
from pages.Education import main as show_education
|
40 |
+
show_education()
|
41 |
+
elif selected == "Statystyki":
|
42 |
+
from pages.Statistics import main as show_statistics
|
43 |
+
show_statistics()
|
44 |
+
elif selected == "Kontakt":
|
45 |
+
from pages.Contact import main as show_contact
|
46 |
+
show_contact()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|