ESMATUGBA commited on
Commit
d075826
·
verified ·
1 Parent(s): 6dcf840

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +92 -0
app.py CHANGED
@@ -89,6 +89,98 @@ st.title("🎬 CastMatch AI: Talent Matching System / Yetenek Eşleştirme Siste
89
  st.markdown("#### Discover the perfect roles for global stars! / Dünya yıldızları için en ideal rolleri keşfedin!")
90
  st.markdown("---")
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  col_actor, col_match = st.columns([1, 2])
93
 
94
  with col_actor:
 
89
  st.markdown("#### Discover the perfect roles for global stars! / Dünya yıldızları için en ideal rolleri keşfedin!")
90
  st.markdown("---")
91
 
92
+ col_actor, col_match = st.columns([1, 2])
93
+ import streamlit as st
94
+ import pickle
95
+ from scipy import spatial
96
+ import random
97
+ import os
98
+
99
+ # 1. MODELİ YÜKLE
100
+ @st.cache_resource
101
+ def load_data():
102
+ try:
103
+ with open('movie_model.pkl', 'rb') as f:
104
+ return pickle.load(f)
105
+ except:
106
+ return None
107
+
108
+ model_data = load_data()
109
+ movie_dict = model_data['movie_dict'] if model_data else {}
110
+
111
+ # 2. TÜM OYUNCU DNA VERİTABANI
112
+ tum_unlu_verileri = {
113
+ "Sylvester Stallone": {"c": "Male / Erkek", "v": [0.9, 0.2, 0.1, 0.1, 0.1, 0.8]},
114
+ "Robert De Niro": {"c": "Male / Erkek", "v": [0.2, 0.1, 0.1, 0.9, 0.1, 0.8]},
115
+ "Johnny Depp": {"c": "Male / Erkek", "v": [0.1, 0.9, 0.8, 0.4, 0.1, 0.1]},
116
+ "Jason Statham": {"c": "Male / Erkek", "v": [0.95, 0.3, 0.1, 0.1, 0.1, 0.7]},
117
+ "Keanu Reeves": {"c": "Male / Erkek", "v": [0.9, 0.4, 0.1, 0.2, 0.9, 0.6]},
118
+ "Brad Pitt": {"c": "Male / Erkek", "v": [0.7, 0.5, 0.3, 0.8, 0.2, 0.4]},
119
+ "Tom Cruise": {"c": "Male / Erkek", "v": [0.9, 0.8, 0.2, 0.1, 0.4, 0.5]},
120
+ "Anthony Hopkins": {"c": "Male / Erkek", "v": [0.1, 0.1, 0.1, 0.95, 0.1, 0.9]},
121
+ "Arnold Schwarzenegger": {"c": "Male / Erkek", "v": [0.95, 0.6, 0.2, 0.1, 0.8, 0.1]},
122
+ "Bruce Willis": {"c": "Male / Erkek", "v": [0.9, 0.2, 0.1, 0.3, 0.4, 0.7]},
123
+ "Christian Bale": {"c": "Male / Erkek", "v": [0.8, 0.2, 0.1, 0.9, 0.1, 0.7]},
124
+ "Tom Hanks": {"c": "Male / Erkek", "v": [0.2, 0.6, 0.5, 0.9, 0.1, 0.1]},
125
+ "Morgan Freeman": {"c": "Male / Erkek", "v": [0.1, 0.3, 0.1, 0.9, 0.1, 0.6]},
126
+ "Al Pacino": {"c": "Male / Erkek", "v": [0.2, 0.1, 0.1, 0.95, 0.1, 0.8]},
127
+ "Cillian Murphy": {"c": "Male / Erkek", "v": [0.4, 0.1, 0.1, 0.9, 0.4, 0.8]},
128
+ "Jackie Chan": {"c": "Male / Erkek", "v": [0.9, 0.7, 0.9, 0.1, 0.1, 0.1]},
129
+ "Denzel Washington": {"c": "Male / Erkek", "v": [0.8, 0.2, 0.1, 0.9, 0.1, 0.7]},
130
+ "George Clooney": {"c": "Male / Erkek", "v": [0.3, 0.4, 0.5, 0.8, 0.1, 0.6]},
131
+ "Jake Gyllenhaal": {"c": "Male / Erkek", "v": [0.6, 0.1, 0.1, 0.9, 0.2, 0.8]},
132
+ "Pierce Brosnan": {"c": "Male / Erkek", "v": [0.8, 0.7, 0.3, 0.4, 0.1, 0.6]},
133
+ "Angelina Jolie": {"c": "Female / Kadın", "v": [0.9, 0.7, 0.1, 0.8, 0.1, 0.6]},
134
+ "Natalie Portman": {"c": "Female / Kadın", "v": [0.3, 0.2, 0.1, 0.9, 0.6, 0.7]},
135
+ "Scarlett Johansson": {"c": "Female / Kadın", "v": [0.9, 0.6, 0.2, 0.7, 0.8, 0.5]},
136
+ "Charlize Theron": {"c": "Female / Kadın", "v": [0.8, 0.3, 0.1, 0.9, 0.2, 0.7]},
137
+ "Milla Jovovich": {"c": "Female / Kadın", "v": [0.9, 0.4, 0.1, 0.1, 0.9, 0.3]},
138
+ "Sandra Bullock": {"c": "Female / Kadın", "v": [0.2, 0.1, 0.9, 0.8, 0.1, 0.6]},
139
+ "Nicole Kidman": {"c": "Female / Kadın", "v": [0.1, 0.2, 0.1, 0.95, 0.1, 0.7]},
140
+ "Jennifer Lawrence": {"c": "Female / Kadın", "v": [0.7, 0.8, 0.3, 0.9, 0.4, 0.2]},
141
+ "Meryl Streep": {"c": "Female / Kadın", "v": [0.1, 0.1, 0.4, 0.95, 0.1, 0.1]},
142
+ "Salma Hayek": {"c": "Female / Kadın", "v": [0.6, 0.3, 0.5, 0.8, 0.1, 0.1]},
143
+ "Anne Hathaway": {"c": "Female / Kadın", "v": [0.2, 0.7, 0.8, 0.8, 0.1, 0.1]},
144
+ "Keira Knightley": {"c": "Female / Kadın", "v": [0.1, 0.8, 0.1, 0.95, 0.1, 0.1]},
145
+ "Julia Roberts": {"c": "Female / Kadın", "v": [0.1, 0.2, 0.9, 0.9, 0.1, 0.1]},
146
+ "Penelope Cruz": {"c": "Female / Kadın", "v": [0.2, 0.3, 0.6, 0.9, 0.1, 0.6]},
147
+ "Monica Bellucci": {"c": "Female / Kadın", "v": [0.6, 0.1, 0.1, 0.8, 0.5, 0.3]},
148
+ "Emily Blunt": {"c": "Female / Kadın", "v": [0.7, 0.6, 0.1, 0.8, 0.5, 0.6]},
149
+ "Cameron Diaz": {"c": "Female / Kadın", "v": [0.1, 0.2, 0.95, 0.7, 0.1, 0.1]}
150
+ }
151
+
152
+ # --- RESİM KLASÖRÜ AYARI ---
153
+ resim_klasoru = os.path.join(os.getcwd(), "40 resim")
154
+
155
+ # --- ARAYÜZ AYARLARI ---
156
+ st.set_page_config(page_title="CastMatch AI", layout="wide")
157
+
158
+ # --- SOL PANEL (SIDEBAR) ---
159
+ st.sidebar.title("🔍 Control Panel / Kontrol Paneli")
160
+ st.sidebar.markdown("---")
161
+
162
+ gender_choice = st.sidebar.radio(
163
+ "1. Select Category / Kategori Seçin:",
164
+ ["Male / Erkek", "Female / Kadın"]
165
+ )
166
+
167
+ # Klasörde resim olsa da olmasa da isimleri listele ki "Yok" çıkmasın
168
+ filtered_names = [name for name, data in tum_unlu_verileri.items() if data['c'] == gender_choice]
169
+
170
+ st.sidebar.markdown(f"### 📋 Available Cast / Mevcut Oyuncular")
171
+
172
+ # SENKRONİZASYON: Sidebar seçimini ana state'e bağlıyoruz
173
+ selected_actor_sidebar = st.sidebar.radio(
174
+ "Quick Select:",
175
+ filtered_names,
176
+ label_visibility="collapsed"
177
+ )
178
+
179
+ # --- ANA EKRAN ---
180
+ st.title("🎬 CastMatch AI: Talent Matching System / Yetenek Eşleştirme Sistemi")
181
+ st.markdown("#### Discover the perfect roles for global stars! / Dünya yıldızları için en ideal rolleri keşfedin!")
182
+ st.markdown("---")
183
+
184
  col_actor, col_match = st.columns([1, 2])
185
 
186
  with col_actor: