ll7098ll commited on
Commit
5803d11
Β·
verified Β·
1 Parent(s): 79f7c7e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -26
app.py CHANGED
@@ -22,31 +22,28 @@ model = genai.GenerativeModel(
22
 
23
  # μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ
24
  SYSTEM_PROMPT = """
25
- 당신은 창의적인 발λͺ…κ°€μ΄μž λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ μ „λ¬Έκ°€μž…λ‹ˆλ‹€. Python μ½”λ”© μ „λ¬Έκ°€μž…λ‹ˆλ‹€.
26
- μ‚¬μš©μžκ°€ μ„ νƒν•œ λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ μ„Όμ„œ 쑰합을 기반으둜,
27
- ν₯λ―Έλ‘­κ³  μ‹€μš©μ μΈ 발λͺ…ν’ˆ 아이디어λ₯Ό μ œμ•ˆν•΄μ£Όμ„Έμš”.
28
  μ΅œλŒ€ν•œ λ‹€μ–‘ν•œ λΆ„μ•Όμ˜ 사둀λ₯Ό μ œκ³΅ν•΄μ•Ό ν•˜λ©°, νŠΉμ΄ν•˜κ³  창의적인 아이디어λ₯Ό μš°μ„ μ μœΌλ‘œ μ œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.
29
- μž…λ ₯ν•  λ•Œλ§ˆλ‹€ λ‹€λ₯Έ 발λͺ…ν’ˆμ„ 좜λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.
30
 
31
  **응닡 ν˜•μ‹:**
32
-
33
- 1. **발λͺ…ν’ˆ 아이디어:** (κ°„λž΅ν•œ μ„€λͺ…)
34
- 2. **ν™œμš© μ„Όμ„œ:** (μ„ νƒλœ μ„Όμ„œ λͺ©λ‘)
35
- 3. **상세 μ„€λͺ…:** (아이디어에 λŒ€ν•œ μžμ„Έν•œ μ„€λͺ…, μž‘λ™ 방식, ν™œμš© μ˜ˆμ‹œ 포함)
36
- 4. **μΆ”κ°€ 정보:** (ν”„λ‘œκ·Έλž˜λ° 팁, κ΄€λ ¨ νŠœν† λ¦¬μ–Ό 링크 λ“±)
37
- 5.** Python μ½”λ“œ:** (λ™μž‘ κ°€λŠ₯ν•œ ꡬ체적인 μ½”λ“œ)
38
  """
39
 
40
 
41
- def generate_invention_idea(selected_sensors):
42
  """
43
- μ„ νƒλœ μ„Όμ„œ 쑰합을 기반으둜 발λͺ…ν’ˆ 아이디어λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
44
  """
45
- sensor_list = ", ".join(selected_sensors)
46
 
47
  prompt = [
48
  SYSTEM_PROMPT,
49
- f"**μ„ νƒλœ μ„Όμ„œ:** {sensor_list}",
50
  ]
51
 
52
  response = model.generate_content(prompt, stream=True)
@@ -58,20 +55,13 @@ def generate_invention_idea(selected_sensors):
58
  time.sleep(0.03)
59
 
60
 
61
- # μ„Όμ„œ λͺ©λ‘ (μ²΄ν¬λ°•μŠ€ μ˜΅μ…˜)
62
- sensor_options = [
63
- "가속도 μ„Όμ„œ", "자기μž₯ μ„Όμ„œ", "κ΄‘ μ„Όμ„œ", "μ˜¨λ„ μ„Όμ„œ", "ν„°μΉ˜ μ„Όμ„œ", "λ²„νŠΌ",
64
- "초음파 μ„Όμ„œ", "ν† μ–‘ μˆ˜λΆ„ μ„Όμ„œ", "쑰도 μ„Όμ„œ", "μ†Œλ¦¬ μ„Όμ„œ", "μ˜¨μŠ΅λ„ μ„Όμ„œ",
65
- "κ°€μŠ€ μ„Όμ„œ", "적외선 μ„Όμ„œ", "컬러 μ„Όμ„œ", "GPS λͺ¨λ“ˆ", "RFID λͺ¨λ“ˆ"
66
- ]
67
-
68
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ„€μ •
69
  iface = gr.Interface(
70
- fn=generate_invention_idea,
71
- inputs=gr.CheckboxGroup(choices=sensor_options, label="λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ μ„Όμ„œ 선택"),
72
- outputs=gr.Textbox(lines=15, label="발λͺ…ν’ˆ 아이디어"),
73
- title="λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ 발λͺ…ν’ˆ 아이디어 생성기",
74
- description="μ›ν•˜λŠ” μ„Όμ„œλ₯Ό μ„ νƒν•˜λ©΄, λ§ˆμ΄ν¬λ‘œλΉ„νŠΈλ₯Ό ν™œμš©ν•œ 발λͺ…ν’ˆ 아이디어λ₯Ό μ œμ•ˆν•΄μ€λ‹ˆλ‹€.",
75
  )
76
 
77
  # μΈν„°νŽ˜μ΄μŠ€ μ‹€ν–‰
 
22
 
23
  # μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ
24
  SYSTEM_PROMPT = """
25
+ 당신은 창의적인 문제 ν•΄κ²°μ‚¬μ΄μž λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ μ „λ¬Έκ°€μž…λ‹ˆλ‹€. Python μ½”λ”© μ „λ¬Έκ°€μž…λ‹ˆλ‹€.
26
+ μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 문제 상황에 λŒ€ν•΄ λ§ˆμ΄ν¬λ‘œλΉ„νŠΈλ₯Ό μ΄μš©ν•˜μ—¬ ν•΄κ²°ν•  수 μžˆλŠ” 방법을 μ œμ•ˆν•΄μ£Όμ„Έμš”.
27
+ μ–΄λ–€ μ„Όμ„œλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜λŠ”μ§€, μ–΄λ–€ λ…Όλ¦¬λ‘œ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ”μ§€ μžμ„Ένžˆ μ„€λͺ…ν•΄μ•Ό ν•©λ‹ˆλ‹€.
28
  μ΅œλŒ€ν•œ λ‹€μ–‘ν•œ λΆ„μ•Όμ˜ 사둀λ₯Ό μ œκ³΅ν•΄μ•Ό ν•˜λ©°, νŠΉμ΄ν•˜κ³  창의적인 아이디어λ₯Ό μš°μ„ μ μœΌλ‘œ μ œμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.
 
29
 
30
  **응닡 ν˜•μ‹:**
31
+ 1. **문제 상황 뢄석:** (μž…λ ₯된 문제 상황에 λŒ€ν•œ 뢄석)
32
+ 2. **ν•΄κ²° λ°©μ•ˆ:** (λ§ˆμ΄ν¬λ‘œλΉ„νŠΈλ₯Ό μ΄μš©ν•œ ν•΄κ²° λ°©μ•ˆ μ œμ‹œ)
33
+ 3. **ν™œμš© μ„Όμ„œ:** (ν•„μš”ν•œ μ„Όμ„œ λͺ©λ‘)
34
+ 4. **상세 μ„€λͺ…:** (ν•΄κ²° λ°©μ•ˆμ— λŒ€ν•œ μžμ„Έν•œ μ„€λͺ…, λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ λ™μž‘ 방식, ν™œμš© μ˜ˆμ‹œ 포함)
35
+ 5. **Python μ½”λ“œ:** (λ™μž‘ κ°€λŠ₯ν•œ ꡬ체적인 μ½”λ“œ)
 
36
  """
37
 
38
 
39
+ def generate_solution(problem_situation):
40
  """
41
+ μž…λ ₯된 문제 상황에 λŒ€ν•œ λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ 기반 ν•΄κ²° λ°©μ•ˆμ„ μƒμ„±ν•©λ‹ˆλ‹€.
42
  """
 
43
 
44
  prompt = [
45
  SYSTEM_PROMPT,
46
+ f"**문제 상황:** {problem_situation}",
47
  ]
48
 
49
  response = model.generate_content(prompt, stream=True)
 
55
  time.sleep(0.03)
56
 
57
 
 
 
 
 
 
 
 
58
  # Gradio μΈν„°νŽ˜μ΄μŠ€ μ„€μ •
59
  iface = gr.Interface(
60
+ fn=generate_solution,
61
+ inputs=gr.Textbox(lines=5, label="문제 상황"),
62
+ outputs=gr.Textbox(lines=15, label="λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ ν•΄κ²° λ°©μ•ˆ"),
63
+ title="λ§ˆμ΄ν¬λ‘œλΉ„νŠΈ 문제 ν•΄κ²° λ„μš°λ―Έ",
64
+ description="문제 상황을 μž…λ ₯ν•˜λ©΄, λ§ˆμ΄ν¬λ‘œλΉ„νŠΈλ₯Ό ν™œμš©ν•œ ν•΄κ²° λ°©μ•ˆμ„ μ œμ•ˆν•΄μ€λ‹ˆλ‹€.",
65
  )
66
 
67
  # μΈν„°νŽ˜μ΄μŠ€ μ‹€ν–‰