Spaces:
Sleeping
Sleeping
import gradio as gr | |
import requests | |
from xml.etree import ElementTree | |
import os | |
import sys | |
import json | |
def exception_handler(exception_type, exception, traceback): | |
print(f"{exception_type.__name__}: {exception}") | |
sys.excepthook = exception_handler | |
sys.tracebacklimit = 0 | |
def get_chinese_hour(birth_hour): | |
hour = int(birth_hour[:2]) | |
chinese_hours = ['์', '์ถ', '์ธ', '๋ฌ', '์ง', '์ฌ', '์ค', '๋ฏธ', '์ ', '์ ', '์ ', 'ํด'] | |
return chinese_hours[hour // 2 % 12] | |
def calculate_siju(birth_hour, lunIljin): | |
chinese_hour = get_chinese_hour(birth_hour) # ์์์ ํด๋นํ๋ ์ง์ง | |
lunIljin_first = lunIljin[0] # ์ผ์ฃผ์ ์ฒซ ๊ธ์ | |
# ์ผ์ฃผ ์ฒซ ๊ธ์์ ๋ฐ๋ฅธ ์์ฃผ ๋งคํ | |
siju_mapping = { | |
('๊ฐ', '์'): '๊ฐ์(็ฒๅญ)', ('๊ธฐ', '์'): '๊ฐ์(็ฒๅญ)', | |
('์', '์'): '๋ณ์(ไธๅญ)', ('๊ฒฝ', '์'): '๋ณ์(ไธๅญ)', | |
('๋ณ', '์'): '๋ฌด์(ๆๅญ)', ('์ ', '์'): '๋ฌด์(ๆๅญ)', | |
('์ ', '์'): '๊ฒฝ์(ๅบๅญ)', ('์', '์'): '๊ฒฝ์(ๅบๅญ)', | |
('๋ฌด', '์'): '์์(ๅฃฌๅญ)', ('๊ณ', '์'): '์์(ๅฃฌๅญ)', | |
('๊ฐ', '์ถ'): '์์ถ(ไนไธ)', ('๊ธฐ', '์ถ'): '์์ถ(ไนไธ)', | |
('์', '์ถ'): '์ ์ถ(ไธไธ)', ('๊ฒฝ', '์ถ'): '์ ์ถ(ไธไธ)', | |
('๋ณ', '์ถ'): '๊ธฐ์ถ(ๅทฑไธ)', ('์ ', '์ถ'): '๊ธฐ์ถ(ๅทฑไธ)', | |
('์ ', '์ถ'): '์ ์ถ(่พไธ)', ('์', '์ถ'): '์ ์ถ(่พไธ)', | |
('๋ฌด', '์ถ'): '๊ณ์ถ(็ธไธ)', ('๊ณ', '์ถ'): '๊ณ์ถ(็ธไธ)', | |
('๊ฐ', '์ธ'): '๋ณ์ธ(ไธๅฏ )', ('๊ธฐ', '์ธ'): '๋ณ์ธ(ไธๅฏ )', | |
('์', '์ธ'): '๋ฌด์ธ(ๆๅฏ )', ('๊ฒฝ', '์ธ'): '๋ฌด์ธ(ๆๅฏ )', | |
('๋ณ', '์ธ'): '๊ฒฝ์ธ(ๅบๅฏ )', ('์ ', '์ธ'): '๊ฒฝ์ธ(ๅบๅฏ )', | |
('์ ', '์ธ'): '์์ธ(ๅฃฌๅฏ )', ('์', '์ธ'): '์์ธ(ๅฃฌๅฏ )', | |
('๋ฌด', '์ธ'): '๊ฐ์ธ(็ฒๅฏ )', ('๊ณ', '์ธ'): '๊ฐ์ธ(็ฒๅฏ )', | |
('๊ฐ', '๋ฌ'): '์ ๋ฌ(ไธๅฏ)', ('๊ธฐ', '๋ฌ'): '์ ๋ฌ(ไธๅฏ)', | |
('์', '๋ฌ'): '๊ธฐ๋ฌ(ๅทฑๅฏ)', ('๊ฒฝ', '๋ฌ'): '๊ธฐ๋ฌ(ๅทฑๅฏ)', | |
('๋ณ', '๋ฌ'): '์ ๋ฌ(่พๅฏ)', ('์ ', '๋ฌ'): '์ ๋ฌ(่พๅฏ)', | |
('์ ', '๋ฌ'): '๊ณ๋ฌ(็ธๅฏ)', ('์', '๋ฌ'): '๊ณ๋ฌ(็ธๅฏ)', | |
('๋ฌด', '๋ฌ'): '์๋ฌ(ไนๅฏ)', ('๊ณ', '๋ฌ'): '์๋ฌ(ไนๅฏ)', | |
('๊ฐ', '์ง'): '๋ฌด์ง(ๆ่พฐ)', ('๊ธฐ', '์ง'): '๋ฌด์ง(ๆ่พฐ)', | |
('์', '์ง'): '๊ฒฝ์ง(ๅบ่พฐ)', ('๊ฒฝ', '์ง'): '๊ฒฝ์ง(ๅบ่พฐ)', | |
('๋ณ', '์ง'): '์์ง(ๅฃฌ่พฐ)', ('์ ', '์ง'): '์์ง(ๅฃฌ่พฐ)', | |
('์ ', '์ง'): '๊ฐ์ง(็ฒ่พฐ)', ('์', '์ง'): '๊ฐ์ง(็ฒ่พฐ)', | |
('๋ฌด', '์ง'): '๋ณ์ง(ไธ่พฐ)', ('๊ณ', '์ง'): '๋ณ์ง(ไธ่พฐ)', | |
('๊ฐ', '์ฌ'): '๊ธฐ์ฌ(ๅทฑๅทณ)', ('๊ธฐ', '์ฌ'): '๊ธฐ์ฌ(ๅทฑๅทณ)', | |
('์', '์ฌ'): '์ ์ฌ(่พๅทณ)', ('๊ฒฝ', '์ฌ'): '์ ์ฌ(่พๅทณ)', | |
('๋ณ', '์ฌ'): '๊ณ์ฌ(็ธๅทณ)', ('์ ', '์ฌ'): '๊ณ์ฌ(็ธๅทณ)', | |
('์ ', '์ฌ'): '์์ฌ(ไนๅทณ)', ('์', '์ฌ'): '์์ฌ(ไนๅทณ)', | |
('๋ฌด', '์ฌ'): '์ ์ฌ(ไธๅทณ)', ('๊ณ', '์ฌ'): '์ ์ฌ(ไธๅทณ)', | |
('๊ฐ', '์ค'): '๊ฒฝ์ค(ๅบๅ)', ('๊ธฐ', '์ค'): '๊ฒฝ์ค(ๅบๅ)', | |
('์', '์ค'): '์์ค(ๅฃฌๅ)', ('๊ฒฝ', '์ค'): '์์ค(ๅฃฌๅ)', | |
('๋ณ', '์ค'): '๊ฐ์ค(็ฒๅ)', ('์ ', '์ค'): '๊ฐ์ค(็ฒๅ)', | |
('์ ', '์ค'): '๋ณ์ค(ไธๅ)', ('์', '์ค'): '๋ณ์ค(ไธๅ)', | |
('๋ฌด', '์ค'): '๋ฌด์ค(ๆๅ)', ('๊ณ', '์ค'): '๋ฌด์ค(ๆๅ)', | |
('๊ฐ', '๋ฏธ'): '์๋ฏธ(ๅฃฌๆช)', ('๊ธฐ', '๋ฏธ'): '์๋ฏธ(ๅฃฌๆช)', | |
('์', '๋ฏธ'): '๊ฐ๋ฏธ(็ฒๆช)', ('๊ฒฝ', '๋ฏธ'): '๊ฐ๋ฏธ(็ฒๆช)', | |
('๋ณ', '๋ฏธ'): '๋ณ๋ฏธ(ไธๆช)', ('์ ', '๋ฏธ'): '๋ณ๋ฏธ(ไธๆช)', | |
('์ ', '๋ฏธ'): '๋ฌด๋ฏธ(ๆๆช)', ('์', '๋ฏธ'): '๋ฌด๋ฏธ(ๆๆช)', | |
('๋ฌด', '๋ฏธ'): '๊ฒฝ๋ฏธ(ๅบๆช)', ('๊ณ', '๋ฏธ'): '๊ฒฝ๋ฏธ(ๅบๆช)', | |
('๊ฐ', '์ '): '์์ (ๅฃฌ็ณ)', ('๊ธฐ', '์ '): '์์ (ๅฃฌ็ณ)', | |
('์', '์ '): '๊ฐ์ (็ฒ็ณ)', ('๊ฒฝ', '์ '): '๊ฐ์ (็ฒ็ณ)', | |
('๋ณ', '์ '): '๋ณ์ (ไธ็ณ)', ('์ ', '์ '): '๋ณ์ (ไธ็ณ)', | |
('์ ', '์ '): '๋ฌด์ (ๆ็ณ)', ('์', '์ '): '๋ฌด์ (ๆ็ณ)', | |
('๋ฌด', '์ '): '๊ฒฝ์ (ๅบ็ณ)', ('๊ณ', '์ '): '๊ฒฝ์ (ๅบ็ณ)', | |
('๊ฐ', '์ '): '๊ณ์ (็ธ้ )', ('๊ธฐ', '์ '): '๊ณ์ (็ธ้ )', | |
('์', '์ '): '์์ (ไน้ )', ('๊ฒฝ', '์ '): '์์ (ไน้ )', | |
('๋ณ', '์ '): '์ ์ (ไธ้ )', ('์ ', '์ '): '์ ์ (ไธ้ )', | |
('์ ', '์ '): '๊ธฐ์ (ๅทฑ้ )', ('์', '์ '): '๊ธฐ์ (ๅทฑ้ )', | |
('๋ฌด', '์ '): '์ ์ (่พ้ )', ('๊ณ', '์ '): '์ ์ (่พ้ )', | |
('๊ฐ', '์ '): '๊ฐ์ (็ฒๆ) ', ('๊ธฐ', '์ '): '๊ฐ์ (็ฒๆ)', | |
('์', '์ '): '๋ณ์ (ไธๆ) ', ('๊ฒฝ', '์ '): '๋ณ์ (ไธๆ)', | |
('๋ณ', '์ '): '๋ฌด์ (ๆๆ) ', ('์ ', '์ '): '๋ฌด์ (ๆๆ)', | |
('์ ', '์ '): '๊ฒฝ์ (ๅบๆ) ', ('์', '์ '): '๊ฒฝ์ (ๅบๆ)', | |
('๋ฌด', '์ '): '์์ (ๅฃฌๆ) ', ('๊ณ', '์ '): '์์ (ๅฃฌๆ)', | |
('๊ฐ', 'ํด'): '์ํด(ไนไบฅ)', ('๊ธฐ', 'ํด'): '์ํด(ไนไบฅ)', | |
('์', 'ํด'): '์ ํด(ไธไบฅ)', ('๊ฒฝ', 'ํด'): '์ ํด(ไธไบฅ)', | |
('๋ณ', 'ํด'): '๊ธฐํด(ๅทฑไบฅ)', ('์ ', 'ํด'): '๊ธฐํด(ๅทฑไบฅ)', | |
('์ ', 'ํด'): '์ ํด(่พไบฅ)', ('์', 'ํด'): '์ ํด(่พไบฅ)', | |
('๋ฌด', 'ํด'): '๊ณํด(็ธไบฅ)', ('๊ณ', 'ํด'): '๊ณํด(็ธไบฅ)', | |
} | |
# ์์ฃผ ๊ณ์ฐ | |
siju_key = (lunIljin_first, chinese_hour) | |
siju = siju_mapping.get(siju_key) | |
if not siju: | |
# ์ผ์ฃผ์ ์ง์ง ์กฐํฉ์ ๋ํ ๋งคํ์ด ์๋ ๊ฒฝ์ฐ์ ์ฒ๋ฆฌ | |
siju = f"์ผ์ฃผ '{lunIljin_first}'์ ์ง์ง '{chinese_hour}'์ ํด๋นํ๋ ์์ฃผ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค." | |
return siju | |
def get_lunar_info(solYear, solMonth, solDay, solHour): | |
base_url = "http://apis.data.go.kr/B090041/openapi/service/LrsrCldInfoService/getLunCalInfo" | |
service_key = "EuBjt%2B2t0KzYt5Ri%2Bzs56oymt9kHJ8uPIOV7m6UMKnOV8cpwj02EiRqMEudX%2F%2FVTKdMnwaLH0igRwY57YUplEQ%3D%3D" | |
url = f"{base_url}?solYear={solYear}&solMonth={solMonth}&solDay={solDay}&ServiceKey={service_key}" | |
response = requests.get(url) | |
if response.status_code == 200: | |
root = ElementTree.fromstring(response.content) | |
lunIljin = root.find(".//lunIljin").text if root.find(".//lunIljin") is not None else "์ ๋ณด ์์" | |
lunWolgeon = root.find(".//lunWolgeon").text if root.find(".//lunWolgeon") is not None else "์ ๋ณด ์์" | |
lunSecha = root.find(".//lunSecha").text if root.find(".//lunSecha") is not None else "์ ๋ณด ์์" | |
siju = calculate_siju(solHour, lunIljin) | |
# ์ฌ์ฃผ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ HTML ํ์์ผ๋ก ์์ฑํฉ๋๋ค. | |
analysis_html = ์ฌ์ฃผ_๋ถ์(lunSecha, lunWolgeon, lunIljin, siju) | |
# JSON ๊ฒฐ๊ณผ, ์ผ์ฃผ State, ๊ทธ๋ฆฌ๊ณ HTML ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค. | |
return { | |
"๋ ์ฃผ": lunSecha, | |
"์์ฃผ": lunWolgeon, | |
"์ผ์ฃผ": lunIljin, | |
"์์ฃผ": siju | |
}, lunIljin, analysis_html | |
else: | |
return {"Error": "API ํธ์ถ์ ์คํจํ์ต๋๋ค."}, "์ ๋ณด ์์", "<p>API ํธ์ถ์ ์คํจํ์ต๋๋ค.</p>" | |
def get_lunar_info_for_two_people(solYear, solMonth, solDay, solHour, solYear2, solMonth2, solDay2, solHour2, OPEN_API_KEY): | |
print(solYear, solMonth, solDay, solHour, solYear2, solMonth2, solDay2, solHour2) | |
rst1 = get_lunar_info(solYear, solMonth, solDay, solHour) | |
rst2 = get_lunar_info(solYear2, solMonth2, solDay2, solHour2) | |
print(rst1[0], rst1[1], rst1[2], rst2[0], rst2[1], rst2[2]) | |
#๊ถํฉ | |
# ๋ ์ฌ๋์ ๊ถํฉ ๋ถ์ | |
compatibility = analyze_character_two(rst1[1], rst2[1], OPEN_API_KEY) | |
return rst1[0], rst1[1], rst1[2], rst2[0], rst2[1], rst2[2], compatibility | |
# B ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ ํจ์ ์ถ๊ฐ | |
def get_famous_people(lunIljin): | |
famous_people = { | |
"๊ฐ์": "๋ฐ์์ฃผ[๋ชจ๋ธ], ์ํฐ, ๋๋, ์ด์ฌ์ฉ, ๋น์ง๋ ธ, ๊น์ฌํ[์๋์], ์ค์ค[์๋ฏน์ค], ์๋ฌธ์, ์กฐ์กฐ", | |
"๊ฐ์ ": "์์ํฌ, ์ฅ๊ธฐํ, ์กํ์[ํ๋ฏธ๋], ์งํจ[ํธ์], ๋์, ์ผ๋ผ ์์ด์ฝ[์๋ฐ๋ง๋ง], ์ด์ณ์ด[์ ํ๋ฒ], ์ ์จ๋ชฝ, ๆ ์ด์๋ฃก", | |
"๊ฐ์ ": "๊น๊ฒฝ์ฑ[๋ค๋์นด], ์ง์ง ํ๋๋, ๋ก์ , ์์ง[ITZY], ๋ฐ์งํ, ๋ฐ๋ก[๋นํฌ], ์ค์[์ฐ์ฃผ์๋ ], ํ์น์ฐ, ์ต์๋, ์กฐ์ง์ , ์ ํด์ง, ํฉ์ ๋ฏผ, ๋ค๋์ ๋๋ํด๋ฆฌํ[ํด๋ฆฌํฌํฐ], ์ต์๋ผ[๋ชจ๋ธ], ์์ค์ค[์ ํ๋ฒ]", | |
"๊ฐ์ค": "์กฐ์ดํ, ์ง๊ตฌ, ์ด๊ธฐ๊ด, ๋ฏผ์, ์คํ, ํ [NCT], ๊น์ข ๋ฏผ, ์ฐ์์ฌ, ๊ธฐ๋ฆฌ๋ณด์ด, ์ํ์, ํ ์ฌ๋ผ, ํ๋ฃจ๋คํ ํ๋ฃจ์ด์น[ํ์ดํ]", | |
"๊ฐ์ง": "ํด๋ฆฐ[๋ด์ง์ค], ํ์ค์ง, ๋ฆฌ์ฆ[์์ด๋ธ], ํ์ ํ, ํํ[ํฌ๋ฐํฌ], ์ง์ฑ[NCT], ๋ฐ์ฌ๋ฒ, ์กํ๊ต, ๊น์ ๋ฏธ[๊ฐ์], ์๋ผ์นด์ ํ๋ก๋ฌด[๊ฐ์ฒ ์ ์ฐ๊ธ์ ์ฌ]", | |
"๊ฐ์ธ": "๊น์ฉ์ง[๋ฐฐ์ฐ], ์นด์ฆํ, ์๋ฆญ,์ผ๋น[๋๋ณด์ด์ฆ], ํด๋์นด์ด[ํฌ๋ฐํฌ], ๋น๋, ์ง, ์ด๊ด์, ๋ฐ์ ํ, ํผ์ค, ์ ๋ง[์ค์ฐํ], ๋ฐฐ๋ฆฌ ํํผ[๋ฐฐ์ฐ], ์ฟ ๋ณด ํ์ดํ [๋ธ๋ฆฌ์น], ๊น๊ฐ๋[ํํด], ๆ ์ค๋ฆฌ", | |
"์์ถ": "์์๋ , ๋ค๋์[๋ด์ง์ค], ์ฌ์ฟ ๋ผ, ๊ณผ์ฒ๊ฟ์๋ฐ[๋์], ์ฃผํ[๋ชฌ์], ์ค๋์ค, ์์ง์ญ, ์ ์์, ๊น๋๋ช , ์ง๋[ํํด], ๋ฐํ์๋น, ์ ์์ง[์๊ณก๊ฐ], ๆ ๋ฐ๊ฒฝ๋ฆฌ[ํ ์ง ์๊ฐ]", | |
"์ํด": "๊น์์[์๊ฐ], ํ๋น์๋ฅด ๋ฐ๋ฅด๋, ์๋ฏผ[์คํ ์ด์จ], ๋ฒ๊ท[ํฌ๋ฐํฌ], ๋ฌธ์ฌ์ธ, ํ์คํ, ํธ๋ ๋, ์ ์ดํ, ์ ์ฐ์, ํ[์คํค์ฆ], ์ดํ ์ค์ง, ์๋ผ๋ผ[์์กฐ์ด์ปคํ]", | |
"์์ ": "๊น๋ฏผ๊ท[๋ฐฐ์ฐ], ๊น๊ฑด์ฐ[๋๊ธ๋ก๋ฆฌ], ์ฌ๋ฆฌํผ, ๊น๋จ๊ธธ, ๊น์ค์, ์ํฅ๋ฏผ, ์ด์ฌ๋ช , ๋ง๋์, ์งํธ์ง๋ฐฉ์", | |
"์๋ฏธ": "์ ์ธ๊ฒฝ, ๋ธ๋๋ ํผํธ, ๊ฐ์[์์ด๋ธ], ์์ฒ ์, ์ฐ๋ค[๋นํฌ], ์์ํฌ, ๋ท, ์ค์, ํด์ฐฌ[NCT], ๋ฆฌ์[์ค์ฐํ], ํจ์ง์ด์ด[์ค์ฐํ], ์ฐฝ๋น[์คํค์ฆ], ์ด์๋ง, ์๊ฐ์, ์์ค์ผ๋ง ๊ณ ์ผ[์ฝ๋], ๆ ์ค์ ํฌ[๋ฐฐ์ฐ]", | |
"์์ฌ": "์ด์ ๋ฏธ, ๊ถํ๋น, ๋ฐ์์ค, GD, ์์ธ๊ตญ, ๋ฐ์ฑ์ , ์์ฐ[๋๋ณด์ด์ฆ], ์ธ, ์ ์์ฐ, ๋ฆฌ๋ ธ[์คํค์ฆ], ์ด์์ผ๋ง ํ์ง๋ฉ[์ง๊ฒฉ์ ๊ฑฐ์ธ], ์ฐ๋ฒ", | |
"์๋ฌ": "๋ฌธ๊ทผ์, ๊ธฐ์ฐ์ค, ํ์ฌ, ์ผํ๋, ๊ท์ง[์๋ฏน์ค], ํจ์ , ์ฅ๊ธฐ์ฉ, ์ง์ฑ, ์ด๊ทผ, ์กฐ์ฉํ, ๋ฆฌ์, ๋ฃจํ, ํ์นดํ์ ๋ฃจ๋ฏธ์ฝ[์ด๋์ผ์ค]", | |
"๋ณ์ธ": "์ฅํ์น, ์์๊ตฌ, ๋ฐ์ง์[ํ๋ฏธ๋], ๋ผ๋๋ฎค์ง์, ๊นํ์จ, ์ดํ๊ธฐ, ๋ฒ๋ฒ์งํธ, ํ๋ฆฌ, ์ค์์, ๊ฐํ์ฑ, ๋ฐฑ์ข ์, ์๋ผํค ํ๋กํ์ฝ[์ฃ ์ฃ ์ ๊ธฐ๋ฌํ ๋ชจํ], ๋ ์ค์ ์ด[์ ํ๋ฒ], ํํ๋ฌ", | |
"๋ณ์": "์ ์ธํ, ํ์น์ฐ[๋ฃจํธ,๋์], ์ฃผ์ฐ์ฌ, ํ๋ฆญ์ค[์คํค์ฆ], ์งํธ, ๋ฐฑ์ง์, ๊น๋ณ๋ง, ์ด๋ ธ์ฐ์ ๋ค์ผํ์ฝ[์ฌ๋จ๋ฉํฌ], ํฉ์์กฐ, ํ์", | |
"๋ณ์ ": "๋ฏผ์ง[๋ด์ง์ค], ์ด์[์์ด๋ธ], ๋งํฌ[NCT], ๊ทธ๋ ์ด, ์กฐ์ค๋กค๋ง[ํด๋ฆฌํฌํฐ ์๊ฐ], ๋ฆฝ์ ์ด[์ค์ฐํ], ๊ณ ํ์ , ์ ํด์ธ, ๊น๊ธฐ์, ํธํด", | |
"๋ณ์ ": "์์[์คํ ์ด์จ], ๊ณ ์ฐฌ๋น[๋ฐฐ์ฐ], ํค, ์๋จ ์ฝ์, ๊ฐ๋์, ํ๋ธ๋ก, ์ด๋ฏผ์ฐ, ์ค๋จ๊ธฐ[๋์ฑ๊ธ์ฆ2], ํ์ํฌ, ํ๊ฒฝ์, ๊น๊ฑดํฌ, ๋จํํ, ํ ๋ฆฌ์ผ๋ง ์ํค๋ผ[๋๋๊ณค๋ณผ], ์์ธ์ํ์ธ, ๊ณ ํ", | |
"๋ณ์ค": "๊นํ์[๋ฐฐ์ฐ], ๊ณต๋์ [๋ชจ๋ธ], ์ฃผ๋์ฐ[๋ฐฐ์ฐ], ์ด์น์นด์ ๋ฏธ์นด์ฝ[๋ฐฐ์ฐ], ์ ์นํธ, ์์ฑ๊ธฐ, ์ ์ฑ์ผ, ์ ์ ๋ฏธ, ์ด์คํ, ์ค๋์ฃผ ์์ธ, ์์, ๋น ๋ํฐ, ํ๋ฏผ์ค๋, ์ ์ ๊ตญ, ๊น๊ณ๋[์ธํ๋ฃจ์ธ์], ๊น๋ค๋ฏธ[์ง์ง๋ถ๋ถ ์ง์งํฅ]", | |
"๋ณ์ง": "๋์นดํ๋ฆฌ์ค, ํ[๋๋ณด์ด์ฆ], ์ ๋[ITZY], ์ค์์, ํ์๊ท, ์ด์ํ, ํ ๊ฐ์ ์์ํ๋ก[ํํฐXํํฐ], ๆ ์คํฐ๋ธ์ก์ค", | |
"์ ๋ฌ": "์๋์, ๊ณต์ฐฌ[๋นํฌ], ์ฌ๊ธฐ[๋ ๋๋ฒจ๋ฒณ], ๋ก๋ชฌ[์ง์ฐํ], ์ง์ฐ[์๋ฏน์ค], ์จ์, ์งํ์ฐ, ๋น์์ด, ๊ฒฝ์ข , ์ด์ฐฝ์ญ, ์๋ค์ผ, ๋ผ๋น, ํธ๋ก์ด์๋ฐ, ํฐ ํํฌ์ค", | |
"์ ์ถ": "๊ณ ๋ฏผ์, ์ง๋ฏผ[BTS], ๊น์ฐ๋น, ๊นํ์ด๋ผ, ์์ ์ง, ๋ํค[์ํ์ดํ], ๊น์ ์ , ์ดํจ๋ฆฌ, ์ด์ข ์, ํ๋, ๋น๋น, ์ ์ค๋์ค, ์ต์์[์๋ก์ง์ฅ2], ์ ์ฑ์ฐ, ํ์ง[์คํค์ฆ], ์กฐ ๋ฐ์ด๋ , ์๋์จ", | |
"์ ํด": "๊น๋ฆฌ์[๋ชจ๋ธ], ๊ฐํ์ , ์ฑ์ข [์ธํผ๋ํธ], ์ ์ดํฌ[์ํ์ดํ], ์ฌํ[NCT], ๊น์ฐฝ์ฅ[๊ฐ์ฌ], ์ด์ฐฝ๋, ์ ์๋ฏผ, ์ด์์ธ, ์ด์๊ทผ, ์ ์ ๋ฏธ, ๋ค์, ๋๋, ์ฐ์ [์ฐ์ฃผ์๋ ], ๋ณผ๋ก๋๋ฏธ๋ฅด ์ ค๋ ์คํค, ์นด๋ฆฌ์ผ ํ ์ธ [๋ง์ ๋ฌ์ธ]", | |
"์ ์ ": "๊น์ํ, ์์ํ์ธ, ๋ชจ๋์นด[์ค์ฐํ], ์๋น[ํฌ๋ฐํฌ], ์ ์ฐ,์ฟค[NCT], ์ดํธ์[ํธ์ผ], ์์์, ์ ๋ฒ[fx], ๋ฅํ์, ์ฅ๋๊ฑด, ํ๊ณ ์, ๋์์, ์ฅ๋ฒ์ค, ์ฏ์, ๊น์ธ์ , ์์์, ์ค์ธํ, ์์งํ, ํ๋น๋น, ์ํ์ง, ์ฏ์[์ ํ๋ฒ], ์ด์ ํฌ, ์ฃผ๊ฒฐ๊ฒฝ", | |
"์ ๋ฏธ": "ํ์จ์ด, ๊ณ ๊ฒฝํ, ์ฐฌ์ด, ์กฐ์ธ์ฑ, ๊ฐ์น์ค, ๊ณตํจ์ง, ๊ณ ์๋ผ, ์ด์ ๊ท , ์ด์ฑ๊ฒฝ, ์ฐฌ์ฑ[ํฌํผ์ ], ์ํ์ค, ์ฃผํธ๋ฏผ, ๊ตฌํ์ , ์ค๋ค ์์ด์น๋ก[์ํผ์ค], ๋ฐ์ฆ์นด ์ค์ฌ๋ฌด[์ฒ ์ ์ํฐ], ๋ฐํ, ์ ์ฝ์ฉ", | |
"์ ์ฌ": "๋ฏผํฌ์ง, ์ฐจ์คํ, ํ, ๋ฐ๋ด, ๊ฐ๋ฆฌ, ์ฐฝ๋ชจ, ํ๋ก์ํ , ๊ฐํ๋, ์์์ , ์์ด์ , ์ด๋์, ์ดํด์ง[๋ค์ด๋ฒ], ์ ํ๋[์ ํ๋ฒ]", | |
"๋ฌด์ง": "๊ฐํด๋ฆผ, ํ์ผ๋์นด ์ ๋ฉํค[๋์], ๋์[NCT], ์ ์ฐ[์ํ์ดํ], ์ด์ด๊ฒฝ, ์ด์ฑ์ฐ, ๋ฐ๋ณด๊ฒ, ํ์ฐ, ์ธํ[์์], ์ต์ฐ์ค[ํฌ๋ฐํฌ], ๋ฆฌ์ฌ, ๋์ฝฐ์ด์, ๋ฅํ๋ก์ฐ, ์ฌ์ง[์ค์ฐํ], ํธ๋ฆฌ์ฝ์ ์ฝํค์ด[๋์ํ์ด๋ก์์นด๋ฐ๋ฏธ์], ๊ณตํ์ค, ๆ ์ฐ์ค์ด ์์ํ [ํฌ๋ ์ฉ ์ ์งฑ], ๋์ฒด, ์ง๊ธฐ์ค์นธ", | |
"๋ฌด์ธ": "์ด์ฅ์ญ, ์ํจ์ญ, ์ฐ๊ธฐ, ๊ณต์ , ์ ๋ฏธ, ์ฅ๊ทผ์, ์ฌ๋[๋ ๋๋ฒจ๋ฒณ], ๋ฐฉ์ฐฌ[์คํค์ฆ], ํ์ธ, ๋กญ ๋ง์ฌ[๊ฐ๋ ], ๋๋[์ ํ๋ฒ], ๋ชฝ์์๋น, ๋ฐ๊ทผํ, ์กฐ์ฃผ๋น, ์์กฐ", | |
"๋ฌด์": "์์ค์ด ์ ์ฐ, ๋ฆฌ์ [์ค์ฐํ], ๋ฏผํ[๋ชฌ์], ์[์ธํผ๋ํธ], ๋ฐ์ฑํ, ๊ฐ๋น[์ค์ฐํ], ๊ทํ, ์ด๋์ฑ, ์ ์ฐ์ฑ, ๊นํ์, ์๋ฆฐ, ์น์ฑ์ฐ, ์์ฌ์ฑ, ๋ ธ์, ํ์ฃผ", | |
"๋ฌด์ ": "์ตํ์ฑ, ๋ฐ์ด๋จผ์ค์ด์ด, ํ์ข ํ, ๋ฏผ๋, ๋ฐ์ฐฌ์ฑ, ์์ด๋ฆฐ, ๋์ฟค, ์ด์์, ์ต์์ค, ์ตํ์[์ ฐํ], ๊น๋์[๋ฐฐ์ฐ], ์์ค๋ฏธ์ค[๋ฐฐ์ฐ]", | |
"๋ฌด์ ": "ํ์ํฌ, ์ด์์ [์ฐ์์ฐ9ํ], ๊ธ๋ ํฌ์ฐ[๋ฐฐ์ฐ], ์ฅ๋์ฐ, ๋ฐ๋ณด์, ์ ์์นด, ์จ์ , ์์ง์, ํ์ฐ์, ๋ฐ์ง๋ฏผ, ๋ฆด๋ณด์ด, ์ผ์ง[์๊ณก๊ฐ], ์ด๋ฏธ๋[๋ฐฐ์ฐ], ์ ฐ์ต์คํผ์ด", | |
"๋ฌด์ค": "ํ๋[๋ด์ง์ค], ๋ก์, ๋ฆฌ์ํด, ์ธ์[์คํ ์ด์จ], ๊ฐํ์, ์กฐ์ ๋ฆฌ, ์ค์ฐฌ์, ๊น์ฑ๊ท, ํ์ฌ[๋๋ณด์ด์ฆ], ์ ์,์ ์ด[์ํ์ดํ], ๋ฆด๋ฆฌ[์๋ฏน์ค], ์ต๋ณ์ฐฌ[๋น ํค], ์ด๋, ์๋ฆฌ, ์ฐจ์น์, ๊น๋์ฑ, ์์ , ๊น์ฐ์ค, ์๋ต[์ ํ๋ฒ], ์ ๋ฐ", | |
} | |
print(lunIljin) | |
return famous_people.get(lunIljin[:2], "ํด๋น ์ผ์ฃผ์ ๋ํ ์ ๋ช ์ธ ์ ๋ณด๊ฐ ์์ต๋๋ค.") | |
def analyze_character(lunIljin, OPENAI_API_KEY): | |
API_URL = "https://api.openai.com/v1/chat/completions" | |
payload = { | |
"model": "gpt-4-0125-preview", # ๋ชจ๋ธ ์ด๋ฆ ํ์ธ ํ์ | |
"messages": [{ | |
"role": "system", | |
"content": "๋น์ ์ ์ฌ์ฃผ ํ์์ ๋ํด ์ค๋ช ํ๋ ์ฑ๋ด์ ๋๋ค." | |
}, { | |
"role": "user", | |
"content": f"์ผ์ฃผ '{lunIljin}'์ ๋ํ ์ฑ๊ฒฉ๊ณผ ํน์ง์ ์ค๋ช ํด์ฃผ์ธ์." | |
}], | |
} | |
headers = { | |
"Content-Type": "application/json", | |
"Authorization": f"Bearer {OPENAI_API_KEY}" | |
} | |
response = requests.post(API_URL, headers=headers, json=payload) | |
if response.status_code == 200: | |
data = response.json() | |
# ๋ํํ API ์๋ต์์ ์ ์ ํ ๋ฉ์์ง ์ถ์ถ ๋ฐ ์ ๋ช ์ธ ์ด๋ฆ ๋ฐํ | |
return data["choices"][0]["message"]["content"], get_famous_people(lunIljin) | |
else: | |
# ์ค๋ฅ ๋ฉ์์ง ๊ฐ์ | |
return f"์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ํ ์ฝ๋: {response.status_code}, ๋ฉ์์ง: {response.json().get('error', {}).get('message', 'Unknown error')}", "" | |
def analyze_character_two(lunIljin, lunIljin2, OPENAI_API_KEY): | |
API_URL = "https://api.openai.com/v1/chat/completions" | |
payload = { | |
"model": "gpt-4-0125-preview", # ๋ชจ๋ธ ์ด๋ฆ ํ์ธ ํ์ | |
"messages": [{ | |
"role": "system", | |
"content": "๋น์ ์ ๋์ฌ๋์ ๊ถํฉ์ ๋ํด ์ค๋ช ํ๋ ์ฑ๋ด์ ๋๋ค." | |
}, { | |
"role": "user", | |
"content": f"1. ๋ค์์ ๋์ฌ๋์ ์ฌ์ฃผ๋ฅผ ๋ณด๊ณ ๊ถํฉ์ด ์ข์์ง ์์ข์์ง ์ฑํฅ์ด ๋ง๋์ง ์๋์ง ์ฌ๋ถ๋ฅผ ์๋ ค์ค. 2.๋ชฉ์ฐจ๋ ๊ฐ๊ฐ์ ์ฌ์ฃผ ๋ถ์, ๊ถํฉ๋ถ์, ์ ์๋ก ํด์ค. 3.์ด๊ฒ์ 100% ๋๋น ๋น์จ๋ ์ถ๊ฐํด์ ํํํด์ฃผ์ธ์ '{lunIljin}', '{lunIljin2}'" | |
}], | |
} | |
headers = { | |
"Content-Type": "application/json", | |
"Authorization": f"Bearer {OPENAI_API_KEY}" | |
} | |
response = requests.post(API_URL, headers=headers, json=payload) | |
if response.status_code == 200: | |
data = response.json() | |
# ๋ํํ API ์๋ต์์ ์ ์ ํ ๋ฉ์์ง ์ถ์ถ ๋ฐ ์ ๋ช ์ธ ์ด๋ฆ ๋ฐํ | |
return data["choices"][0]["message"]["content"] | |
else: | |
# ์ค๋ฅ ๋ฉ์์ง ๊ฐ์ | |
return f"์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ํ ์ฝ๋: {response.status_code}, ๋ฉ์์ง: {response.json().get('error', {}).get('message', 'Unknown error')}", "" | |
# ์ฌ์ฃผ ๋ถ์ ๋ฐ์ดํฐ ์์ (๊ฐ์ํ๋ ๋ฒ์ ) | |
์ฌ์ฃผ_๋ฐ์ดํฐ = { | |
'๊ฐ์(็ฒๅญ)': '์๋ก์ด ์์์ ์์ง, ๋ฆฌ๋์ญ๊ณผ ๋ ๋ฆฝ์ฑ์ด ํน์ง์ด๋ฉฐ, ํธ์พํ๊ณ ์ฑ์คํ ํน์ฑ์ ์ง๋๋ค. ', | |
'์์ถ(ไนไธ)': '์ธ๋ด์ฌ์ด ๋งค์ฐ ๊ฐํ๋ฉฐ, ๋ฌผ์ง์ ์ฑ์ทจ๋ฅผ ์ค์์ํ๊ณ ์์ํ ๋ฉด๋ชจ๋ฅผ ๊ฐ์ถ ์ฌ๋์ด๋ค. ', | |
'๋ณ์ธ(ไธๅฏ )': '์ด์ ์ ์ด๊ณ ๋ชจํ์ ์ฆ๊ธฐ๋ฉฐ, ์ฐฝ์๋ ฅ์ด ๋ฐ์ด๋๊ณ ํ์ ์ ์ธ ์์ด๋์ด๋ฅผ ๊ฐ์ง๋ค. ', | |
'์ ๋ฌ(ไธๅฏ)': '์์ ์ ๊ฐ๊ฐ์ด ๋ฐ์ด๋๊ณ ์ฌ์ธํ ์ฑ๊ฒฉ์ผ๋ก, ๊ด๊ณ์์์ ์ถฉ์คํจ๊ณผ ์ ์ ์ด ๊น๋ค. ', | |
'๋ฌด์ง(ๆ่พฐ)': '์ค์ฉ์ ์ด๋ฉฐ ์์ ์ ์ธ ๊ธฐ๋ฐ์ ์ค์ํ๊ณ , ๊พธ์คํ ๋ ธ๋ ฅ์ ํตํด ์ฑ์ฅํ๋ ํ์ ์ด๋ค. ', | |
'๊ธฐ์ฌ(ๅทฑๅทณ)': '์ ์ฐ์ฑ๊ณผ ์ ์๋ ฅ์ด ๋ฐ์ด๋๋ฉฐ, ๋ค์ํ ์ํฉ์์๋ ์ ๋์ฒํ๋ ๋ฅ๋ ฅ์ ๊ฐ์ง๋ค. ', | |
'๊ฒฝ์ค(ๅบๅ)': '์ ์์ ๋ช ์๋ฅผ ์ค์ํ๋ฉฐ, ์ฑ์คํ๊ณ ์ง์ทจ์ ์ธ ํ๋๋ก ์ฃผ๋ณ์ ์กด๊ฒฝ์ ๋ฐ๋๋ค. ', | |
'์ ๋ฏธ(่พๆช)': '์ธ์ฌํ๊ณ ๊ผผ๊ผผํ ์ฑ๊ฒฉ์ผ๋ก ์๋ฒฝ์ ์ถ๊ตฌํ๋ฉฐ, ์ฃผ๋ณ ์ฌ๋๋ค๋ก๋ถํฐ ์ ๋ขฐ๋ฅผ ์ป๋๋ค. ', | |
'์์ (ๅฃฌ็ณ)': '์งํ์ ๊ท ํ์ด ์ ์กฐํ๋ ์ฑ๊ฒฉ์ผ๋ก, ๊น์ ํต์ฐฐ๋ ฅ๊ณผ ํจ๊ป ์ธ์์ ์ดํดํ๋ ๋ฅ๋ ฅ์ด ์๋ค. ', | |
'๊ณ์ (็ธ้ )': '์ธ๊ต์ ์ด๊ณ ์กฐํ๋ฅผ ์ค์ํ๋ ์ฑํฅ์ผ๋ก, ํ์ธ๊ณผ์ ๊ด๊ณ์์ ์ ์ฐํ๊ณ ๋ค์ ๋ค๊ฐํ๋ค. ', | |
'๊ฐ์ (็ฒๆ)': '๋ฏธ์๋ฅผ ๋ ๋ฉฐ ์ฃผ๋ณ ์ฌ๋๋ค์๊ฒ ์ํ๊ณ , ํ๊ณ ๋ ์์ ๋ฅ๋ ฅ์ผ๋ก ์ฑ๊ณต์ ์ด๋๋ค. ', | |
'์ํด(ไนไบฅ)': '์์์์ํ ์ธ์๊ณผ ๋ชจ๋ฒ์ ๊ฐ์ ์คํ์ผ๋ก, ๋ฅ๋ ฅ๊ณผ ์์ฌ์ ๊ฒธ๋นํ ์ฌ๋์ด๋ค. ', | |
'๋ณ์(ไธๅญ)': 'ํธ๋ฐฉํ๊ณ ๊น๋ค๋กญ์ง๋ง, ์ผ์ ํ์คํ ์ฒ๋ฆฌํ๊ณ ์๊ทผํ ๋งค๋ ฅ์ ๊ฐ์ง๊ณ ์๋ค. ', | |
'์ ์ถ(ไธไธ)': '์์ ์ ๊ฐ๊ฐ์ด ๋ฐ์ด๋๋ฉฐ ๋ฐ๋ปํ๊ณ ๋ฒ ํ ์ค ์๋ ์ธ๊ฐ๋ฏธ ๋์น๋ ์ฌ๋์ด๋ค. ', | |
'๋ฌด์ธ(ๆๅฏ )': '๋ชจํ์ ์ฆ๊ธฐ๊ณ ์์ ๊ฐ์ด ๋์น๋ฉฐ, ์ธ์์ ๋ฐ์๋ ๋๊ณ ์ถ์ดํ๋ ์ผ์ฌ ์ฐฌ ์ฌ๋์ด๋ค. ', | |
'๊ธฐ๋ฌ(ๅทฑๅฏ)': '์ธ์ฌํ๊ณ ์์ ์ ์ธ ๊ธฐ์ง์ด ์์ผ๋ฉฐ, ๊น์ ์๊ฐ๊ณผ ํจ๊ป ์ฌ๋๋ค๊ณผ ์กฐํ๋กญ๊ฒ ์ง๋ธ๋ค. ', | |
'๊ฒฝ์ง(ๅบ่พฐ)': '์์ ์ ์ด๊ณ ํดํ์ ์ธ ์ฑ๊ฒฉ์ ๊ฐ์ง๋ฉฐ, ์ฃผ๋ณ ์ฌ๋๋ค๊ณผ์ ์กฐํ๋ฅผ ์ค์ํ๋ค. ', | |
'์ ์ฌ(่พๅทณ)': '๋ฉ๊ณผ ๋งค๋ ฅ์ ์ถ์ ์ค์ฌ์ ๋๋ฉฐ, ๊ฐํ ์ฌํ์ ๋ฅ๋ ฅ์ ์ง๋ ์ฌ๋์ด๋ค. ', | |
'์์ค(ๅฃฌๅ)': '์ง์ ๋ฅ๋ ฅ์ด ๋ฐ์ด๋๊ณ ์ฌ์คํ ์๊ฐ์ ํ๋, ๊น์ด ์๋ ์ธ๋ฌผ์ด๋ค. ', | |
'๊ณ๋ฏธ(็ธๆช)': '์์ ๊ณผ ํ์ธ์๊ฒ ์น์ ํ๊ณ ๊ท์ฌ์ด ๋ฉด๋ชจ๋ฅผ ์ง๋ ์ฌ๋์ผ๋ก, ์ฌํ์ ์ํธ์์ฉ์์ ๋ฐ์คํจ๊ณผ ๋ฐฐ๋ ค๋ฅผ ๋ณด์ฌ์ค๋ค. ์์ ์ ์ฌ๋๋ค์๊ฒ ์ ๋ง์ถฐ์ฃผ๋ฉฐ, ํํฉ์ ์ค์์ํ๋ค. ', | |
'๊ฐ์ (็ฒ็ณ)': '๋ด๋ฉด์ด ๋ณํ๋ฌด์ํ๋ ๊ฒ์ผ๋ก๋ ๋๋ฌ๋ด์ง ์๊ณ , ๊ฐ์ธํ ๋ฉด๋ชจ๋ก ์ด๋ ค์์ ๊ทน๋ณตํ๋ค.', | |
'์์ (ไน้ )': 'ํ์ธ์ ๋น๋ฐ์ ์ ์ง์ผ์ฃผ๋ ์ ๋ขฐํ ์ ์๋ ์ฌ๋์ผ๋ก, ์ง์ค๋ ฅ๊ณผ ์ํ๋ ฅ์ด ๊ฐํ๋ค. ', | |
'๋ณ์ (ไธๆ)': '๊ด๋ํ๋ฉด์๋ ์ธ์ธํ ๋ถ๋ถ์ ๊น๋ค๋ก์ธ ์ ์์ผ๋ฉฐ, ์ํ๋ ฅ์ด ๊ฐํ๊ณ ํ๋ช ํ๋ค. ', | |
'์ ํด(ไธไบฅ)': 'ํฌ์ฉ๋ ฅ์ด ๋ฐ์ด๋๊ณ ์ถ์ ๋ํ ์ ์ฐฉ์ด ๊ฐํ๋ฉฐ, ์ง์ฌ์ผ๋ก ์ฃผ๋ณ์ ์ฑ๊ธด๋ค. ', | |
'๋ฌด์(ๆๅญ)': '์ ๋น๋ก์ด ๋ถ์๊ธฐ์ ์ฌ๋ฌผ์ ์ค์ํ๋ ์ฑํฅ์ด ์์ผ๋ฉฐ, ์๋ด๋ฅผ ์ ๋๋ฌ๋ด์ง ์๋๋ค. ', | |
'๊ธฐ์ถ(ๅทฑไธ)': '๊ฐ์ธํ ๋ด๋ฉด์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์์ ๋ง์ ๊ธธ์ ๊ฑธ์ด๊ฐ๋ ํ๊ณ ํ ์ ๋ ์ ์ง๋๋ค. ', | |
'๊ฒฝ์ธ(ๅบๅฏ )': 'ํฐ ํฌ๋ถ์ ๊ตญ์ ์ ์ธ ํ๋์ ์ถ๊ตฌํ๋ฉฐ, ์ฌ์ ์์ ํฐ ์ฑ๊ณต์ ๊ฟ๊พธ๋ ์ฌ๋์ด๋ค. ', | |
'์ ๋ฌ(่พๅฏ)': '๊น๊นํ๊ณ ๋ ์นด๋ก์ธ ์ ์์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์์ด ์ฐฉํ ์ฌ๋์ด๋ค. ', | |
'์์ง(ๅฃฌ่พฐ)': '์ธ๋ด์ฌ์ด ๊ฐํ๊ณ , ํ ๋ฒ ๋ง์๋จน์ ์ผ์ ๋๊น์ง ๋ฐ๊ณ ๋๊ฐ๋ ๊ฐ์ธํ ์์ง์ ์ฌ๋์ด๋ค. ', | |
'๊ณ์ฌ(็ธๅทณ)': '์ ์ ํ ํ์ด๋ฐ๊ณผ ์ํฉ ํ๋จ๋ ฅ์ผ๋ก ๋์ ๋๋ ์ฑ์ทจ๋ฅผ ์ด๋ฃจ๋ ์ฌ๋์ด๋ค. ๋๋ํ๊ณ ์ํฉ์ ๋ง๋ ์ต์ ์ ๊ฒฐ์ ์ ๋ด๋ฆด ์ค ์๋ฉฐ, ์ถ์์์ ์ฌ๋ฌ ๊ธฐํ๋ฅผ ์ ์ด๋ฆฐ๋ค. ', | |
'๊ฐ์ค(็ฒๅ)': '์กฐ๊ธ ์กฐ๊ธํ๊ณ ์ค์ํ ์ ์์ง๋ง, ๋ญ๋ง์ ์ด๊ณ ์พํํ์ฌ ์ฃผ๋ณ์ ๋ฐ๊ฒ ๋ง๋ ๋ค.', | |
'์๋ฏธ(ไนๆช)': '์ ์ ์ด ๋ง๊ณ ๋๊ธฐ๊ฐ ์์ผ๋ฉฐ, ๋ช ํํ ์ฃผ๊ด๊ณผ ํจ๊ป ์ฌ๋ฌผ์ ์ด์น๋ฅผ ์ ํ์ ํ๋ค. ', | |
'๋ณ์ (ไธ็ณ)': '์ธ๋ จ๋๊ณ ๋ง๊ณผ ๋ฉ์ ์ถ๊ตฌํ๋ฉฐ, ์ฌ๊ต์ ์ด๋ฉด์๋ ๋ด๋ฉด์ ๊ฐ๋ฑ์ ๊ฐ์ง ์ฌ๋์ด๋ค. ', | |
'์ ์ (ไธ้ )': '๊ฐ๊ฐ์ ์ด๊ณ ์ฌ์น ์๋ ์ฑ๊ฒฉ์ผ๋ก, ์ฃผ๋ณ ์ฌ๋๋ค์๊ฒ ์ฆ๊ฑฐ์์ ์ฃผ๋ ์ฌ๋์ด๋ค. ', | |
'๋ฌด์ (ๆๆ)': '์ค์์ ์ค์ํ๊ณ ์๋ฐํ ์ถ์ ์ถ๊ตฌํ๋ฉฐ, ๋ด๋ฐฑํ ๋งค๋ ฅ์ ๊ฐ์ง ์ค๋ฆฌ์ฃผ์์์ด๋ค. ', | |
'๊ธฐํด(ๅทฑไบฅ)': '์จํํ๊ณ ๋ช ๋ํ๋ฉฐ, ์์ง๊ฐ ๊ตณ๊ฑดํ๋ ๋๋ก๋ ๋ง์ค์ด๋ ๊ฒฝํฅ์ด ์๋ค. ', | |
'๊ฒฝ์(ๅบๅญ)': '์ฐจ๋ถํ๊ณ ๊ฒฐ๋จ๋ ฅ์ด ์๋ ๋ฐ๋ฉด, ์ผ์ ์ฅ๋จ์ ์ ์ ์คํ๊ฒ ํ๋จํ๋ ์ฌ๋์ด๋ค. ', | |
'์ ์ถ(่พไธ)': '๊ฒธ์ํจ๊ณผ ํจ๊ป ํ์ธ์ ์ ํ๋จํ๋ ๋ฅ๋ ฅ์ ๊ฐ์ง, ์ธ๊ฐ ๊ด๊ณ์์์ ์กฐ์จ์์ด๋ค. ', | |
'์์ธ(ๅฃฌๅฏ )': '์์ ๊ฐ์ ์ถ๊ตฌํ๋ฉฐ, ์ฆ๊ฑฐ์๊ณผ ์ฌ๋ฏธ๋ฅผ ์ค์์ํ๋ ํธ์ํ ์ฑ๊ฒฉ์ ์์ ์์ด๋ค. ', | |
'๊ณ๋ฌ(็ธๅฏ)': '์น์ ํ๊ณ ์ฌ๋๋ค์๊ฒ ์ ๋ง์ถฐ์ฃผ๋ ์ฑ๊ฒฉ์ผ๋ก, ๋๋จํ ์ฐฉํ๊ณ ์๋๋ฐฉ์ ํธ์ํ๊ฒ ๋ง๋๋ ๋ฅ๋ ฅ์ด ์๋ค. ๊ทธ์ ์กด์ฌ๋ง์ผ๋ก๋ ์ฃผ๋ณ์ ๊ธ์ ์ ์ธ ๋ถ์๊ธฐ๋ฅผ ๋ง๋ค์ด๋ธ๋ค. ', | |
'๊ฐ์ง(็ฒ่พฐ)': 'ํธ์พํ ์ฑ๊ฒฉ ์ฑ์คํ๋ฉด์ ์ ๊ต๋ ์๋ ๋ฌด๋๋ํ ์๋จ์ ์์ฌ์ ', | |
'์์ฌ(ไนๅทณ)': '์ฌ๋์ ๋์ด๋น๊ธฐ๋ ๋งค๋ ฅ์ด ๋์น๊ณ , ์ด๋์๋ ๋ฐ์ ์๋์ง๋ฅผ ๋ฐ์ฐํ๋ค. ๋ค์ฌ๋ค๋ฅํ๊ณ ์ ์ฐํ ์ฌ๊ณ ๋ฅผ ๊ฐ์ง๋ฉฐ, ์๋ก์ด ๋ง๋จ๊ณผ ๊ฒฝํ์์ ์ฆ๊ฑฐ์์ ์ฐพ๋๋ค. ', | |
'๋ณ์ค(ไธๅ)': '์ด์ ์ ์ด๊ณ ์ ๋์ ์ธ ์ฑ๊ฒฉ์ผ๋ก ์ฃผ๋ณ์ ์ด๋๋ ๋ฆฌ๋์ญ๊ณผ ์์ ์๋ฒํ๋ ํ๋๋ฅผ ์ง๋๋ค. ', | |
'์ ๋ฏธ(ไธๆช)': '๋ถ๋๋ฝ๊ณ ์์ํ๋ฉฐ ์ด์ ์ ์ธ ์ฑ๊ฒฉ์ผ๋ก, ๋ค์ํ ์ฌ๋๋ค๊ณผ ์ ์ด์ธ๋ฆฐ๋ค. ', | |
'๋ฌด์ (ๆ็ณ)': '๋ฐ๋ปํ์ฌ๋์ ๋์ด๋น๊ธฐ๋ ๋งค๋ ฅ์ด ๋์น๊ณ , ์ด๋์๋ ๋ฐ์ ์๋์ง๋ฅผ ๋ฐ์ฐํ๋ค. ๋ค์ฌ๋ค๋ฅํ๊ณ ์ ์ฐํ ์ฌ๊ณ ๋ฅผ ๊ฐ์ง๋ฉฐ, ์๋ก์ด ๋ง๋จ๊ณผ ๊ฒฝํ์์ ์ฆ๊ฑฐ์์ ์ฐพ๋๋ค. ๋ง์๊ณผ ์ฌ์ธํ ๊ฐ์ฑ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋์ ํฌ์ฉ๋ ฅ์ผ๋ก ์ฃผ๋ณ์ ๊ฐ์ผ๋ค. ', | |
'๊ธฐ์ (ๅทฑ้ )': '๋๋ดํ๊ณ ์ถ์ ๋ํ ์ด์ ์ด ๋์น์ง๋ง, ๋๋ก๋ ์ฐ์ ๋ถ๋จํ ๋ชจ์ต์ ๋ณด์ผ ์ ์๋ค. ', | |
'๊ฒฝ์ (ๅบๆ)': '๋์ ํ๊ณ ์ ์ฌ์ ์ธ ํ๋๋ก ํ์ธ์ ๋๋ ๊ฒ์ ์ฆ๊ธฐ๋ฉฐ, ๋๋ก๋ ๊นํ์ค๋ฌ์ธ ์ ์๋ค. ', | |
'์ ํด(่พไบฅ)': '์์กด์ฌ์ด ๊ฐํ๊ณ ๋ช ํํ ์ทจํฅ์ ๊ฐ์ง๋ฉฐ, ๋ญ๋ง์ ์ธ ๊ฐ์ฑ์ ์์ ํ ์ฌ๋์ด๋ค. ', | |
'์์(ๅฃฌๅญ)': '์กฐ์ฉํ์ง๋ง, ๋งค๋ ฅ์ ์ด๊ณ ์ํฉ์ ๋ฐ๋ผ ๊ฐํ ๋ฉด๋ชจ๋ฅผ ๋๋ฌ๋ด๋ ์ ๋นํ ์ธ๋ฌผ์ด๋ค. ', | |
'๊ณ์ถ(็ธไธ)': '๊ฒ๋ณด๊ธฐ์ ์ฐจ๋ถํ์ง๋ง ๋ด๋ฉด์๋ ๊ฐํ ์์ง์ ์ ๋ ์ ์ง๋ ์ฌ๋์ผ๋ก, ์ ๋ง ์ฌ๋์ด ์ข๋ค๋ ๋๋์ ์ฃผ๋ ๋ฐ๋ปํจ๊ณผ ๊ท ํ ์กํ ์ฑ๊ฒฉ์ ๊ฐ๊ณ ์๋ค. ์ฃผ๋ณ ์ฌ๋๋ค์๊ฒ ๋ฏฟ์์ง์ค๋ฌ์ด ์กด์ฌ๋ค. ', | |
'๊ฐ์ธ(็ฒๅฏ )': '๋ฆฌ๋์ญ์ด ์๊ณ ์ฑ์ ์ด ๋ฐ๋ฅด๊ณ ํธ๋ฐฉํ๋ค. ์กฐ์ง์ ์์์ ์ธ ์ฌ๋์ด๋ค.', | |
'์๋ฌ(ไนๅฏ)': '๋ด๋ฉด์ ๊ฐ์ธํจ์๋ ๋ถ๊ตฌํ๊ณ ๋ถ๋๋ฌ์ด ์ฌ๊ต์ฑ์ผ๋ก ์ฃผ๋ณ ์ฌ๋๋ค๊ณผ ์ฝ๊ฒ ์ด์ธ๋ฆฐ๋ค. ์ง์ ์ ์ธ ์ํต ๋ฐฉ์ ๋ค์๋ ์ค๋ฉฐ๋๋ ์ํฅ๋ ฅ์ด ์์ด, ๋ง์ ์ด๋ค์๊ฒ ๊ธ์ ์ ์ธ ์๋์ง๋ฅผ ์ ๋ฌํ๋ค. ', | |
'๋ณ์ง(ไธ่พฐ)': '๊น๋ํ๊ณ ๋จ์ ํ ์ธ๋ชจ์ ๋๋์ ์ด๋ฉฐ, ์ํฉ์ ๊ต๋ฌํ๊ฒ ์กฐ์ ํ๋ ๋ฅ๋ ฅ์ ๊ฐ์ง๋ค. ', | |
'์ ์ฌ(ไธๅทณ)': '๊ฒฝ์์ ์ฆ๊ธฐ๊ณ ๋ค๋ฅธ ์ฌ๋์ ์๋ํ๋ ค๋ ๊ฐํ ์์ง์ ์ฌ๊ต์ ์ธ ๋ฅ๋ ฅ์ ๊ฐ์ก๋ค. ', | |
'๋ฌด์ค(ๆๅ)': '๊ฒฐ์ฝ ๊ตดํ์ง ์๋ ์ ์ ๋ ฅ๊ณผ ์ฌ์ ์์์ ์ฑ๊ณต์ ๊ฟ๊พธ๋, ์ผ๋ง ์๋ ์ฌ๋์ด๋ค. ', | |
'๊ธฐ๋ฏธ(ๅทฑๆช)': '๋ด์ฌ์ ์ ์ด ํฌ์ฒ ํ๊ณ ๊ณต๋์ฒด ์์์ด ๊ฐํ๋ฉฐ, ๊ณต์ต์ ์ํด ์ ๊ทน์ ์ผ๋ก ๊ธฐ์ฌํ๋ค. ', | |
'๊ฒฝ์ (ๅบ็ณ)': 'ํ๋์ ์ด๊ณ ๋ฐ์ผ๋ก์ ํ๋์ ์ฆ๊ธฐ๋ฉฐ, ์๋ก์ด ๊ฒ์ ๋์ ํ๋ ๊ฒ์ ๋๋ ค์ํ์ง ์๋๋ค. ', | |
'์ ์ (่พ้ )': '๊ณ ์ํ๊ณ ํ์ธ์ ์ํ๋ ๋ง์์ด ๊ฐํ์ง๋ง, ๊ฐ์ ์ด ๊ฒฉํด์ง ๋๋ ์๋นํ ๋ฌด์์ธ ์ ์๋ค. ', | |
'์์ (ๅฃฌๆ)': '๊ณ ์ง์ด ์์ง๋ง ๊ฐ์กฑ๊ณผ ํ์ธ์ ์ํด ํ์ ์ ์ผ๋ก ๋ ธ๋ ฅํ๋ ๊ฐํ ๋ฉด๋ชจ๋ฅผ ์ง๋๋ค. ', | |
'๊ณํด(็ธไบฅ)': '๊ทธ์ ๋น ์ ธ๋ค๊ฒ ๋ง๋๋ ๊น์ ๋ด๋ฉด์ ๋งค๋ ฅ์ ๊ฐ์ง ์ฌ๋์ผ๋ก, ์์ธ์ ๊น์ ์๊ฐ๊ณผ ๊ฐ์ฑ์ ์ง๋๊ณ ์๋ค. ์์ ๋ง์ ์ธ๊ณ๊ฐ ํ๋ถํด ํ์ธ๊ณผ์ ๊ต๋ฅ์์๋ ๋ ํนํ ๊ด์ ์ ์ ๊ณตํ๋ค. ', | |
} | |
def ์ฌ์ฃผ_๋ถ์(๋ ์ฃผ, ์์ฃผ, ์ผ์ฃผ, ์์ฃผ): | |
# ๊ฐ ์ฃผ์ ๋ํ ์ค๋ช ์ HTML ํ์์ผ๋ก ๋ฐํ | |
html_result = f""" | |
<div> | |
<h4>์ฌ์ฃผ ๋ถ์ ๊ฒฐ๊ณผ</h4> | |
<p><b>๋ ์ฃผ ์์ฝ:</b> {๋ ์ฃผ} - {์ฌ์ฃผ_๋ฐ์ดํฐ.get(๋ ์ฃผ, '์ ๋ณด ์์')}</p> | |
<p><b>์์ฃผ ์์ฝ:</b> {์์ฃผ} - {์ฌ์ฃผ_๋ฐ์ดํฐ.get(์์ฃผ, '์ ๋ณด ์์')}</p> | |
<p><b>์ผ์ฃผ ์์ฝ:</b> {์ผ์ฃผ} - {์ฌ์ฃผ_๋ฐ์ดํฐ.get(์ผ์ฃผ, '์ ๋ณด ์์')}</p> | |
<p><b>์์ฃผ ์์ฝ:</b> {์์ฃผ} - {์ฌ์ฃผ_๋ฐ์ดํฐ.get(์์ฃผ, '์ ๋ณด ์์')}</p> | |
</div> | |
""" | |
return html_result | |
with gr.Blocks(css="footer {visibility: hidden;}") as demo: | |
solYear ="" | |
solMonth = "" | |
solDay = "" | |
solHour = "" | |
with gr.Tab("AI ์ฌ์ฃผ ์ด์ธ ๋ถ์"): | |
solYear = gr.Textbox(label="์๋ (์: 1990)") | |
solMonth = gr.Textbox(label="์์(์: 01)") | |
solDay = gr.Textbox(label="์์ผ(์: 31)") | |
solHour = gr.Textbox(label="์์(์์: 1030)", placeholder="์๊ฐ์ 24์๊ฐ ํ์์ผ๋ก ์ ๋ ฅํ์ธ์ (์: 2230)") | |
output1 = gr.JSON(label="๊ฒฐ๊ณผ") | |
analysis_result = gr.HTML() # ์ฌ์ฃผ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ HTML ์ปดํฌ๋ํธ | |
lunIljin_state = gr.State() # ์ผ์ฃผ๋ฅผ ์ ์ฅํ State | |
get_lunar_info_btn = gr.Button("๋ถ์ํ๊ธฐ") | |
get_lunar_info_btn.click( | |
fn=get_lunar_info, | |
inputs=[solYear, solMonth, solDay, solHour], | |
outputs=[output1, lunIljin_state, analysis_result] | |
) | |
with gr.Tab("๋์ ์ฑ๊ฒฉ๊ณผ ํน์ง ๋ถ์"): | |
OPENAI_API_KEY_input = gr.Textbox(label="OpenAI API ํค", placeholder="์ฌ๊ธฐ์ OpenAI API ํค๋ฅผ ์ ๋ ฅํ์ธ์") | |
character_output = gr.Textbox(label="์ฑ๊ฒฉ๊ณผ ํน์ง") | |
celebrity_output = gr.Textbox(label="์ ๋ช ์ธ ์ด๋ฆ") | |
analyze_button = gr.Button("๋ถ์ํ๊ธฐ") | |
analyze_button.click(fn=analyze_character, inputs=[lunIljin_state, OPENAI_API_KEY_input], | |
outputs=[character_output, celebrity_output]) | |
with gr.Tab("๊ถํฉ"): | |
solYear = gr.Textbox(label="์๋ (์: 1990)") | |
solMonth = gr.Textbox(label="์์(์: 01)") | |
solDay = gr.Textbox(label="์์ผ(์: 31)") | |
solHour = gr.Textbox(label="์์(์์: 1030)", placeholder="์๊ฐ์ 24์๊ฐ ํ์์ผ๋ก ์ ๋ ฅํ์ธ์ (์: 2230)") | |
output1 = gr.JSON(label="๊ฒฐ๊ณผ") | |
solYear2 = gr.Textbox(label="์๋ (์: 1990)") | |
solMonth2 = gr.Textbox(label="์์(์: 01)") | |
solDay2 = gr.Textbox(label="์์ผ(์: 31)") | |
solHour2 = gr.Textbox(label="์์(์์: 1030)", placeholder="์๊ฐ์ 24์๊ฐ ํ์์ผ๋ก ์ ๋ ฅํ์ธ์ (์: 2230)") | |
OPENAI_API_KEY = gr.Textbox(label="OpenAI API ํค", placeholder="์ฌ๊ธฐ์ OpenAI API ํค๋ฅผ ์ ๋ ฅํ์ธ์") | |
output2 = gr.JSON(label="๊ฒฐ๊ณผ") | |
analysis_result = gr.HTML() # ์ฌ์ฃผ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ HTML ์ปดํฌ๋ํธ | |
lunIljin_state = gr.State() # ์ผ์ฃผ๋ฅผ ์ ์ฅํ State | |
get_lunar_info_btn = gr.Button("๋ถ์ํ๊ธฐ") | |
get_lunar_info_btn.click( | |
fn=get_lunar_info_for_two_people, | |
inputs=[solYear, solMonth, solDay, solHour, solYear2, solMonth2, solDay2, solHour2, OPENAI_API_KEY], | |
outputs=[output1, lunIljin_state, analysis_result, output2, lunIljin_state, analysis_result, analysis_result] | |
) | |
demo.launch() |