aiqcamp commited on
Commit
d04f70e
Β·
verified Β·
1 Parent(s): b15e361

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -113
app.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import os
2
  import gradio as gr
3
  import random
@@ -42,7 +44,6 @@ def choose_alternative(transformation):
42
  else:
43
  return random.choice([left, right])
44
 
45
-
46
  # 창의적인 λͺ¨λΈ/컨셉/ν˜•μƒ λ³€ν™” 아이디어λ₯Ό μœ„ν•œ μΉ΄ν…Œκ³ λ¦¬ (κΈ°μ‘΄ '물리적 λ³€ν™”' 사전 μœ μ§€)
47
  physical_transformation_categories = {
48
  "곡간 이동": [
@@ -185,118 +186,6 @@ physical_transformation_categories = {
185
  ]
186
  }
187
 
188
- import os
189
- import gradio as gr
190
- import random
191
- import time
192
- import logging
193
- import google.generativeai as genai
194
-
195
- # λ‘œκΉ… μ„€μ •
196
- logging.basicConfig(
197
- level=logging.INFO,
198
- format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
199
- handlers=[
200
- logging.FileHandler("api_debug.log"),
201
- logging.StreamHandler()
202
- ]
203
- )
204
- logger = logging.getLogger("idea_generator")
205
-
206
- # Gemini API ν‚€λŠ” ν™˜κ²½ λ³€μˆ˜ GEMINI_API_KEYμ—μ„œ κ°€μ Έμ˜΅λ‹ˆλ‹€.
207
- GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
208
- genai.configure(api_key=GEMINI_API_KEY)
209
-
210
- # μŠ¬λž˜μ‹œ("/")κ°€ ν¬ν•¨λœ λ³€ν™˜ λ¬Έμžμ—΄μ—μ„œ 두 μ˜΅μ…˜ 쀑 ν•˜λ‚˜λ§Œ μ„ νƒν•˜λŠ” 헬퍼 ν•¨μˆ˜
211
- def choose_alternative(transformation):
212
- if "/" not in transformation:
213
- return transformation
214
- parts = transformation.split("/")
215
- if len(parts) != 2:
216
- return random.choice([part.strip() for part in parts])
217
- left = parts[0].strip()
218
- right = parts[1].strip()
219
- if " " in left:
220
- tokens = left.split(" ", 1)
221
- prefix = tokens[0]
222
- if not right.startswith(prefix):
223
- option1 = left
224
- option2 = prefix + " " + right
225
- else:
226
- option1 = left
227
- option2 = right
228
- return random.choice([option1, option2])
229
- else:
230
- return random.choice([left, right])
231
-
232
- # 창의적인 λͺ¨λΈ/컨셉/ν˜•μƒ λ³€ν™” 아이디어λ₯Ό μœ„ν•œ μΉ΄ν…Œκ³ λ¦¬ (κΈ°μ‘΄ '물리적 λ³€ν™”' 사전 μœ μ§€)
233
- physical_transformation_categories = {
234
- "곡간 이동": [
235
- "μ•ž/λ’€ 이동", "쒌/우 이동", "μœ„/μ•„λž˜ 이동", "μ„Έλ‘œμΆ• νšŒμ „(고개 λ„λ•μž„)",
236
- "κ°€λ‘œμΆ• νšŒμ „(고개 μ “κΈ°)", "길이좕 νšŒμ „(μ˜†μœΌλ‘œ κΈ°μšΈμž„)", "원 μš΄λ™", "λ‚˜μ„ ν˜• 이동",
237
- "관성에 μ˜ν•œ λ―Έλ„λŸ¬μ§", "νšŒμ „μΆ• λ³€ν™”", "λΆˆκ·œμΉ™ νšŒμ „", "흔듀림 μš΄λ™", "포물선 이동",
238
- "무쀑λ ₯ λΆ€μœ ", "수면 μœ„ λΆ€μœ ", "점프/도약", "μŠ¬λΌμ΄λ”©", "둀링", "자유 λ‚™ν•˜",
239
- "왕볡 μš΄λ™", "탄성 νŠ•κΉ€", "관톡", "νšŒν”Ό μ›€μ§μž„", "μ§€κ·Έμž¬κ·Έ 이동", "μŠ€μœ™ μš΄λ™"
240
- ],
241
-
242
- # [κΈ°μ‘΄ μΉ΄ν…Œκ³ λ¦¬λ“€ μœ μ§€]
243
- # ... λ‹€λ₯Έ λͺ¨λ“  μΉ΄ν…Œκ³ λ¦¬λ“€μ€ μ›λž˜ μ½”λ“œμ™€ λ™μΌν•˜κ²Œ μœ μ§€ ...
244
-
245
- "크기와 ν˜•νƒœ λ³€ν™”": [
246
- "λΆ€ν”Ό λŠ˜μ–΄λ‚¨/쀄어듦", "길이 λŠ˜μ–΄λ‚¨/쀄어듦", "λ„ˆλΉ„ λŠ˜μ–΄λ‚¨/쀄어듦", "높이 λŠ˜μ–΄λ‚¨/쀄어듦",
247
- "밀도 λ³€ν™”", "무게 증가/κ°μ†Œ", "λͺ¨μ–‘ λ³€ν˜•", "μƒνƒœ λ³€ν™”", "λΆˆκ· λ“± λ³€ν˜•",
248
- "λ³΅μž‘ν•œ ν˜•νƒœ λ³€ν˜•", "λΉ„ν‹€λ¦Ό/κΌ¬μž„", "λΆˆκ· μΌν•œ ν™•μž₯/μΆ•μ†Œ", "λͺ¨μ„œλ¦¬ λ‘₯κΈ€κ²Œ/λ‚ μΉ΄λ‘­κ²Œ",
249
- "깨짐/갈라짐", "μ—¬λŸ¬ 쑰각 λ‚˜λˆ μ§", "λ¬Ό μ €ν•­", "λ¨Όμ§€ μ €ν•­", "찌그러짐/볡원",
250
- "μ ‘νž˜/펼쳐짐", "μ••μ°©/팽창", "λŠ˜μ–΄λ‚¨/μˆ˜μΆ•", "ꡬ겨짐/평평해짐", "λ­‰κ°œμ§/단단해짐",
251
- "말림/펴짐", "κΊΎμž„/κ΅¬λΆ€λŸ¬μ§"
252
- ],
253
-
254
- "ν‘œλ©΄ 및 μ™Έκ΄€ λ³€ν™”": [
255
- "색상 λ³€ν™”", "질감 λ³€ν™”", "투λͺ…/뢈투λͺ… λ³€ν™”", "λ°˜μ§μž„/무광 λ³€ν™”",
256
- "λΉ› λ°˜μ‚¬ 정도 λ³€ν™”", "무늬 λ³€ν™”", "각도에 λ”°λ₯Έ 색상 λ³€ν™”", "빛에 λ”°λ₯Έ 색상 λ³€ν™”",
257
- "μ˜¨λ„μ— λ”°λ₯Έ 색상 λ³€ν™”", "ν™€λ‘œκ·Έλž¨ 효과", "ν‘œλ©΄ 각도별 λΉ› λ°˜μ‚¬", "ν‘œλ©΄ λͺ¨μ–‘ λ³€ν˜•",
258
- "μ΄ˆλ―Έμ„Έ ν‘œλ©΄ ꡬ쑰 λ³€ν™”", "μžκ°€ μ„Έμ • 효과", "얼룩/νŒ¨ν„΄ 생성", "흐림/μ„ λͺ…함 λ³€ν™”",
259
- "광택/윀기 λ³€ν™”", "색쑰/채도 λ³€ν™”", "λ°œκ΄‘/ν˜•κ΄‘", "λΉ› μ‚°λž€ 효과",
260
- "λΉ› 흑수 λ³€ν™”", "반투λͺ… 효과", "그림자 효과 λ³€ν™”", "μžμ™Έμ„  λ°˜μ‘ λ³€ν™”",
261
- "μ•Όκ΄‘ 효과"
262
- ],
263
-
264
- "물질의 μƒνƒœ λ³€ν™”": [
265
- "고체/앑체/기체 μ „ν™˜", "κ²°μ •ν™”/μš©ν•΄", "μ‚°ν™”/뢀식", "딱딱해짐/λΆ€λ“œλŸ¬μ›Œμ§",
266
- "특수 μƒνƒœ μ „ν™˜", "λ¬΄μ •ν˜•/κ²°μ •ν˜• μ „ν™˜", "μ„±λΆ„ 뢄리", "λ―Έμ„Έ μž…μž ν˜•μ„±/λΆ„ν•΄",
267
- "μ € ν˜•μ„±/풀어짐", "μ€€μ•ˆμ • μƒνƒœ λ³€ν™”", "λΆ„μž μžκ°€ μ •λ ¬/λΆ„ν•΄", "μƒνƒœλ³€ν™” μ§€μ—° ν˜„μƒ",
268
- "λ…ΉμŒ", "ꡳ음", "증발/응좕", "μŠΉν™”/증착", "μΉ¨μ „/λΆ€μœ ", "λΆ„μ‚°/응집",
269
- "건쑰/슡윀", "팽윀/μˆ˜μΆ•", "동결/해동", "풍화/침식", "μΆ©μ „/λ°©μ „",
270
- "κ²°ν•©/뢄리", "발효/λΆ€νŒ¨"
271
- ],
272
-
273
- "μ—΄ κ΄€λ ¨ λ³€ν™”": [
274
- "μ˜¨λ„ μƒμŠΉ/ν•˜κ°•", "열에 μ˜ν•œ 팽창/μˆ˜μΆ•", "μ—΄ 전달/차단", "μ••λ ₯ μƒμŠΉ/ν•˜κ°•",
275
- "μ—΄ 변화에 λ”°λ₯Έ μžν™”", "λ¬΄μ§ˆμ„œλ„ λ³€ν™”", "μ—΄μ „κΈ° ν˜„μƒ", "자기μž₯에 μ˜ν•œ μ—΄ λ³€ν™”",
276
- "μƒνƒœλ³€ν™” 쀑 μ—΄ μ €μž₯/방좜", "μ—΄ 슀트레슀 λ°œμƒ/ν•΄μ†Œ", "κΈ‰κ²©ν•œ μ˜¨λ„ λ³€ν™” 영ν–₯",
277
- "볡사열에 μ˜ν•œ 냉각/κ°€μ—΄", "λ°œμ—΄/흑열", "μ—΄ 뢄포 λ³€ν™”", "μ—΄ λ°˜μ‚¬/흑수",
278
- "냉각 응좕", "μ—΄ ν™œμ„±ν™”", "μ—΄ 변색", "μ—΄ 팽창 κ³„μˆ˜ λ³€ν™”", "μ—΄ μ•ˆμ •μ„± λ³€ν™”",
279
- "λ‚΄μ—΄μ„±/λ‚΄ν•œμ„±", "μžκΈ°λ°œμ—΄", "열적 ν‰ν˜•/λΆˆκ· ν˜•", "열적 λ³€ν˜•", "μ—΄ λΆ„μ‚°/집쀑"
280
- ],
281
-
282
- "μ›€μ§μž„ νŠΉμ„± λ³€ν™”": [
283
- "가속/감속", "일정
284
- # μΆ•μ•½λœ λΆ€λΆ„, μ‹€μ œ μ½”λ“œμ—μ„œλŠ” λͺ¨λ“  μΉ΄ν…Œκ³ λ¦¬λ₯Ό μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€
285
- # λ‹€λ₯Έ λͺ¨λ“  μΉ΄ν…Œκ³ λ¦¬λ“€μ€ μ›λž˜ μ½”λ“œμ™€ λ™μΌν•˜κ²Œ μœ μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€
286
- "μ„Όμ„œ κΈ°λŠ₯": [
287
- "μ‹œκ° μ„Όμ„œ/감지", "청각 μ„Όμ„œ/감지", "촉각 μ„Όμ„œ/감지", "미각 μ„Όμ„œ/감지", "후각 μ„Όμ„œ/감지",
288
- "μ˜¨λ„ μ„Όμ„œ/감지", "μŠ΅λ„ μ„Όμ„œ/감지", "μ••λ ₯ μ„Όμ„œ/감지", "가속도 μ„Όμ„œ/감지", "νšŒμ „ μ„Όμ„œ/감지",
289
- "κ·Όμ ‘ μ„Όμ„œ/감지", "μœ„μΉ˜ μ„Όμ„œ/감지", "μš΄λ™ μ„Όμ„œ/감지", "κ°€μŠ€ μ„Όμ„œ/감지", "적외선 μ„Όμ„œ/감지",
290
- "μžμ™Έμ„  μ„Όμ„œ/감지", "방사선 μ„Όμ„œ/감지", "자기μž₯ μ„Όμ„œ/감지", "μ „κΈ°μž₯ μ„Όμ„œ/감지", "ν™”ν•™λ¬Όμ§ˆ μ„Όμ„œ/감지",
291
- "μƒμ²΄μ‹ ν˜Έ μ„Όμ„œ/감지", "진동 μ„Όμ„œ/감지", "μ†ŒμŒ μ„Όμ„œ/감지", "λΉ› μ„ΈκΈ° μ„Όμ„œ/감지", "λΉ› 파μž₯ μ„Όμ„œ/감지",
292
- "기울기 μ„Όμ„œ/감지", "pH μ„Όμ„œ/감지", "μ „λ₯˜ μ„Όμ„œ/감지", "μ „μ•• μ„Όμ„œ/감지", "이미지 μ„Όμ„œ/감지",
293
- "거리 μ„Όμ„œ/감지", "깊이 μ„Όμ„œ/감지", "쀑λ ₯ μ„Όμ„œ/감지", "속도 μ„Όμ„œ/감지", "흐름 μ„Όμ„œ/감지",
294
- "μˆ˜μœ„ μ„Όμ„œ/감지", "탁도 μ„Όμ„œ/감지", "염도 μ„Όμ„œ/감지", "κΈˆμ† 감지", "μ••μ „ μ„Όμ„œ/감지",
295
- "κ΄‘μ „ μ„Όμ„œ/감지", "μ—΄μ „λŒ€ μ„Όμ„œ/감지", "홀 효과 μ„Όμ„œ/감지", "초음파 μ„Όμ„œ/감지", "λ ˆμ΄λ” μ„Όμ„œ/감지",
296
- "라이닀 μ„Όμ„œ/감지", "ν„°μΉ˜ μ„Όμ„œ/감지", "제슀처 μ„Όμ„œ/감지", "심박 μ„Όμ„œ/감지", "ν˜ˆμ•• μ„Όμ„œ/감지"
297
- ]
298
- }
299
-
300
  ##############################################################################
301
  # Gemini API 호좜 ν•¨μˆ˜ (예: gemini-2.0-flash-thinking-exp-01-21 -> λ‹€λ₯Έ λͺ¨λΈ μ‚¬μš© μ‹œ μˆ˜μ •)
302
  ##############################################################################
 
1
+
2
+
3
  import os
4
  import gradio as gr
5
  import random
 
44
  else:
45
  return random.choice([left, right])
46
 
 
47
  # 창의적인 λͺ¨λΈ/컨셉/ν˜•μƒ λ³€ν™” 아이디어λ₯Ό μœ„ν•œ μΉ΄ν…Œκ³ λ¦¬ (κΈ°μ‘΄ '물리적 λ³€ν™”' 사전 μœ μ§€)
48
  physical_transformation_categories = {
49
  "곡간 이동": [
 
186
  ]
187
  }
188
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
  ##############################################################################
190
  # Gemini API 호좜 ν•¨μˆ˜ (예: gemini-2.0-flash-thinking-exp-01-21 -> λ‹€λ₯Έ λͺ¨λΈ μ‚¬μš© μ‹œ μˆ˜μ •)
191
  ##############################################################################