Kims12 commited on
Commit
5c1dc59
ยท
verified ยท
1 Parent(s): 969f915

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -4
app.py CHANGED
@@ -233,13 +233,24 @@ def ask_llm_for_final_prompt(kr_prompt):
233
  api_key = os.environ.get("GEMINI_API_KEY")
234
  if not api_key:
235
  logger.error("Gemini API ํ‚ค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.")
236
- return f"AI ์ด๋ฏธ์ง€ ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ: {kr_prompt}"
237
 
238
  client = genai.Client(api_key=api_key)
239
 
240
  llm_prompt = f"""
241
  ๋‹ค์Œ์€ ์ด์ปค๋จธ์Šค ์ƒํ’ˆ ์ด๋ฏธ์ง€ ๋ฐฐ๊ฒฝ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ๋งค๋ ฅ์ ์ธ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ๋กœ
242
- ๋‹ค์‹œ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋‹จ, ์›๋ณธ ์ด๋ฏธ์ง€์˜ ์ œํ’ˆ ํŠน์„ฑ์„ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ๊ณผ ๋ฐฐ๊ฒฝ๋งŒ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์€ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
 
 
 
 
 
 
 
 
 
 
 
243
 
244
  ์›๋ณธ ํ”„๋กฌํ”„ํŠธ:
245
  {kr_prompt}
@@ -263,16 +274,21 @@ def ask_llm_for_final_prompt(kr_prompt):
263
  for part in response.candidates[0].content.parts:
264
  if hasattr(part, 'text') and part.text:
265
  final_prompt += part.text
 
 
 
 
 
266
 
267
  if final_prompt.strip():
268
  logger.info(f"LLM 2์ฐจ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ๊ฒฐ๊ณผ: {final_prompt.strip()}")
269
  return final_prompt.strip()
270
  else:
271
  logger.warning("LLM 2์ฐจ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์›๋ณธ ํ”„๋กฌํ”„ํŠธ ์‚ฌ์šฉ")
272
- return f"AI ์ด๋ฏธ์ง€ ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ: {kr_prompt}"
273
  except Exception as e:
274
  logger.exception("LLM 2์ฐจ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ:")
275
- return f"AI ์ด๋ฏธ์ง€ ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ: {kr_prompt}"
276
 
277
  # LLM ์Šคํƒ€์ผ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ํ•จ์ˆ˜
278
  def generate_llm_prompt(product_name, product_category, background_type, background_style, lighting, texture, color_tone, mood):
 
233
  api_key = os.environ.get("GEMINI_API_KEY")
234
  if not api_key:
235
  logger.error("Gemini API ํ‚ค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.")
236
+ return f"#1 {kr_prompt}"
237
 
238
  client = genai.Client(api_key=api_key)
239
 
240
  llm_prompt = f"""
241
  ๋‹ค์Œ์€ ์ด์ปค๋จธ์Šค ์ƒํ’ˆ ์ด๋ฏธ์ง€ ๋ฐฐ๊ฒฝ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋” ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ๋งค๋ ฅ์ ์ธ ์ด๋ฏธ์ง€ ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ๋กœ
242
+ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
243
+
244
+ ์ค‘์š” ์š”๊ตฌ์‚ฌํ•ญ:
245
+ 1. ๋ฐ˜๋“œ์‹œ "#1"์œผ๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค - ์ด๊ฒƒ์€ ์ฐธ์กฐํ•  ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•˜๋Š” ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.
246
+ 2. ์›๋ณธ ์ œํ’ˆ์˜ ํ’ˆ์งˆ๊ณผ ๋””ํ…Œ์ผ์ด 100% ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
247
+ 3. ๋ฐฐ๊ฒฝ์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์–ด์šฐ๋Ÿฌ์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค - ํ•ฉ์„ฑ์ด ์•„๋‹Œ ์‹ค์ œ ์ดฌ์˜ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•ด์ฃผ์„ธ์š”.
248
+ 4. ๋‹ค์Œ ์š”์†Œ๋“ค์„ ํฌํ•จํ•ด์ฃผ์„ธ์š”:
249
+ - ์ฃผ๋ณ€ ํ™˜๊ฒฝ๊ณผ์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ์ƒํ˜ธ์ž‘์šฉ (๊ทธ๋ฆผ์ž, ๋ฐ˜์‚ฌ, ํ™˜๊ฒฝ๊ด‘ ๋“ฑ)
250
+ - ์ œํ’ˆ๊ณผ ๋ฐฐ๊ฒฝ ๊ฐ„์˜ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋น› ์ƒํ˜ธ์ž‘์šฉ
251
+ - ์‹ค์ œ ์‚ฌ์ง„ ์ดฌ์˜ ์šฉ์–ด (์ŠคํŠœ๋””์˜ค ์ดฌ์˜, ์ž์—ฐ๊ด‘, ๊นŠ์ด๊ฐ ๋“ฑ)
252
+ - ์‹ค์ œ ๊ณ ๊ธ‰ ์ƒ์—… ์‚ฌ์ง„ ํ’ˆ์งˆ (8K, ์„ ๋ช…๋„, ๋ฆฌ์–ผ๋ฆฌ์ฆ˜)
253
+ 5. ์ธ์œ„์ ์ด๊ฑฐ๋‚˜ ํ•ฉ์„ฑ๋œ ๋А๋‚Œ์ด ์•„๋‹Œ, ์ „๋ฌธ ์ œํ’ˆ ์‚ฌ์ง„์ž‘๊ฐ€๊ฐ€ ์‹ค์ œ๋กœ ์ดฌ์˜ํ•œ ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์ด ๋‚˜๋„๋ก ํ•ด์ฃผ์„ธ์š”.
254
 
255
  ์›๋ณธ ํ”„๋กฌํ”„ํŠธ:
256
  {kr_prompt}
 
274
  for part in response.candidates[0].content.parts:
275
  if hasattr(part, 'text') and part.text:
276
  final_prompt += part.text
277
+
278
+ # LLM ์‘๋‹ต์— #1์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ฐ•์ œ๋กœ ์ถ”๊ฐ€
279
+ final_prompt = final_prompt.strip()
280
+ if not final_prompt.startswith("#1"):
281
+ final_prompt = f"#1 {final_prompt}"
282
 
283
  if final_prompt.strip():
284
  logger.info(f"LLM 2์ฐจ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ๊ฒฐ๊ณผ: {final_prompt.strip()}")
285
  return final_prompt.strip()
286
  else:
287
  logger.warning("LLM 2์ฐจ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ๊ฒฐ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์›๋ณธ ํ”„๋กฌํ”„ํŠธ ์‚ฌ์šฉ")
288
+ return f"#1 {kr_prompt}"
289
  except Exception as e:
290
  logger.exception("LLM 2์ฐจ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ:")
291
+ return f"#1 {kr_prompt}"
292
 
293
  # LLM ์Šคํƒ€์ผ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ ํ•จ์ˆ˜
294
  def generate_llm_prompt(product_name, product_category, background_type, background_style, lighting, texture, color_tone, mood):