korav / app.py
arxivgpt kim
Update app.py
1cfdf5e verified
raw
history blame contribute delete
No virus
18.4 kB
import gradio as gr
# ์งˆ๋ฌธ ๋ฐ ์„ ํƒ์ง€ ์„ค์ •
questions = ["[1๋‹จ๊ณ„] 1. ๋น„์ฆ๊ถŒ์„ฑ์œผ๋กœ ํŒ๋‹จ๋ฐ›์€ ๋ฒ•๋ฅ ์ž๋ฌธ ๊ฒ€ํ† ์„œ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‚˜์š”?",
"[1๋‹จ๊ณ„] 2. TOP 10 Holder ๋ฐฐ๋ถ„์œจ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”(TOP 10 Holder)๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‚˜์š”?)",
"[1๋‹จ๊ณ„] 3. ํ† ํฐ ๋ฐœํ–‰์„ ํ•œ ์ดํ›„ ์–ผ๋งˆ๋‚˜ ์ง€๋‚ฌ์Šต๋‹ˆ๊นŒ?",
"[1๋‹จ๊ณ„] 4. ํ”„๋กœ์ ํŠธ ๊ณต์‹œ๊ด€๋ จ ๊ทœ์ •(or ๋งค๋‰ด์–ผ)์ด ์žˆ์Šต๋‹ˆ๋‹ค",
"[2๋‹จ๊ณ„] 5. ์ž์ฒด ์šด์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ํฌํ•จ ๋‹ค์–‘ํ•œ ์ฑ„๋„์— ๊ฐ์ข… ์ด์Šˆ, ๊ณต์ง€, ๊ณต์‹œ ๋“ฑ ์‹ค์‹œ๊ฐ„ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?",
"[2๋‹จ๊ณ„] 6. ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€๋ จ ๋ฒ•๋ฅ  ์ด์Šˆ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ค€๋น„์ƒํƒœ๋ฅผ ์„ ํƒํ•ด ์ฃผ์„ธ์š”. ",
"[2๋‹จ๊ณ„] 7. ํ”„๋กœ์ ํŠธ์—์„œ ์šด์˜์ค‘์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ(์„œ๋น„์Šค ๊ฐ€์ž…์ž ํฌํ•จ) ์ธ์› ์ด ํ•ฉ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”. ",
"[2๋‹จ๊ณ„] 8. ํ”„๋กœ์ ํŠธ ํ™๋ณด๋ฅผ ์œ„ํ•œ ๋‰ด์Šค, ์–ธ๋ก  ๋“ฑ ๋ฏธ๋””์–ด ๋…ธ์ถœ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•ด ์ฃผ์„ธ์š”",
"[3๋‹จ๊ณ„] 9. ๋ฐ‹์—… ๋“ฑ ๋งˆ์ผ€ํŒ… ์‹ค์ ์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š”",
"[3๋‹จ๊ณ„] 10. ์–ด๋“œ๋ฐ”์ด์ € ๋˜๋Š” ํŒŒํŠธ๋„ˆ์˜ ์ „๋ฌธ์„ฑ ์ˆ˜์ค€์„ ์„ ํƒํ•ด ์ฃผ์„ธ์š” ",
"[3๋‹จ๊ณ„] 11. ํ”„๋กœ์ ํŠธ์™€ ์—ฐ๋™๋œ ์ „์ž์ง€๊ฐ‘ ์„œ๋น„์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ",
"[3๋‹จ๊ณ„] 12. ๋ฉ€ํ‹ฐ์ฒด์ธ ์ง€์›์˜ ์ •๋„๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š” ",
"[4๋‹จ๊ณ„] 13. GitHub์— ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต๊ฐœํ•˜๊ณ  ํ™œ๋™ํ•˜๊ณ  ์žˆ๋‚˜์š”?",
"[4๋‹จ๊ณ„] 14. ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ๊ธฐ์ˆ  ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€๋ จ ํŠนํ—ˆ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?",
"[4๋‹จ๊ณ„] 15. ๊ธฐ์ˆ  ์ธ๋ ฅ(in-house)์ค‘ ๊ด€๋ จ ๋ถ€๋ถ„ ๋ฐ•์‚ฌ ๋˜๋Š” ๊ธฐ์ˆ ์ž ์ž๊ฒฉ ๋ณด์œ ์ž๊ฐ€ ์žˆ๋‚˜์š”?",
"[4๋‹จ๊ณ„] 16. ํ”Œ๋žซํผ/์„œ๋น„์Šค ์šด์šฉ๊ธฐ๊ฐ„์ด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?",
"[5๋‹จ๊ณ„] 17. ๋ณด์•ˆ ๊ธฐ์ˆ  ๊ฐ์‚ฌ ๊ธฐ๊ด€์˜ ๋ณด์•ˆ๊ฐ์‚ฌ์„œ(Audit)๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‚˜์š”? ",
"[5๋‹จ๊ณ„] 18. ๋ณด์•ˆ๊ฐ์‚ฌ์„œ๊ฐ€ ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ? ",
"[5๋‹จ๊ณ„] 19. ๋ณด์•ˆ๋ฉ”๋‰ด์–ผ์— ๋”ฐ๋ฅธ ์ •๊ธฐ์ ์ธ ์ทจ์•ฝ์  ์ ๊ฒ€ ํ™œ๋™์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ",
"[5๋‹จ๊ณ„] 20. ๋ฒ„๊ทธ๋ฐ”์šดํ‹ฐ ์„œ๋น„์Šค๋ฅผ ํ–ˆ๊ฑฐ๋‚˜ ํ˜„์žฌ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ",
"[6๋‹จ๊ณ„] 21. ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ์กฐ์น˜ ์ˆ˜์ค€์„ ์„ ํƒํ•ด์ฃผ์„ธ์š” ",
"[6๋‹จ๊ณ„] 22. ์ฝ”์ธ๋งˆ์ผ“์บก ๋˜๋Š” ์ฝ”์ธ๊ฒŒ์ฝ”์—์„œ ์กฐํšŒ๋œ ์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ ์‹œ์ด ์ˆœ์œ„ ์„ ํƒํ•ด์ฃผ์„ธ์š”",
"[6๋‹จ๊ณ„] 23. ์ƒ์žฅ ๊ฑฐ๋ž˜์†Œ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ƒ์žฅ๊ฐ€ ๋Œ€๋น„ ํ˜„์žฌ ์‹œ์„ธ๋ฅผ ์„ ํƒํ•ด ์ฃผ์„ธ์š”",
"[6๋‹จ๊ณ„] 24. ์ƒ์žฅ๋˜์–ด ์žˆ๋Š” ๊ฑฐ๋ž˜์†Œ๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”",
"[7๋‹จ๊ณ„] 25. ์ง€๋‚œ 52์ฃผ ๊ธฐ์ค€ ์˜จ์ฒด์ธ ์ฑ ํŠธ์ƒ ํŠธ๋žœ์žญ์…˜ ์ถ”์„ธ๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”",
"[7๋‹จ๊ณ„] 26. ํ”Œ๋žซํผ ์ด์šฉ์ž ์ด๋Ÿ‰, (ํ”Œ๋žซํผ ์ด์šฉ์ž ์ˆ˜ + )์˜จ์ฒด์ธ ํ™€๋” ์ˆ˜(=์ง€๊ฐ‘์ˆ˜)์„ ์„ ํƒํ•ด์ฃผ์„ธ์š” ",
"[7๋‹จ๊ณ„] 27. ๋กœ๋“œ๋งต ๋ฐ ํžˆ์Šคํ† ๋ฆฌ ๊ณต๊ฐœ ์ˆ˜์ค€์„ ์„ ํƒํ•ด์ฃผ์„ธ์š” ",
"[7๋‹จ๊ณ„] 28. ๋กœ๋“œ๋งต ๋‹ฌ์„ฑ ์ˆ˜์ค€์„ ์„ ํƒํ•ด์ฃผ์„ธ์š” ",
"[8๋‹จ๊ณ„] 29. ์žฌ๋‹จ ๋ฐ ์šด์˜์‚ฌ(์ง€๋ฐฐ๊ตฌ์กฐ ํฌํ•จ)์˜ ํ˜•ํƒœ๋ฅผ ์„ ํƒํ•ด ์ฃผ์„ธ์š”",
"[8๋‹จ๊ณ„] 30. ๊ฒฝ์˜์ง„์„ ํฌํ•จํ•œ ํ•ต์‹ฌ์ธ๋ ฅ์˜ ์ „๋ฌธ์„ฑ ๋˜๋Š” ์˜ํ–ฅ๋ ฅ ์ˆ˜์ค€์„ ์„ ํƒํ•ด์ฃผ์„ธ์š” ",
"[8๋‹จ๊ณ„] 31. Cash runway(์žฌ๋‹จ์˜ ํ˜„๊ธˆ์œ ๋™์„ฑ ๋˜๋Š” ์žฌ๋ฌด๊ฑด์ „์„ฑ์„ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์—…์ง€์† ๊ฐ€๋Šฅ๊ธฐ๊ฐ„)๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?",
"[8๋‹จ๊ณ„] 32. ํ† ํฐ ์œ ํ†ต๊ด€๋ จ ํˆฌ์ž์ž ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ์ค€๋น„์ƒํƒœ๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”."
]
options = [["๋„ค", "์•„๋‹ˆ์˜ค"],
["30% ์ดํ•˜", "31~69%์ดํ•˜", "70% ์ด์ƒ"],
["2๋…„ ์ด์ƒ", "1๋…„ ๋ฏธ๋งŒ", "6๊ฐœ์›” ๋ฏธ๋งŒ"],
["๋„ค", "์•„๋‹ˆ์˜ค"],
["๋„ค", "์•„๋‹ˆ์˜ค"],
["์ค€๋ฒ•๊ด€๋ฆฌํŒ€(๋ณ€ํ˜ธ์‚ฌ ๊ณ ์šฉ) ๋ณด์œ (์„ ํƒ)", "์ค€๋ฒ•ํ”„๋กœ์„ธ์Šค ๋ฐ ์ž์ฒด ๋ฉ”๋‰ด์–ผ ๋ณด์œ  ๋˜๋Š” ์ •๊ธฐ์ ์œผ๋กœ ๋ฒ•๋ฅ ์ž๋ฌธ์„ ๋ฐ›๊ณ  ์žˆ์Œ(์„ ํƒ)", "๋ฒ•๋ฅ ์ž๋ฌธ์„ ๋ฐ›์€ ์ด๋ ฅ ์žˆ์Œ(์„ ํƒ)", "์—†์Œ"],
["์ปค๋ฎค๋‹ˆํ‹ฐ ์ธ์›์ˆ˜ ํ•ฉ 5๋งŒ ์ด์ƒ", "์ปค๋ฎค๋‹ˆํ‹ฐ ์ธ์›์ˆ˜ ํ•ฉ 1๋งŒ ์ด์ƒ", "์ปค๋ฎค๋‹ˆํ‹ฐ ์ธ์›์ˆ˜ ํ•ฉ 1์ฒœ ์ด์ƒ","์ปค๋ฎค๋‹ˆํ‹ฐ ์ธ์›์ˆ˜ ํ•ฉ 1์ฒœ ์ดํ•˜"],
["๊ธ€๋กœ๋ฒŒ ์ƒ์œ„ ์–ธ๋ก  ๋ฐ ๋ฏธ๋””์–ด ๋‰ด์Šค์— ๋…ธ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค", "๊ตญ๋‚ด ๋Œ€ํ˜• ์–ธ๋ก  ๋ฐ ๋ฏธ๋””์–ด ๋‰ด์Šค์— ๋…ธ์ถœ๋˜์žˆ์Šต๋‹ˆ๋‹ค", "๊ตญ๋‚ด ์ค‘์†Œํ˜• ์ผ๋ฐ˜ ์–ธ๋ก  ๋ณด๋„์ž๋ฃŒ์— ๋…ธ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค","๋…ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค"],
["์ง€์†์ ์ด๊ณ  ์ •๊ธฐ์ ์ธ ์˜จ์˜คํ”„ ๋งˆ์ผ€ํŒ… ์ง„ํ–‰ ","๊ฐ„ํ—์  ๋งˆ์ผ€ํŒ… ์‹คํ–‰ ์ˆ˜์ค€: ๋ฐ‹์—…ํฌํ•จ ์˜จ์˜คํ”„ ๋งˆ์ผ€ํŒ… ์ง„ํ–‰","๋งˆ์ผ€ํŒ… ์‹คํ–‰ ์ด๋ ฅ์—†์Œ"],
["๊ธ€๋กœ๋ฒŒ ์ˆ˜์ค€","๋กœ์ปฌ ํƒ‘ ์ˆ˜์ค€","๋กœ์ปฌ ์ผ๋ฐ˜ ์ˆ˜์ค€"],
["์ž์ฒด๊ฐœ๋ฐœํ•œ ์ง€๊ฐ‘์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์„œ๋น„์Šค ์ค‘์ž…๋‹ˆ๋‹ค ","์™ธ๋ถ€๊ฐœ๋ฐœํ•œ ์ง€๊ฐ‘์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์„œ๋น„์Šค ์ค‘์ž…๋‹ˆ๋‹ค ","์ง€๊ฐ‘ ์„œ๋น„์Šค๋ฅผ ํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค"],
["๋ณต์ˆ˜(3์ข… ์ด์ƒ) ์ฒด์ธ์„ ์ง€์›ํ•˜๊ณ  ์ง€์› API ๋˜๋Š” ๋ธŒ๋ฆฟ์ง€๊ฐ€ ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค ","๋ณต์ˆ˜(2์ข… ์ด์ƒ) ์ฒด์ธ์„ ์ง€์› ๋ฐ ๋ธŒ๋ฆฟ์ง€๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค","๋‹จ์ผ ์ฒด์ธ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค"],
["๋„ค ", "์•„๋‹ˆ์˜ค"],
["๋“ฑ๋ก ์™„๋ฃŒ๋œ ํŠนํ—ˆ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ","ํŠนํ—ˆ๋ฅผ ๋ฐ›๋Š” ์ ˆ์ฐจ๋ฅผ ์ง„ํ–‰์ค‘์ž…๋‹ˆ๋‹ค (์ถœ์› ์ค‘)", "์—†์Œ"],
["๊ฒฝ๋ ฅ ํ”„๋กœํ•„ ๊ธฐ์ค€ ๋ฐ•์‚ฌ ๋ฐ ๊ธฐ์ˆ ์‚ฌ ์ž๊ฒฉ ์ธ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.", "๋ฐ•์‚ฌ๊ธ‰์€ ์•„๋‹ˆ์ง€๋งŒ ์„์‚ฌ๊ธ‰ ์ˆ˜์ค€, ๊ด€๋ จ ๊ฒฝ๋ ฅ 10๋…„ ์ด์ƒ์˜ ๊ฒฝ๋ ฅ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค","๊ด€๋ จ๋ถ„์•ผ ๊ฒฝ๋ ฅ 10๋…„ ๋ฏธ๋งŒ์˜ ์ผ๋ฐ˜์ ์ธ ์ˆ˜์ค€์˜ ๊ฒฝ๋ ฅ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค"],
["ํ”Œ๋žซํผ/์„œ๋น„์Šค ์šด์šฉ๊ธฐ๊ฐ„์ด 1๋…„ ์ด์ƒ ์ž…๋‹ˆ๋‹ค ","ํ”Œ๋žซํผ/์„œ๋น„์Šค ์šด์šฉ๊ธฐ๊ฐ„์ด 1๋…„ ๋ฏธ๋งŒ ์ž…๋‹ˆ๋‹ค","ํ”Œ๋žซํผ/์„œ๋น„์Šค ์šด์šฉ๊ธฐ๊ฐ„์ด 6๊ฐœ์›” ๋ฏธ๋งŒ ์ž…๋‹ˆ๋‹ค"],
["๊ธ€๋กœ๋ฒŒTOP ์ˆ˜์ค€.์Šฌ๋กœ์šฐ๋ฏธ์ŠคํŠธ/์จํ‹ฑ ๋“ฑ ์ƒ์œ„30% ๊ธฐ๊ด€์„ ํ†ตํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค ","์ผ๋ฐ˜์ˆ˜์ค€์˜ ๋ณด์•ˆ๊ฐ์‚ฌ๊ธฐ๊ด€์„ ํ†ตํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค","๋ณด์•ˆ๊ฐ์‚ฌ์„œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."],
["๋ณด์•ˆ๊ฐ์‚ฌ์—…์ฒด ํ™ˆํŽ˜์ด์ง€, ์ฝ”์ธ๋งˆ์ผ“๊ฐญ ๋“ฑ ์‚ฌ์ดํŠธ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ","๊ณต๊ฐœ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค"],
["๋„ค ","์•„๋‹ˆ์˜ค"],
["๋„ค ", "์•„๋‹ˆ์˜ค"],
["๋‚ด๋ถ€ ์ง์› ์ค‘ CISO ๋“ฑ๋ก๋œ ์ž„์›์ด ์žˆ๋‹ค ","๋‚ด๋ถ€ ์ง์› ์ค‘ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ๊ด€๋ฆฌ์ž๊ฐ€ ์žˆ๋‹ค", "์—†์Œ"],
["์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ ์ •๋Ÿ‰ํ™”๋œ ์ง€ํ‘œ์—์„œ ์‹œ์ด์ƒ์œ„ 500์œ„ ์ด๋‚ด์ธ๊ฐ€?(์„ ํƒ) ","์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ ์ •๋Ÿ‰ํ™”๋œ์ •๋Ÿ‰ํ™”๋œ ์ง€ํ‘œ์—์„œ ์‹œ์ด์ƒ์œ„ 500์œ„ ์ด์ƒ 1,000์œ„ ๋ฏธ๋งŒ์ธ๊ฐ€?(์„ ํƒ)","์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ ์ •๋Ÿ‰ํ™”๋œ ์ง€ํ‘œ์—์„œ ์‹œ์ด์ƒ์œ„ 1,000์œ„ ์ด์ƒ 5,000์œ„ ๋ฏธ๋งŒ์ธ๊ฐ€?(์„ ํƒ)","์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ ์ •๋Ÿ‰ํ™”๋œ ์ง€ํ‘œ์—์„œ ์‹œ์ด์ƒ์œ„ 5,000์œ„ ์ดˆ๊ณผ(๋˜๋Š” ๋ฏธํ‘œ์‹œ)์ธ๊ฐ€?(์„ ํƒ)","์ฝ”์ธ๋งˆ์ผ“๊ฐญ, ์ฝ”์ธ๊ฒŒ์ฝ” ์™ธ ๋‹ค๋ฅธ ๊ณณ(DEX ํฌํ•จ)์—์„œ ์˜จ์ฒด์ธ ๋ฐ์ดํ„ฐ ์‹œ์ด ์ˆœ์œ„๋ฅผ ํ™•์ธํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค","์—†์Œ"],
["์ƒ์žฅ๊ฐ€ ๊ธฐ์ค€ 31% ์ด์ƒ ์ƒ์Šน ์œ ์ง€(๊ฑฐ๋ž˜์†Œ๋ณต์ˆ˜์‹œ ์ตœ๋Œ€๊ฑฐ๋ž˜๋Ÿ‰ ๊ฑฐ๋ž˜์†Œ ๊ธฐ์ค€) ","์ƒ์žฅ๊ฐ€ ๊ธฐ์ค€ -30~+30% ์œ ์ง€(๊ฑฐ๋ž˜์†Œ๋ณต์ˆ˜์‹œ ์ตœ๋Œ€๊ฑฐ๋ž˜๋Ÿ‰ ๊ฑฐ๋ž˜์†Œ ๊ธฐ์ค€)","์ƒ์žฅ๊ฐ€ ๊ธฐ์ค€ -31% ์ด์ƒ ํ•˜๋ฝ(๊ฑฐ๋ž˜์†Œ๋ณต์ˆ˜์‹œ ์ตœ๋Œ€๊ฑฐ๋ž˜๋Ÿ‰ ๊ฑฐ๋ž˜์†Œ ๊ธฐ์ค€)"],
["์„ ๋ฌผ/์˜๊ตฌ ๋งˆ์ผ“์— ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค ","FIAT ๋งˆ์ผ“(1๊ฐœ ๊ธฐ์ค€) ํฌํ•จ 10๊ฐœ ๋ฏธ๋งŒ์˜ ํ˜„๋ฌผ ๋งˆ์ผ“์— ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค","์ค‘์•™ํ™” ๊ฑฐ๋ž˜์†Œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค","DEX ๊ฑฐ๋ž˜์†Œ์— ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค"],
["์ง€๋‚œ 52์ฃผ๊ฐ„ ์ƒ์Šน์ถ”์„ธ์˜ ํ๋ฆ„์„ ๋ณด์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ","์ง€๋‚œ 52์ฃผ๊ฐ„ ์ผ์ •ํ•œ ์ˆ˜์ค€์˜ ํ๋ฆ„์„ ๋ณด์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค","์ง€๋‚œ 52์ฃผ๊ฐ„ ํ•˜๋ฝ์ถ”์„ธ์˜ ํ๋ฆ„์„ ๋ณด์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค"],
["100,000 ์ด์ƒ์ž…๋‹ˆ๋‹ค ","50,000 ์ด์ƒ 100,000 ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค","10,000 ์ด์ƒ 50,000 ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค","1,000 ์ด์ƒ 10,000๋ช… ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค","1,000 ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค"],
["์ฝ”์ธ๋งˆ์ผ“์บก ๋˜๋Š” ์ฝ”์ธ๊ฒŒ์ฝ” ๋“ฑ์— ๊ณต๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ","์ž์ฒด์ปค๋ฎค๋‹ˆํ‹ฐ์— ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊ณต๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค","ํ™ˆํŽ˜์ด์ง€ ๋˜๋Š” ๋ฐฑ์„œ์—์„œ๋งŒ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊ณต๊ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค"],
["๋งˆ์ผ์Šคํ†ค ๋‹ฌ์„ฑ 70% ์ด์ƒ์„ ๋‹ฌ์„ฑ ์ค‘์ž…๋‹ˆ๋‹ค ","๋งˆ์ผ์Šคํ†ค ๋‹ฌ์„ฑ 20% ์ด์ƒ 70% ๋ฏธ๋งŒ์„ ๋‹ฌ์„ฑ ์ค‘์ž…๋‹ˆ๋‹ค","๋งˆ์ผ์Šคํ†ค ๋‹ฌ์„ฑ 20% ๋ฏธ๋งŒ์„ ๋‹ฌ์„ฑ ์ค‘์ž…๋‹ˆ๋‹ค"],
["์žฌ๋‹จ ๋ฐ ์šด์šฉ์‚ฌ(์ง€๋ฐฐ๊ตฌ์กฐ ํฌํ•จ)์ด IPO(์ƒ์žฅ) ๋ฒ•์ธ ","์žฌ๋‹จ ๋ฐ ์šด์šฉ์‚ฌ(์ง€๋ฐฐ๊ตฌ์กฐ ํฌํ•จ)์ด ์™ธ๊ฐ ๋˜๋Š” ๋ฒ•๋ฅ  ๋“ฑ๋ก(์˜ˆ, ์ „์ž๊ธˆ์œต์—…์ž, VASP ๋“ฑ)๋ฒ•์ธ","์žฌ๋‹จ ๋ฐ ์šด์šฉ์‚ฌ(์ง€๋ฐฐ๊ตฌ์กฐ ํฌํ•จ)์ด ์ผ๋ฐ˜ ๋ฒ•์ธ"],
["๊ธ€๋กœ๋ฒŒ ์ˆ˜์ค€์˜ ๋›ฐ์–ด๋‚œ ์ „๋ฌธ์„ฑ๊ณผ ์˜ํ–ฅ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ","๋กœ์ปฌ ์ˆ˜์ค€์˜ ์ „๋ฌธ์„ฑ๊ณผ ์˜ํ–ฅ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค"],
["1๋…„ ์ด์ƒ ","1๋…„ ์ด๋‚ด","6๊ฐœ์›” ์ด๋‚ด"],
["์™ธ๋ถ€ ์˜ˆ์น˜(์ปค์Šคํ„ฐ๋””) ์ ์šฉ & ์žฌ๋‹จ ๋ฝ์—… ์Šคํ…Œ์ดํ‚น & ๋น…ํ™€๋” ๋ฝ์—… ์Šคํ…Œ์ดํ‚น", "์žฌ๋‹จ ๋ฝ์—… & ๋น…ํ™€๋” ๋ฝ์—… ์Šคํ…Œ์ดํ‚น์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค", "์žฌ๋‹จ ๋ฝ์—… ๋˜๋Š” ๋น…ํ™€๋” ๋ฝ์—… ์Šคํ…Œ์ดํ‚น๋ฏผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค", "ํ•ด๋‹น์‚ฌํ•ญ ์—†์Šต๋‹ˆ๋‹ค"]
]
scores = [[1, 0],
[3, 2, 1],
[2, 1.5, 1],
[1, 0],
[1, 0],
[3, 2, 1, 0],
[3, 2, 1, 0],
[3, 2, 1, 0],
[2, 1, 0],
[3, 2, 1],
[2, 1, 0],
[3, 2, 1],
[1, 0],
[2, 1, 0],
[3, 2, 1],
[2, 1, 0],
[2, 1, 0],
[1, 0],
[1, 0],
[1, 0],
[2, 1, 0],
[3, 2.5, 2, 1.5, 1, 0],
[3, 2, 1],
[4, 3, 2, 1],
[1, 0.5, 0],
[5, 4, 3, 2, 1],
[1.5, 1, 0.5],
[1.5, 1, 0.5],
[3, 2, 1],
[2, 1],
[3, 2, 1],
[3, 2, 1, 0]
]
def calculate_score(*answers):
total_score = sum([scores[i][options[i].index(answer)] for i, answer in enumerate(answers)])
grade, definition = get_grade(total_score)
return total_score, grade, definition
def get_grade(total_score):
converted_score = (total_score)
grades = {
'A': (65.7, 73, "๋“ฑ๊ธ‰์ •์˜๏ผš ๋งค์šฐ ์–‘ํ˜ธํ•œ ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰ ์—ญ๋Ÿ‰๊ณผ ์ง„ํ–‰์„ ๋ณด์ด๊ณ  ์žˆ์œผ๋ฉฐ ํ–ฅํ›„ ๋ฐœ์ „ ๊ฐ€๋Šฅ์„ฑ๊ณผ ์ง€์†์„ฑ ์—ญ์‹œ ๋†’์€ ๊ฒƒ์œผ๋กœ ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค.๋Œ€์™ธ์ ์ธ ํ™˜๊ฒฝ ๋ณ€ํ™”์—๋„ ์œ ์—ฐํ•œ ๋Œ€์‘๊ณผ ๋ณต์›๋ ฅ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค."),
'B': (51.1, 65.6, "๋“ฑ๊ธ‰์ •์˜๏ผš ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰ ์—ญ๋Ÿ‰๊ณผ ์ง„ํ–‰์ด ์—…๊ณ„ ํ‰๊ท  ์ˆ˜์ค€์œผ๋กœ ๋ชฉํ‘œ๋‹ฌ์„ฑ ๋Šฅ๋ ฅ์ด ์žˆ๊ณ  ๋ฌธ์ œํ•ด๊ฒฐ ๋Šฅ๋ ฅ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ ์–ด๋“œ๋ฐ”์ด์ €์™€ ์—ญ๋Ÿ‰ ์กฐ์„ฑ์„ ๊ฐ•ํ™”ํ•œ๋‹ค๋ฉด ๋ณด๋‹ค ๋ฐœ์ „์ ์ธ ์ƒํ™ฉ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰์ด ๊ฐ€๋Šฅํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค."),
'C': (29.2, 51, "๋“ฑ๊ธ‰์ •์˜๏ผš ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ์ˆ ์  ํƒ€๋‹น์„ฑ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธํ‰๊ฐ€์—์„œ ๋ฏธํกํ•œ ํšจ์†Œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ์œ„ํ—˜์„ฑ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ๋ณด์™„๊ณผ ์ปจ์„คํŒ…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค."),
'D': (21.9, 29.1, "๋“ฑ๊ธ‰์ •์˜๏ผš ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ์—ฌ๋Ÿฌ ์œ„ํ—˜ ์š”์†Œ๊ฐ€ ์‚ฐ์žฌ๋˜์–ด ์žˆ๊ธฐ์— ์ˆ˜ํ–‰์ด ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ๊ทผ๋ณธ์ ์ธ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ƒ์žฅ์„ ์œ„ํ•œ ์ปจ์„คํŒ…์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค."),
'E': (0, 21.8, "๋“ฑ๊ธ‰์ •์˜๏ผš ํ”„๋กœ์ ํŠธ์˜ ์‹œ์ž‘์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ์—ฌ๋Ÿฌ ์œ„ํ—˜ ์š”์†Œ๊ฐ€ ์‚ฐ์žฌ๋˜์–ด ์žˆ๊ธฐ์— ์ˆ˜ํ–‰์ด ์‚ฌ์‹ค์ƒ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ๊ทผ๋ณธ์ ์ธ ๊ฒ€ํ† ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ƒ์žฅ์„ ์œ„ํ•œ ์ปจ์„คํŒ…์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.")
}
for grade, (low, high, definition) in grades.items():
if low <= converted_score <= high:
return grade, definition
return "No Grade", ""
# Powered by arxivgpt
css = """
footer {
visibility: hidden;
}
/* ๋ฒ„ํŠผ ์Šคํƒ€์ผ๋ง */
button {
background: linear-gradient(135deg, #007BFF, #004085);
border: none;
color: white;
padding: 10px 20px;
text-align: center;
display: inline-block;
font-size: 16px;
border-radius: 5px;
cursor: pointer;
transition: background 0.5s ease;
}
button:hover {
background: linear-gradient(135deg, #0056b3, #002752);
}
/* ํƒญ ์ƒ‰๊น” ๋ณ€๊ฒฝ์„ ์œ„ํ•œ CSS */
/* ํƒญ ๋ฒ„ํŠผ ์Šคํƒ€์ผ */
.tab-container .tab {
background-color: #f0f0f0; /* ์—ฐํ•œ ํšŒ์ƒ‰์œผ๋กœ ๋ฐฐ๊ฒฝ์ƒ‰ ๋ณ€๊ฒฝ */
color: #333; /* ๊ธ€์ž์ƒ‰ ๋ณ€๊ฒฝ */
}
/* ์„ ํƒ๋œ ํƒญ ์Šคํƒ€์ผ */
.tab-container .tab.selected {
background-color: #d9d9d9; /* ์„ ํƒ๋œ ํƒญ์˜ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋” ์–ด๋‘์šด ํšŒ์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ */
color: #000; /* ์„ ํƒ๋œ ํƒญ์˜ ๊ธ€์ž์ƒ‰์„ ๊ฒ€์ •์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ */
border-bottom: 2px solid #007BFF; /* ์„ ํƒ๋œ ํƒญ์˜ ํ•˜๋‹จ ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ */
}
/* ํƒญ ์ปจํ…์ธ  ์˜์—ญ ์Šคํƒ€์ผ */
.tab-content {
border: 1px solid #dcdcdc; /* ํƒญ ์ปจํ…์ธ  ์˜์—ญ์˜ ํ…Œ๋‘๋ฆฌ ์ƒ‰์ƒ */
background-color: #f9f9f9; /* ํƒญ ์ปจํ…์ธ  ์˜์—ญ์˜ ๋ฐฐ๊ฒฝ์ƒ‰ */
}
/* ์ž…๋ ฅ ํผ ๋ฐ ์ถœ๋ ฅ ํผ ์Šคํƒ€์ผ๋ง */
.input, .output {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); /* ์ž…์ฒด๊ฐ์„ ์ฃผ๋Š” ๊ทธ๋ฆผ์ž ์ถ”๊ฐ€ */
border: 2px solid #17a2b8; /* ์ปฌ๋Ÿฌ ํ…Œ๋‘๋ฆฌ ์ ์šฉ */
border-radius: 5px; /* ํ…Œ๋‘๋ฆฌ ๋‘ฅ๊ธ€๊ฒŒ */
}
.input:hover, .output:hover {
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); /* ํ˜ธ๋ฒ„ ์‹œ ๋” ํฐ ๊ทธ๋ฆผ์ž ํšจ๊ณผ */
}
/* ํƒ€์ดํ‹€๊ณผ ์„ค๋ช…๊ธ€ ๊ฐ€์šด๋ฐ ์ •๋ ฌ ์ถ”๊ฐ€ */
.markdown {
text-align: center; /* ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์šด๋ฐ ์ •๋ ฌ */
}
/* ๊ฒฐ๊ณผ ์ถœ๋ ฅ ์ปดํฌ๋„ŒํŠธ์˜ ๊ธ€์ž ํฌ๊ธฐ 3๋ฐฐ๋กœ ์กฐ์ • */
.output {
font-size: 300%; /* ๊ธฐ๋ณธ ๊ธ€์ž ํฌ๊ธฐ์˜ 2๋ฐฐ */
}
/* ํƒญ ํด๋ฆญ ์‹œ ๋ˆŒ๋ฆฐ ํƒญ์— ์ ์šฉ๋  ์Šคํƒ€์ผ */
.tab_button.selected {
background-color: #007BFF; /* ์„ ํƒ๋œ ํƒญ์˜ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ณ€๊ฒฝ */
color: white; /* ์„ ํƒ๋œ ํƒญ์˜ ๊ธ€์ž์ƒ‰์„ ๋ณ€๊ฒฝ */
border-bottom: 2px solid #007BFF; /* ์„ ํƒ๋œ ํƒญ ํ•˜๋‹จ์— ํ…Œ๋‘๋ฆฌ ์ถ”๊ฐ€ */
}
"""
with gr.Blocks(css=css) as demo:
gr.Markdown("# ์ฝ”๋ ˆ์ดํŒ…(KORating) ์…€ํ”„ ์ง„๋‹จ ์„œ๋น„์Šค", elem_id="title")
gr.Markdown("### ๋””์ง€ํ„ธ์ž์‚ฐ ์ธ์ฆํ‰๊ฐ€์˜ ๋ฆฌ๋” '์ฝ”๋ ˆ์ดํŒ…'(KORating) ์…€ํ”„ ์ง„๋‹จ ์„œ๋น„์Šค๋Š”, ํˆฌ์ž์ž ๋ณดํ˜ธ ๋ฐ ๊ฑด์ „ํ•œ ๊ฐ€์ƒ์ž์‚ฐ ์ƒํƒœ๊ณ„ ๊ตฌ์ถ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.", elem_id="description1")
gr.Markdown("### ๊ธฐ๋ณธ ์ •๋ณด ์ž…๋ ฅ ํ›„ ์ด 8๋‹จ๊ณ„ TAP(1๋‹จ๊ณ„ ~ ์ตœ์ข… 8๋‹จ๊ณ„๊นŒ์ง€) ํด๋ฆญ ํ›„ ์ž…๋ ฅ ๋ฐ”๋ž๋‹ˆ๋‹ค.", elem_id="description2")
with gr.Tab("์ง„๋‹จ ๊ธฐ๋ณธ ์ •๋ณด ์ž…๋ ฅ"):
project_name = gr.Textbox(label="ํ”„๋กœ์ ํŠธ๋ช…")
contact_name = gr.Textbox(label="๋‹ด๋‹น์ž ์„ฑ๋ช…")
contact_phone = gr.Textbox(label="์—ฐ๋ฝ์ฒ˜")
contact_email = gr.Textbox(label="์ด๋ฉ”์ผ ์ฃผ์†Œ")
with gr.Tab("1๋‹จ๊ณ„"):
answer1 = gr.Radio(choices=options[0], label=questions[0])
answer2 = gr.Radio(choices=options[1], label=questions[1])
answer3 = gr.Radio(choices=options[2], label=questions[2])
answer4 = gr.Radio(choices=options[3], label=questions[3])
with gr.Tab("2๋‹จ๊ณ„"):
answer5 = gr.Radio(choices=options[4], label=questions[4])
answer6 = gr.Radio(choices=options[5], label=questions[5])
answer7 = gr.Radio(choices=options[6], label=questions[6])
answer8 = gr.Radio(choices=options[7], label=questions[7])
with gr.Tab("3๋‹จ๊ณ„"):
answer9 = gr.Radio(choices=options[8], label=questions[8])
answer10 = gr.Radio(choices=options[9], label=questions[9])
answer11 = gr.Radio(choices=options[10], label=questions[10])
answer12 = gr.Radio(choices=options[11], label=questions[11])
with gr.Tab("4๋‹จ๊ณ„"):
answer13 = gr.Radio(choices=options[12], label=questions[12])
answer14 = gr.Radio(choices=options[13], label=questions[13])
answer15 = gr.Radio(choices=options[14], label=questions[14])
answer16 = gr.Radio(choices=options[15], label=questions[15])
with gr.Tab("5๋‹จ๊ณ„"):
answer17 = gr.Radio(choices=options[16], label=questions[16])
answer18 = gr.Radio(choices=options[17], label=questions[17])
answer19 = gr.Radio(choices=options[18], label=questions[18])
answer20 = gr.Radio(choices=options[19], label=questions[19])
with gr.Tab("6๋‹จ๊ณ„"):
answer21 = gr.Radio(choices=options[20], label=questions[20])
answer22 = gr.Radio(choices=options[21], label=questions[21])
answer23 = gr.Radio(choices=options[22], label=questions[22])
answer24 = gr.Radio(choices=options[23], label=questions[23])
with gr.Tab("7๋‹จ๊ณ„"):
answer25 = gr.Radio(choices=options[24], label=questions[24])
answer26 = gr.Radio(choices=options[25], label=questions[25])
answer27 = gr.Radio(choices=options[26], label=questions[26])
answer28 = gr.Radio(choices=options[27], label=questions[27])
with gr.Tab("8๋‹จ๊ณ„/ ์ตœ์ข…"):
answer29 = gr.Radio(choices=options[28], label=questions[28])
answer30 = gr.Radio(choices=options[29], label=questions[29])
answer31 = gr.Radio(choices=options[30], label=questions[30])
answer32 = gr.Radio(choices=options[31], label=questions[31])
submit_btn = gr.Button("๋ชจ๋“  ์ž…๋ ฅ ์™„๋ฃŒํ›„ ์ œ์ถœ ๋ฒ„ํŠผ ํด๋ฆญ")
score_output = gr.Number(label="์ด์ (73์  ๋งŒ์ )")
grade_output = gr.Text(label="๋“ฑ๊ธ‰")
definition_output = gr.Textbox(label="๋“ฑ๊ธ‰ ์ •์˜")
submit_btn.click(
fn=calculate_score,
inputs=[answer1, answer2, answer3, answer4, answer5, answer6, answer7, answer8, answer9, answer10, answer11, answer12, answer13, answer14, answer15, answer16, answer17, answer18, answer19, answer20, answer21, answer22, answer23, answer24, answer25, answer26, answer27, answer28, answer29, answer30, answer31, answer32],
outputs=[score_output, grade_output, definition_output]
)
demo.launch()