Spaces:
Sleeping
Sleeping
Upload views/career.py with huggingface_hub
Browse files- views/career.py +281 -0
views/career.py
ADDED
|
@@ -0,0 +1,281 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Career page: AI Researcher vs Engineer analysis."""
|
| 2 |
+
import streamlit as st
|
| 3 |
+
import plotly.graph_objects as go
|
| 4 |
+
import plotly.express as px
|
| 5 |
+
import pandas as pd
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
def show():
|
| 9 |
+
st.title("AI ์ง๋ฌด ๋ถ์")
|
| 10 |
+
st.markdown("AI Researcher์ AI Engineer, ๋ ์ปค๋ฆฌ์ด ๊ฒฝ๋ก๋ฅผ ๋น๊ตํ๊ณ ์์ ์๊ฒ ๋ง๋ ๋ฐฉํฅ์ ์ฐพ์๋ณด์ธ์.")
|
| 11 |
+
|
| 12 |
+
# โโ ํต์ฌ ๋น๊ต ํ
์ด๋ธ โโ
|
| 13 |
+
st.subheader("ํต์ฌ ์ญํ ๋น๊ต")
|
| 14 |
+
compare_data = {
|
| 15 |
+
"๊ตฌ๋ถ": ["ํ ์ค ์ ์", "์ฃผ์ ์ฐ์ถ๋ฌผ", "์๊ฐ ์งํ", "์ฑ๊ณผ ์ธก์ ", "์คํจ ํ์ฉ๋", "ํ๋ ฅ ์๊ฑด", "์ง์
๋์ด๋"],
|
| 16 |
+
"AI Researcher": [
|
| 17 |
+
"์๋ก์ด ์ง์์ ์ฐฝ์ถํ๋ค",
|
| 18 |
+
"๋
ผ๋ฌธ, ํนํ, ์ ์๊ณ ๋ฆฌ์ฆ",
|
| 19 |
+
"6๊ฐ์~์ ๋
(์ฅ๊ธฐ ์ฐ๊ตฌ)",
|
| 20 |
+
"๋
ผ๋ฌธ ์ธ์ฉ ์, SOTA ๋ฌ์ฑ",
|
| 21 |
+
"๋์ (์ฐ๊ตฌ์ ํ์)",
|
| 22 |
+
"๋ฐ์ฌ ๊ฑฐ์ ํ์",
|
| 23 |
+
"โ
โ
โ
โ
โ
",
|
| 24 |
+
],
|
| 25 |
+
"AI Engineer": [
|
| 26 |
+
"AI๋ฅผ ์ ํ์ ๋
น์ฌ๋ธ๋ค",
|
| 27 |
+
"์๋น์ค, API, ํ์ดํ๋ผ์ธ",
|
| 28 |
+
"์ ์ฃผ~์ ๊ฐ์ (์ ํ ์ค์ฌ)",
|
| 29 |
+
"์ง์ฐ์๊ฐ, ์ฒ๋ฆฌ๋, ์ฌ์ฉ์ ์งํ",
|
| 30 |
+
"๋ฎ์ (ํ๋ก๋์
์์ ์ฑ)",
|
| 31 |
+
"ํ๋ถ ์กธ์
ํ ์ง์
๊ฐ๋ฅ",
|
| 32 |
+
"โ
โ
โ
โโ",
|
| 33 |
+
],
|
| 34 |
+
}
|
| 35 |
+
df_compare = pd.DataFrame(compare_data).set_index("๊ตฌ๋ถ")
|
| 36 |
+
st.dataframe(df_compare, use_container_width=True)
|
| 37 |
+
|
| 38 |
+
st.markdown("---")
|
| 39 |
+
|
| 40 |
+
# โโ ํญ๋ณ ์์ธ โโ
|
| 41 |
+
tab_r, tab_e, tab_jd, tab_choice = st.tabs(
|
| 42 |
+
["Researcher ์์ธ", "Engineer ์์ธ", "JD ๋ณํ (2014โ2024)", "์ ํ ๊ธฐ์ค"]
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
+
with tab_r:
|
| 46 |
+
st.subheader("AI Researcher")
|
| 47 |
+
|
| 48 |
+
col1, col2 = st.columns(2)
|
| 49 |
+
with col1:
|
| 50 |
+
st.markdown("#### ํต์ฌ ์ญํ ")
|
| 51 |
+
roles = [
|
| 52 |
+
"๋ฌธํ ์กฐ์ฌ โ arXiv, NeurIPS, ICML, ICLR ์ง์ ์ถ์ ",
|
| 53 |
+
"๊ฐ์ค ์ค์ & ์คํ ์ค๊ณ",
|
| 54 |
+
"์๋ก์ด ์ํคํ
์ฒ / ํ์ต ๊ธฐ๋ฒ ์ฐ๊ตฌ",
|
| 55 |
+
"๋
ผ๋ฌธ ์์ฑ & ๊ตญ์ ํํ ๋ฐํ",
|
| 56 |
+
"์ฌํ์ฑ ๊ฒ์ฆ (ํต๊ณ์ ์ ์์ฑ)",
|
| 57 |
+
]
|
| 58 |
+
for r in roles:
|
| 59 |
+
st.markdown(f"- {r}")
|
| 60 |
+
|
| 61 |
+
with col2:
|
| 62 |
+
st.markdown("#### ์๊ตฌ ์ญ๋ ์์ค")
|
| 63 |
+
skills = {
|
| 64 |
+
"์ํ (์ ํ๋์/ํ๋ฅ /๋ฏธ์ ๋ถ)": 5,
|
| 65 |
+
"ML ์ด๋ก ": 5,
|
| 66 |
+
"๋ฅ๋ฌ๋ ์ํคํ
์ฒ": 5,
|
| 67 |
+
"Python/PyTorch": 4,
|
| 68 |
+
"๋
ผ๋ฌธ ์ฝ๊ธฐ (์์ด)": 5,
|
| 69 |
+
"์คํ ๊ด๋ฆฌ": 3,
|
| 70 |
+
"MLOps/ํด๋ผ์ฐ๋": 2,
|
| 71 |
+
}
|
| 72 |
+
fig = go.Figure(go.Bar(
|
| 73 |
+
x=list(skills.values()),
|
| 74 |
+
y=list(skills.keys()),
|
| 75 |
+
orientation='h',
|
| 76 |
+
marker_color='#3498db',
|
| 77 |
+
text=[f"{'โ
' * v}{'โ' * (5-v)}" for v in skills.values()],
|
| 78 |
+
textposition='outside',
|
| 79 |
+
))
|
| 80 |
+
fig.update_layout(xaxis=dict(range=[0, 6], showticklabels=False),
|
| 81 |
+
height=280, margin=dict(t=10, b=10))
|
| 82 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 83 |
+
|
| 84 |
+
st.markdown("#### ์ปค๋ฆฌ์ด ํจ์ค")
|
| 85 |
+
st.markdown("""
|
| 86 |
+
```
|
| 87 |
+
ํ๋ถ ์ฐ๊ตฌ์ (์ธํด)
|
| 88 |
+
โ
|
| 89 |
+
์์ฌ ๊ณผ์ / ์์ฌ ์ธํด์ญ
|
| 90 |
+
โ
|
| 91 |
+
๋ฐ์ฌ ๊ณผ์ (์ผ๋ฐ์ ์ผ๋ก ํ์)
|
| 92 |
+
โ
|
| 93 |
+
ํฌ๋ฅ or ๋ฆฌ์์น ์ธํด (Google DeepMind, OpenAI, Anthropic ๋ฑ)
|
| 94 |
+
โ
|
| 95 |
+
Research Scientist
|
| 96 |
+
โ
|
| 97 |
+
Senior Research Scientist
|
| 98 |
+
โ
|
| 99 |
+
Principal Researcher / Research Director
|
| 100 |
+
```
|
| 101 |
+
""")
|
| 102 |
+
st.warning("์์ AI ์ฐ๊ตฌ์(OpenAI, Google DeepMind, Anthropic)๋ ๋๋ถ๋ถ **๋ฐ์ฌ ํ์** ์๊ตฌ.")
|
| 103 |
+
|
| 104 |
+
with tab_e:
|
| 105 |
+
st.subheader("AI Engineer")
|
| 106 |
+
|
| 107 |
+
col1, col2 = st.columns(2)
|
| 108 |
+
with col1:
|
| 109 |
+
st.markdown("#### ํต์ฌ ์ญํ ")
|
| 110 |
+
roles = [
|
| 111 |
+
"๋ชจ๋ธ ์ ํ ๋ฐ ํ์ธํ๋",
|
| 112 |
+
"MLOps ํ์ดํ๋ผ์ธ ๊ตฌ์ถ",
|
| 113 |
+
"๋ชจ๋ธ ์ต์ ํ (์์ํ, ONNX)",
|
| 114 |
+
"์๋น ์ธํ๋ผ (REST API, gRPC)",
|
| 115 |
+
"๋ชจ๋ํฐ๋ง โ ์ฑ๋ฅ ๋๋ฆฌํํธ ๊ฐ์ง",
|
| 116 |
+
]
|
| 117 |
+
for r in roles:
|
| 118 |
+
st.markdown(f"- {r}")
|
| 119 |
+
|
| 120 |
+
with col2:
|
| 121 |
+
st.markdown("#### ์๊ตฌ ์ญ๋ ์์ค")
|
| 122 |
+
skills = {
|
| 123 |
+
"Python (ํ๋ก๋์
์์ค)": 5,
|
| 124 |
+
"ML/DL ์ดํด (์ฌ์ฉ ์์ค)": 3,
|
| 125 |
+
"MLOps (Airflow, Kubeflow)": 4,
|
| 126 |
+
"ํด๋ผ์ฐ๋ (AWS/GCP)": 4,
|
| 127 |
+
"Docker/Kubernetes": 4,
|
| 128 |
+
"API ๊ฐ๋ฐ (FastAPI)": 4,
|
| 129 |
+
"์ํ": 2,
|
| 130 |
+
}
|
| 131 |
+
fig = go.Figure(go.Bar(
|
| 132 |
+
x=list(skills.values()),
|
| 133 |
+
y=list(skills.keys()),
|
| 134 |
+
orientation='h',
|
| 135 |
+
marker_color='#2ecc71',
|
| 136 |
+
text=[f"{'โ
' * v}{'โ' * (5-v)}" for v in skills.values()],
|
| 137 |
+
textposition='outside',
|
| 138 |
+
))
|
| 139 |
+
fig.update_layout(xaxis=dict(range=[0, 6], showticklabels=False),
|
| 140 |
+
height=280, margin=dict(t=10, b=10))
|
| 141 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 142 |
+
|
| 143 |
+
st.markdown("#### ์ปค๋ฆฌ์ด ํจ์ค")
|
| 144 |
+
st.markdown("""
|
| 145 |
+
```
|
| 146 |
+
์ํํธ์จ์ด ์์ง๋์ด (Python/๋ฐฑ์๋)
|
| 147 |
+
๋๋ ๋ฐ์ดํฐ ๋ถ์๊ฐ/์ฌ์ด์ธํฐ์คํธ
|
| 148 |
+
โ
|
| 149 |
+
ML Engineer (์ฃผ๋์ด)
|
| 150 |
+
โ
|
| 151 |
+
ML Engineer (์๋์ด)
|
| 152 |
+
โ
|
| 153 |
+
Staff ML Engineer / ML Platform Engineer
|
| 154 |
+
โ
|
| 155 |
+
Principal Engineer / ML Architect / Director of ML
|
| 156 |
+
```
|
| 157 |
+
""")
|
| 158 |
+
st.success("**ํ๋ถ ์กธ์
ํ ์ง์
๊ฐ๋ฅ!** ๋ถํธ์บ ํ + ํฌํธํด๋ฆฌ์ค๋ก 1~2๋
๋ด ์ทจ์
์ฌ๋ก ๋ค์.")
|
| 159 |
+
|
| 160 |
+
with tab_jd:
|
| 161 |
+
st.subheader("JD ๋ณํ: 2014 โ 2024")
|
| 162 |
+
|
| 163 |
+
# Researcher JD
|
| 164 |
+
st.markdown("#### AI Researcher")
|
| 165 |
+
jd_r = pd.DataFrame({
|
| 166 |
+
"์๊ตฌ์ฌํญ": ["ํ๋ ฅ", "์ฃผ๋ ฅ ๊ธฐ์ ", "ํ๋ ์์ํฌ", "๋
ผ๋ฌธ ๊ธฐ๋๋", "GPU ๊ฒฝํ", "LLM ๊ด๋ จ"],
|
| 167 |
+
"2014๋
": ["๋ฐ์ฌ ํ์", "SVM, Random Forest, ๋ฒ ์ด์ฆ", "Theano, Caffe, Matlab",
|
| 168 |
+
"1~2ํธ ์ด์", "์ฐ๋", "์ธ๊ธ ์์"],
|
| 169 |
+
"2024๋
": ["๋ฐ์ฌ ๊ฑฐ์ ํ์ (์์ฌ+์ค์ ์ธ์ ์ผ๋ถ)", "Transformer, LLM, Diffusion, RLHF",
|
| 170 |
+
"PyTorch (ํ์ค), JAX", "3ํธ ์ด์ (1์ ์ ์ฐ๋)",
|
| 171 |
+
"์์ฒ GPU ํ์ต ๊ฒฝํ ํ์", "RLHF, RAG, Alignment ์ดํด"],
|
| 172 |
+
})
|
| 173 |
+
st.dataframe(jd_r.set_index("์๊ตฌ์ฌํญ"), use_container_width=True)
|
| 174 |
+
|
| 175 |
+
st.markdown("#### AI Engineer")
|
| 176 |
+
jd_e = pd.DataFrame({
|
| 177 |
+
"์๊ตฌ์ฌํญ": ["์ง๋ฌด ๋ช
์นญ", "์ฃผ๋ ฅ ์
๋ฌด", "๋ฐ์ดํฐ", "๋ฐฐํฌ", "๋ชจ๋ํฐ๋ง", "LLM"],
|
| 178 |
+
"2014๋
": ["Data Scientist, ML Scientist", "๋ชจ๋ธ ํ์ต, ํผ์ฒ ์์ง๋์ด๋ง",
|
| 179 |
+
"Hadoop, Hive, MapReduce", "์๋ ๋ฐฐํฌ, ์คํฌ๋ฆฝํธ",
|
| 180 |
+
"๊ฑฐ์ ์์", "์ธ๊ธ ์์"],
|
| 181 |
+
"2024๋
": ["ML Engineer, AI Engineer, MLOps Engineer",
|
| 182 |
+
"LLM ํ์ธํ๋, RAG ํ์ดํ๋ผ์ธ, ๋ชจ๋ธ ์๋น",
|
| 183 |
+
"Spark, dbt, ๋ฐ์ดํฐ ๋ ์ดํฌํ์ฐ์ค", "CI/CD, Kubernetes, GitOps",
|
| 184 |
+
"MLflow, Grafana, ํผ์ฒ ์คํ ์ด ํ์",
|
| 185 |
+
"OpenAI/Anthropic API, HuggingFace ํ์ฉ"],
|
| 186 |
+
})
|
| 187 |
+
st.dataframe(jd_e.set_index("์๊ตฌ์ฌํญ"), use_container_width=True)
|
| 188 |
+
|
| 189 |
+
# Skill change visualization
|
| 190 |
+
st.markdown("#### 2024๋
์๋ก ์๊ธด ํ์ ์คํฌ")
|
| 191 |
+
new_skills = {
|
| 192 |
+
"LLM ํ์ธํ๋ (LoRA/QLoRA)": 95,
|
| 193 |
+
"Vector Database": 88,
|
| 194 |
+
"RAG ๊ตฌํ": 90,
|
| 195 |
+
"LLM ํ๊ฐ/๋ฒค์น๋งํน": 75,
|
| 196 |
+
"AI ์์ ์ฑ/Alignment": 70,
|
| 197 |
+
"์์ด์ ํธ ํ๋ ์์ํฌ": 80,
|
| 198 |
+
"ํ๋กฌํํธ ์ต์ ํ": 85,
|
| 199 |
+
}
|
| 200 |
+
fig = px.bar(
|
| 201 |
+
x=list(new_skills.values()),
|
| 202 |
+
y=list(new_skills.keys()),
|
| 203 |
+
orientation='h',
|
| 204 |
+
labels={'x': '์์ ์ง์ (2024)', 'y': '์คํฌ'},
|
| 205 |
+
title='2024๋
์ ๊ท ์๊ตฌ ์ญ๋ ์์ ์ง์',
|
| 206 |
+
color=list(new_skills.values()),
|
| 207 |
+
color_continuous_scale='YlOrRd',
|
| 208 |
+
)
|
| 209 |
+
fig.update_layout(coloraxis_showscale=False)
|
| 210 |
+
st.plotly_chart(fig, use_container_width=True)
|
| 211 |
+
|
| 212 |
+
st.markdown("#### ์ฌ๋ผ์ง ์คํฌ")
|
| 213 |
+
gone = ["Hadoop MapReduce / Hive", "R ์ธ์ด", "MATLAB", "์ ํต NLP (TF-IDF, n-gram)", "HMM"]
|
| 214 |
+
for g in gone:
|
| 215 |
+
st.markdown(f"- ~~{g}~~")
|
| 216 |
+
|
| 217 |
+
with tab_choice:
|
| 218 |
+
st.subheader("๋๋ ์ด๋ค ํธ๋์ด ๋ง์๊น?")
|
| 219 |
+
st.markdown("์๋ ์ง๋ฌธ์ ์์งํ๊ฒ ๋ตํด๋ณด์ธ์.")
|
| 220 |
+
|
| 221 |
+
score = 0
|
| 222 |
+
|
| 223 |
+
q1 = st.radio(
|
| 224 |
+
"1. ์๋ก์ด ์๊ณ ๋ฆฌ์ฆ์ *์* ์๋ํ๋์ง ํ๊ณ ๋๋ ๊ฒ์ด ์ข๋ค.",
|
| 225 |
+
["๋งค์ฐ ๊ทธ๋ ๋ค (+2)", "๊ทธ๋ ๋ค (+1)", "๋ชจ๋ฅด๊ฒ ๋ค (0)", "์๋๋ค (-1)", "์ ํ ์๋๋ค (-2)"],
|
| 226 |
+
)
|
| 227 |
+
score += {"๋งค์ฐ ๊ทธ๋ ๋ค (+2)": 2, "๊ทธ๋ ๋ค (+1)": 1, "๋ชจ๋ฅด๊ฒ ๋ค (0)": 0,
|
| 228 |
+
"์๋๋ค (-1)": -1, "์ ํ ์๋๋ค (-2)": -2}[q1]
|
| 229 |
+
|
| 230 |
+
q2 = st.radio(
|
| 231 |
+
"2. ์ค์ ์๋น์ค์ AI๋ฅผ ์ฌ๋ ค ์ฌ๋๋ค์ด ์ฐ๋ ๊ฒ์ ๋ณด๋ ๊ฒ์ด ์ข๋ค.",
|
| 232 |
+
["๋งค์ฐ ๊ทธ๋ ๋ค (-2)", "๊ทธ๋ ๋ค (-1)", "๋ชจ๋ฅด๊ฒ ๋ค (0)", "์๋๋ค (+1)", "์ ํ ์๋๋ค (+2)"],
|
| 233 |
+
)
|
| 234 |
+
score += {"๋งค์ฐ ๊ทธ๋ ๋ค (-2)": -2, "๊ทธ๋ ๋ค (-1)": -1, "๋ชจ๋ฅด๊ฒ ๋ค (0)": 0,
|
| 235 |
+
"์๋๋ค (+1)": 1, "์ ํ ์๋๋ค (+2)": 2}[q2]
|
| 236 |
+
|
| 237 |
+
q3 = st.radio(
|
| 238 |
+
"3. ๋ฐ์ฌ ๊ณผ์ (4~6๋
)์ ๊ฐ์ํ ์ํฅ์ด ์๋ค.",
|
| 239 |
+
["๊ทธ๋ ๋ค (+3)", "๊ณ ๋ ค ์ค (+1)", "์๋๋ค (-2)"],
|
| 240 |
+
)
|
| 241 |
+
score += {"๊ทธ๋ ๋ค (+3)": 3, "๊ณ ๋ ค ์ค (+1)": 1, "์๋๋ค (-2)": -2}[q3]
|
| 242 |
+
|
| 243 |
+
q4 = st.radio(
|
| 244 |
+
"4. ๋น ๋ฅธ ์ฑ๊ณผ(1~2๋
๋ด ์ทจ์
)๋ฅผ ์ํ๋ค.",
|
| 245 |
+
["๊ทธ๋ ๋ค (-2)", "๋ณดํต (0)", "์๋๋ค (+1)"],
|
| 246 |
+
)
|
| 247 |
+
score += {"๊ทธ๋ ๋ค (-2)": -2, "๋ณดํต (0)": 0, "์๋๋ค (+1)": 1}[q4]
|
| 248 |
+
|
| 249 |
+
q5 = st.radio(
|
| 250 |
+
"5. ์ํ(๋ฏธ์ ๋ถ, ์ ํ๋์, ํต๊ณ)์ด ์ฌ๋ฏธ์๏ฟฝ๏ฟฝ.",
|
| 251 |
+
["๋งค์ฐ ์ฌ๋ฐ๋ค (+2)", "๊ทธ๋ฐ ํธ (+1)", "๋ณดํต (0)", "์ด๋ ต๊ณ ์ซ๋ค (-2)"],
|
| 252 |
+
)
|
| 253 |
+
score += {"๋งค์ฐ ์ฌ๋ฐ๋ค (+2)": 2, "๊ทธ๋ฐ ํธ (+1)": 1, "๋ณดํต (0)": 0, "์ด๋ ต๊ณ ์ซ๋ค (-2)": -2}[q5]
|
| 254 |
+
|
| 255 |
+
st.markdown("---")
|
| 256 |
+
if st.button("๊ฒฐ๊ณผ ๋ณด๊ธฐ", use_container_width=True):
|
| 257 |
+
if score >= 4:
|
| 258 |
+
st.success(f"""
|
| 259 |
+
**์ ์: {score}์ โ AI Researcher ์งํฅ**
|
| 260 |
+
|
| 261 |
+
์ํ๊ณผ ์ด๋ก ์ ๋ํ ๊น์ ๊ด์ฌ, ์ฅ๊ธฐ ์ฐ๊ตฌ์ ๋ํ ๊ฐ์ค๊ฐ ์์ต๋๋ค.
|
| 262 |
+
๋ํ์ ์งํ์ ๋ชฉํ๋ก ๊ธฐ์ด ์ํ๊ณผ ๋
ผ๋ฌธ ์ฝ๊ธฐ๋ฅผ ์ง๊ธ ์์ํ์ธ์.
|
| 263 |
+
""")
|
| 264 |
+
elif score <= -2:
|
| 265 |
+
st.info(f"""
|
| 266 |
+
**์ ์: {score}์ โ AI Engineer ์งํฅ**
|
| 267 |
+
|
| 268 |
+
๋น ๋ฅธ ์ฑ๊ณผ์ ์ค์ฉ์ ์ธ ์ ํ ๊ฐ๋ฐ์ ๋ ๋ง๋ ์ฑํฅ์
๋๋ค.
|
| 269 |
+
ํฌํธํด๋ฆฌ์ค ํ๋ก์ ํธ๋ฅผ ์์ผ๋ฉฐ MLOps ์คํฌ์ ์ตํ์ธ์.
|
| 270 |
+
""")
|
| 271 |
+
else:
|
| 272 |
+
st.warning(f"""
|
| 273 |
+
**์ ์: {score}์ โ ์์ง ํ์ ์ค**
|
| 274 |
+
|
| 275 |
+
Engineer ํธ๋์ผ๋ก ๋จผ์ ์์ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
|
| 276 |
+
์ค์ ํ๋ก์ ํธ๋ฅผ ํตํด ํฅ๋ฏธ๋ฅผ ํ์ธํ ๋ค ๋ฐฉํฅ์ ๊ฒฐ์ ํ์ธ์.
|
| 277 |
+
""")
|
| 278 |
+
|
| 279 |
+
st.markdown("> **์
๋ฌธ์ ์กฐ์ธ**: ์ฒ์์๋ **Engineer ํธ๋**์ผ๋ก ์์ํ์ธ์. "
|
| 280 |
+
"์ทจ์
๊น์ง ๊ธฐ๊ฐ์ด ์งง๊ณ , ํ์ ์ฅ๋ฒฝ์ด ๋ฎ์ต๋๋ค. "
|
| 281 |
+
"Researcher๋ก์ ์ ํ์ ํ์ฅ ๊ฒฝํ ํ์๋ ๊ฐ๋ฅํฉ๋๋ค.")
|