seawolf2357 commited on
Commit
b325c28
Β·
verified Β·
1 Parent(s): f8a5bc5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -51
app.py CHANGED
@@ -1,55 +1,20 @@
1
  import gradio as gr
 
 
2
 
3
- # MBTI 진단 λ¬Έν•­
4
- questions = [
5
- "μƒˆλ‘œμš΄ μ‚¬λžŒλ“€μ„ λ§Œλ‚  λ•Œ 주둜 μ κ·Ήμ μΈκ°€μš”?",
6
- "μƒμƒλ³΄λ‹€λŠ” ν˜„μ‹€μ— 더 관심이 λ§Žλ‚˜μš”?",
7
- "결정을 ν•  λ•Œ 논리와 이성을 더 μ€‘μ‹œν•˜λ‚˜μš”?",
8
- "κ³„νšμ„ μ„Έμš°λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”, spontaneityλ₯Ό μ¦κΈ°λ‚˜μš”?",
9
- "κ·Έλ£Ή λ‚΄μ—μ„œ 리더 역할을 자주 λ§‘λ‚˜μš”?",
10
- "μ„ΈλΆ€ μ‚¬ν•­λ³΄λ‹€λŠ” 전체적인 그림을 더 λ³΄λŠ” νŽΈμΈκ°€μš”?",
11
- "감정보닀 사싀을 기반으둜 μ˜μ‚¬ 결정을 ν•˜λ‚˜μš”?",
12
- "λ¦¬μŠ€νŠΈλ‚˜ κ³„νš 없이 여행을 갈 수 μžˆλ‚˜μš”?",
13
- "λŒ€ν™”λ³΄λ‹€λŠ” 관찰을 μ„ ν˜Έν•˜λ‚˜μš”?",
14
- "ν˜μ‹ μ μΈ μ•„μ΄λ””μ–΄λ³΄λ‹€λŠ” κ²€μ¦λœ 방법을 μ„ ν˜Έν•˜λ‚˜μš”?",
15
- "인간 κ΄€κ³„μ—μ„œ 곡감λŠ₯λ ₯을 μ€‘μš”ν•˜κ²Œ μƒκ°ν•˜λ‚˜μš”?",
16
- "일을 마감 κΈ°ν•œ 직전에 ν•˜λŠ” νŽΈμΈκ°€μš”?",
17
- "μ‚¬λžŒλ“€κ³Ό μ–΄μšΈλ¦¬κ³  λ‚˜λ©΄ μ—λ„ˆμ§€λ₯Ό λŠλΌλ‚˜μš”?",
18
- "이둠적인 κ°œλ…μ— λŒ€ν•΄ λ°°μš°λŠ” 것을 μ’‹μ•„ν•˜λ‚˜μš”?",
19
- "νƒ€μΈμ˜ 감정을 κ³ λ €ν•˜λŠ” 것이 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•˜λ‚˜μš”?",
20
- "일정과 κ³„νšμ„ λ”°λ₯΄λŠ” 것을 μ„ ν˜Έν•˜λ‚˜μš”?",
21
- "ν™œλ™μ μΈ λ ˆν¬λ¦¬μ—μ΄μ…˜λ³΄λ‹€ μ‘°μš©ν•œ μ·¨λ―Έλ₯Ό μ„ ν˜Έν•˜λ‚˜μš”?",
22
- "μ‹€μ œ κ²½ν—˜μ„ 톡해 λ°°μš°λŠ” 것을 μ’‹μ•„ν•˜λ‚˜μš”?",
23
- "μ •μ˜μ™€ 곡정함이 맀우 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•˜λ‚˜μš”?",
24
- "μœ μ—°μ„±μ΄ κ³„νšμ„±λ³΄λ‹€ 더 μ€‘μš”ν•˜λ‹€κ³  μƒκ°ν•˜λ‚˜μš”?"
25
- ]
26
 
27
- def mbti_predict(*answers):
28
- scores = {'E': 0, 'I': 0, 'S': 0, 'N': 0, 'T': 0, 'F': 0, 'J': 0, 'P': 0}
29
-
30
- for i, answer in enumerate(answers):
31
- if answer == '예':
32
- if i in [0, 4, 12, 16]: scores['E'] += 1
33
- if i in [1, 5, 9, 17]: scores['S'] += 1
34
- if i in [2, 6, 14, 18]: scores['T'] += 1
35
- if i in [3, 7, 11, 15, 19]: scores['J'] += 1
36
- else:
37
- if i in [0, 4, 12, 16]: scores['I'] += 1
38
- if i in [1, 5, 9, 17]: scores['N'] += 1
39
- if i in [2, 6, 14, 18]: scores['F'] += 1
40
- if i in [3, 7, 11, 15, 19]: scores['P'] += 1
41
-
42
- mbti_type = ''.join([max(('E', 'I'), key=lambda x: scores[x]),
43
- max(('S', 'N'), key=lambda x: scores[x]),
44
- max(('T', 'F'), key=lambda x: scores[x]),
45
- max(('J', 'P'), key=lambda x: scores[x])])
46
-
47
- return f"λ‹Ήμ‹ μ˜ MBTI μœ ν˜•μ€ {mbti_type}μž…λ‹ˆλ‹€."
48
 
49
- iface = gr.Interface(fn=mbti_predict,
50
- inputs=[gr.Radio(['예', 'μ•„λ‹ˆμ˜€']) for _ in questions],
51
- outputs="text",
52
- title="MBTI μœ ν˜• 진단",
53
- description="20개의 μ§ˆλ¬Έμ— λ‹΅ν•˜μ—¬ λ‹Ήμ‹ μ˜ MBTI μœ ν˜•μ„ μ•Œμ•„λ³΄μ„Έμš”.",
54
- article="각 μ§ˆλ¬Έμ— '예' λ˜λŠ” 'μ•„λ‹ˆμ˜€'둜 λ‹΅ν•΄ μ£Όμ„Έμš”.")
55
- iface.launch()
 
1
  import gradio as gr
2
+ from gtts import gTTS
3
+ from io import BytesIO
4
 
5
+ def text_to_speech(text):
6
+ tts = gTTS(text=text, lang='ko') # ν•œκΈ€ 지원을 μœ„ν•΄ lang νŒŒλΌλ―Έν„°λ₯Ό 'ko'둜 μ„€μ •
7
+ audio_bytes = BytesIO()
8
+ tts.write_to_fp(audio_bytes)
9
+ audio_bytes.seek(0)
10
+ return audio_bytes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
+ # Gradio μΈν„°νŽ˜μ΄μŠ€ μ •μ˜
13
+ iface = gr.Interface(fn=text_to_speech,
14
+ inputs=gr.inputs.Textbox(lines=2, placeholder="여기에 λ³€ν™˜ν•  ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜μ„Έμš”..."),
15
+ outputs=gr.outputs.Audio(type="audio", label="λ³€ν™˜λœ μŒμ„±"),
16
+ title="ν•œκΈ€ TTS λ³€ν™˜κΈ°",
17
+ description="gTTSλ₯Ό μ‚¬μš©ν•˜μ—¬ ν…μŠ€νŠΈλ₯Ό μŒμ„±μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€. ν•œκΈ€ μ§€μ›λ©λ‹ˆλ‹€.")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
+ if __name__ == "__main__":
20
+ iface.launch()