Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
##############################################################################
|