Spaces:
Sleeping
Sleeping
Update templates/index.html
Browse files- templates/index.html +0 -185
templates/index.html
CHANGED
@@ -88,191 +88,6 @@
|
|
88 |
|
89 |
|
90 |
|
91 |
-
<div class="image-section">
|
92 |
-
<div id="image-modality-header" class="image-header">{{ image_type | default('์๋ฃ ์์', true) }}
|
93 |
-
</div> <!-- Updated: ID added, initial text changed -->
|
94 |
-
<div id="image-container" class="image-container"> <!-- Container for relative positioning -->
|
95 |
-
<img id="report-image" src="" alt="์๋ฃ ์์" style="display: none;">
|
96 |
-
<div id="image-loading" class="loading" style="display: none;">์ด๋ฏธ์ง ๋ก๋ฉ ์ค...</div>
|
97 |
-
<div id="image-error" class="error-message" style="display: none;"></div>
|
98 |
-
</div>
|
99 |
-
<div id="ct-image-note" class="image-note">
|
100 |
-
์ด๊ฒ์ CT์ ๋จ์ผ ์ฌ๋ผ์ด์ค๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๋ณด๊ณ ์์ ๋ชจ๋ ์์๋ฅผ ์๊ฐํํ ์๋ ์์ต๋๋ค.
|
101 |
-
</div>
|
102 |
-
</div>
|
103 |
-
|
104 |
-
<div class="report-section">
|
105 |
-
<div id="app-loading" class="loading" style="display: none;">๋ณด๊ณ ์ ์์ธ ์ ๋ณด ๋ก๋ฉ ์ค...</div>
|
106 |
-
<div id="app-error" class="error-message" style="display: none;"></div>
|
107 |
-
<div class="explanation-section">
|
108 |
-
<div id="explanation-output" class="explanation-box">
|
109 |
-
<div id="explanation-loading" class="loading">์ค๋ช
์ ์์ฑํ๊ณ ์์ต๋๋ค... ์ ์๋ง ๊ธฐ๋ค๋ ค์ฃผ์ธ์.</div>
|
110 |
-
<div class="explanation-header">์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ
|
111 |
-
</div>
|
112 |
-
<div id="explanation-content">
|
113 |
-
๋ฌธ์ฅ์ ํด๋ฆญํ๋ฉด ์ฌ๊ธฐ์ ์ค๋ช
์ด ํ์๋ฉ๋๋ค.
|
114 |
-
</div>
|
115 |
-
</div>
|
116 |
-
</div>
|
117 |
-
<div class="report-text-area">
|
118 |
-
<div id="report-text-display" >
|
119 |
-
<!-- Report text will be loaded here -->
|
120 |
-
๋ณด๊ณ ์๋ฅผ ์ ํํ๋ฉด ํ
์คํธ๊ฐ ํ์๋ฉ๋๋ค.
|
121 |
-
</div>
|
122 |
-
<div class="floating-disclaimer">
|
123 |
-
<span class="material-symbols-outlined disclaimer-icon">warning</span>
|
124 |
-
<span class="disclaimer-text">์ด ๋ฐ๋ชจ๋ MedGemma์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ค๋ช
ํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก๋ง ์ ๊ณต๋ฉ๋๋ค. ์์ฑ๋๊ฑฐ๋ ์น์ธ๋ ์ ํ์ ๋ํ๋ด์ง ์์ผ๋ฉฐ, ์ง๋ณ์ด๋ ์ํ๋ฅผ ์ง๋จํ๊ฑฐ๋ ์น๋ฃ๋ฅผ ์ ์ํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋ฉฐ, ์ํ์ ์กฐ์ธ์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.</span>
|
125 |
-
</div>
|
126 |
-
</div>
|
127 |
-
</div>
|
128 |
-
<!-- Embed available reports data for JavaScript -->
|
129 |
-
<script id="reports-data" type="application/json">
|
130 |
-
{{ available_reports | tojson | safe }}
|
131 |
-
</script>
|
132 |
-
<div id="explanation-error" class="error-message" style="display: none;"></div>
|
133 |
-
</div>
|
134 |
-
|
135 |
-
<!-- Immersive Info Dialog -->
|
136 |
-
<div id="immersive-info-dialog" class="dialog-overlay" style="display: none;" role="dialog" aria-modal="true"
|
137 |
-
aria-labelledby="dialog-title">
|
138 |
-
<div class="dialog-box">
|
139 |
-
<button id="dialog-close-button" class="dialog-close-btn" aria-label="๋ํ์์ ๋ซ๊ธฐ">
|
140 |
-
<span class="material-symbols-outlined">close</span>
|
141 |
-
</button>
|
142 |
-
<h2 id="dialog-title" class="dialog-title-text">์ด ๋ฐ๋ชจ์ ๋ํ ์์ธ ์ ๋ณด</h2>
|
143 |
-
<div class="dialog-body-scrollable">
|
144 |
-
<p><b>๋ชจ๋ธ:</b> ์ด ๋ฐ๋ชจ๋ ๊ตฌ๊ธ์ MedGemma-4B๋ฅผ ๋
์ ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ด๋ Gemma 3 ๊ธฐ๋ฐ ๋ชจ๋ธ๋ก, ํ๋ถ X-๋ ์ด์ ๊ฐ์ ์๋ฃ ํ
์คํธ ๋ฐ ์ด๋ฏธ์ง๋ฅผ ์ดํดํ๋๋ก ๋ฏธ์ธ ์กฐ์ ๋์์ต๋๋ค. ์๋ฃ ๋ฐ์ดํฐ์ ๊ณ ๊ธ ํด์์ ์ ๊ณตํ์ฌ AI ๊ธฐ๋ฐ ์๋ฃ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ๊ฐ์ํํ๋ MedGemma์ ๋ฅ๋ ฅ์ ๋ณด์ฌ์ค๋๋ค.</p>
|
145 |
-
<p><b>๋ชจ๋ธ ์ ๊ทผ ๋ฐ ์ฌ์ฉ:</b> ๊ตฌ๊ธ์ MedGemma-4B๋ <a
|
146 |
-
href="https://huggingface.co/google/medgemma-4b-it" target="_blank">HuggingFace<img
|
147 |
-
class="hf-logo"
|
148 |
-
src="https://huggingface.co/datasets/huggingface/brand-assets/resolve/main/hf-logo.svg">
|
149 |
-
</a>์
|
150 |
-
<a href="https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/medgemma" target="_blank">Model
|
151 |
-
Garden <img class="hf-logo"
|
152 |
-
src="https://www.gstatic.com/cloud/images/icons/apple-icon.png"></a>์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
|
153 |
-
๋ชจ๋ธ ์ฌ์ฉ ๋ฐ ์ ํ ์ฌํญ์ ๋ํ ์์ธํ ๋ด์ฉ์ <a
|
154 |
-
href="https://developers.google.com/health-ai-developer-foundations?referral=rad_explain"
|
155 |
-
target="_blank">HAI-DEF
|
156 |
-
๊ฐ๋ฐ์ ์ฌ์ดํธ</a>์์ ํ์ธํ์ธ์.
|
157 |
-
</p>
|
158 |
-
<p><b>Health AI Developer Foundations (HAI-DEF)</b>๋ ๊ฐ๋ฐ์๊ฐ ์๋ฃ ๋ถ์ผ์ฉ AI ๋ชจ๋ธ์ ๊ตฌ์ถํ ์ ์๋๋ก ํ๋ ์คํ ์จ์ดํธ ๋ชจ๋ธ ๋ฐ ๊ด๋ จ ๋ฆฌ์์ค ๋ชจ์์ ์ ๊ณตํฉ๋๋ค.</p>
|
159 |
-
<p><b>๋ฐ๋ชจ๊ฐ ๋ง์์ ๋์
จ๋์?</b> ์ฌ๋ฌ๋ถ์ ํผ๋๋ฐฑ์ ๊ธฐ๏ฟฝ๏ฟฝ๋ฆฝ๋๋ค! ์ด ๋ฐ๋ชจ๊ฐ ๋์์ด ๋์๋ค๋ฉด, ์๋จ์ ๋งํฌ๋ HuggingFace ํ์ด์ง์์ โก ๋ฒํผ์ ํด๋ฆญํ์ฌ ๊ฐ์ฌ์ ๋ง์์ ํํํด์ฃผ์ธ์.</p>
|
160 |
-
<p><b>๋ ๋ง์ ๋ฐ๋ชจ ํ์:</b> HuggingFace Spaces ๋๋ Colab์ ํตํด ์ถ๊ฐ ๋ฐ๋ชจ๋ฅผ ํ์ธํ์ธ์:
|
161 |
-
</p>
|
162 |
-
<ul>
|
163 |
-
<li><a href="https://huggingface.co/spaces/google/cxr-foundation-demo?referral=rad_explain"
|
164 |
-
target="_blank">
|
165 |
-
CXR Foundations ๋ฐ๋ชจ <img class="hf-logo"
|
166 |
-
src="https://huggingface.co/datasets/huggingface/brand-assets/resolve/main/hf-logo.svg"></a>
|
167 |
-
-
|
168 |
-
๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ ๋ฐ์ดํฐ ํจ์จ์ ์ด๊ณ ์ ๋ก์ท CXR ์ด๋ฏธ์ง ๋ถ๋ฅ๋ฅผ ๋ณด์ฌ์ค๋๋ค.</li>
|
169 |
-
<li><a href="https://huggingface.co/spaces/google/path-foundation-demo?referral=rad_explain"
|
170 |
-
target="_blank">
|
171 |
-
Path Foundations ๋ฐ๋ชจ <img class="hf-logo"
|
172 |
-
src="https://huggingface.co/datasets/huggingface/brand-assets/resolve/main/hf-logo.svg"></a>
|
173 |
-
-
|
174 |
-
๋ธ๋ผ์ฐ์ ์์ ์คํ๋๋ ๋ฐ์ดํฐ ํจ์จ์ ์ธ ๋ถ๋ฅ ๋ฐ ๋ณ๋ฆฌ ์ฌ๋ผ์ด๋ ๋ด ์ด์์น ํ์ง๋ฅผ ๊ฐ์กฐํฉ๋๋ค.</li>
|
175 |
-
<li><a href="https://github.com/Google-Health/medgemma/tree/main/notebooks/fine_tune_with_hugging_face.ipynb" target="_blank">
|
176 |
-
MedGemma ๋ฏธ์ธ ์กฐ์ Colab <img class="hf-logo"
|
177 |
-
src="https://upload.wikimedia.org/wikipedia/commons/d/d0/Google_Colaboratory_SVG_Logo.svg"></a>
|
178 |
-
-
|
179 |
-
์ด ๋ชจ๋ธ์ ๋ฏธ์ธ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์์ ๋ฅผ ํ์ธํ์ธ์.</li>
|
180 |
-
</ul>
|
181 |
-
</div>
|
182 |
-
</div>
|
183 |
-
</div>
|
184 |
-
</body>
|
185 |
-
|
186 |
-
</html><!DOCTYPE html>
|
187 |
-
|
188 |
-
<html lang="ko">
|
189 |
-
|
190 |
-
<head>
|
191 |
-
<meta charset="UTF-8">
|
192 |
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
193 |
-
<title>๋ฐฉ์ฌ์ ๋ณด๊ณ ์ ์ค๋ช
๋๊ตฌ</title>
|
194 |
-
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
|
195 |
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
196 |
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
197 |
-
<link
|
198 |
-
href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500&family=Google+Sans+Text:wght@500&display=swap"
|
199 |
-
rel="stylesheet">
|
200 |
-
<link
|
201 |
-
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,[email protected],100..700,0..1,-50..200"
|
202 |
-
rel="stylesheet">
|
203 |
-
<!-- Link to the correct JS file -->
|
204 |
-
<script src="https://unpkg.com/compromise" defer></script>
|
205 |
-
<script src="{{ url_for('static', filename='js/demo.js') }}" defer></script>
|
206 |
-
</head>
|
207 |
-
|
208 |
-
<body>
|
209 |
-
<div class="info">
|
210 |
-
<!-- New Info Page Content -->
|
211 |
-
<div class="info-page-container">
|
212 |
-
<div class="info-content">
|
213 |
-
<div class="info-header">
|
214 |
-
<span class="info-title-demo">๋ฐฉ์ฌ์ ์ค๋ช
๋๊ตฌ ๋ฐ๋ชจ</span><br>
|
215 |
-
<span class="info-title-demo info-subtitle-demo">๊ธฐ๋ฐ ๊ธฐ์ :</span>
|
216 |
-
<span class="info-title-med info-subtitle-demo">MedGemma</span>
|
217 |
-
</div>
|
218 |
-
<div class="info-text">๋ฐฉ์ฌ์ ์์๊ณผ์ ์ํธ์์ฉ์ด ํ์ต์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ ๊ต์ก ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด๋ณด์ธ์. ์ด ๋ฐ๋ชจ๋ MedGemma๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐฉ์ฌ์ ์์๊ณผ ๊ด๋ จ ๋ณด๊ณ ์๋ฅผ ์ฌ์ด ์ธ์ด๋ก ๋ฒ์ญํ๊ณ , ์์์ ๊ด๋ จ ์์ญ์ ์๊ฐ์ ์ผ๋ก ๊ฐ์กฐํ์ฌ ํ์ํ ์ ์๋ ์ ์ฉํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.</div>
|
219 |
-
<div class="info-disclaimer-text"><span class="info-disclaimer-title">๋ฉด์ฑ
์กฐํญ</span> ์ด ๋ฐ๋ชจ๋ ์ค๋ช
๋ชฉ์ ์ผ๋ก๋ง ์ ๊ณต๋๋ฉฐ ์์ฑ๋๊ฑฐ๋ ์น์ธ๋ ์ ํ์ ๋ํ๋ด์ง ์์ต๋๋ค. ํ์ง, ์์ ์ฑ ๋๋ ํจ๋ฅ์ ๋ํ ๊ท์ ์ด๋ ํ์ค ์ค์๋ฅผ ๋ํ๋ด์ง ์์ต๋๋ค. ์ค์ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ์ถ๊ฐ ๊ฐ๋ฐ, ๊ต์ก ๋ฐ ์ ์์ด ํ์ํฉ๋๋ค. ์ด ๋ฐ๋ชจ์์ ๊ฐ์กฐ๋ ๊ฒฝํ์ ํ์๋ ์์
์ ๋ํ MedGemma์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ๊ฐ๋ฐ์์ ์ฌ์ฉ์๊ฐ ๊ฐ๋ฅํ ์์ฉ ํ๋ก๊ทธ๋จ์ ํ์ํ๊ณ ์ถ๊ฐ ๊ฐ๋ฐ์ ์๊ฐ์ ์ฃผ๋๋ก ๋๊ธฐ ์ํ ๊ฒ์
๋๋ค.</div>
|
220 |
-
<button class="info-button" id="view-demo-button">๋ฐ๋ชจ ๋ณด๊ธฐ</button>
|
221 |
-
</div>
|
222 |
-
</div>
|
223 |
-
</div>
|
224 |
-
<div class="main">
|
225 |
-
<div class="nav-button nav-button-back" id="back-to-info-button">
|
226 |
-
<div class="nav-button-inner">
|
227 |
-
<span class="material-symbols-outlined nav-button-icon">keyboard_arrow_left</span>
|
228 |
-
<span class="nav-button-text">๋ค๋ก</span>
|
229 |
-
</div>
|
230 |
-
</div>
|
231 |
-
<div class="case-selector-tabs-container" id="case-selector-tabs-container">
|
232 |
-
<div>X-๋ ์ด</div>
|
233 |
-
<div class="case-selector-tabs" id="case-selector-tabs">
|
234 |
-
{% if available_reports %}
|
235 |
-
{% for report in available_reports %}
|
236 |
-
{% if report.image_type == 'CXR' %}
|
237 |
-
<div class="nav-button nav-button-case" data-report-name="{{ report.name }}">
|
238 |
-
<div class="nav-button-inner">
|
239 |
-
<span class="nav-button-text">{{ report.name }}</span>
|
240 |
-
</div>
|
241 |
-
</div>
|
242 |
-
{% endif %}
|
243 |
-
{% endfor %}
|
244 |
-
{% else %}
|
245 |
-
<span class="no-cases-available">์ฌ์ฉ ๊ฐ๋ฅํ ์ผ์ด์ค๊ฐ ์์ต๋๋ค</span>
|
246 |
-
{% endif %}
|
247 |
-
</div>
|
248 |
-
|
249 |
-
<div>CT</div>
|
250 |
-
<div class="case-selector-tabs" id="case-selector-tabs2">
|
251 |
-
{% if available_reports %}
|
252 |
-
{% for report in available_reports %}
|
253 |
-
{% if report.image_type == 'CT' %}
|
254 |
-
<div class="nav-button nav-button-case" data-report-name="{{ report.name }}">
|
255 |
-
<div class="nav-button-inner">
|
256 |
-
<span class="nav-button-text">{{ report.name }}</span>
|
257 |
-
</div>
|
258 |
-
</div>
|
259 |
-
{% endif %}
|
260 |
-
{% endfor %}
|
261 |
-
{% else %}
|
262 |
-
<span class="no-cases-available">์ฌ์ฉ ๊ฐ๋ฅํ ์ผ์ด์ค๊ฐ ์์ต๋๋ค</span>
|
263 |
-
{% endif %}
|
264 |
-
</div>
|
265 |
-
|
266 |
-
</div>
|
267 |
-
<div class="nav-button nav-button-info" id="info-button">
|
268 |
-
<div class="nav-button-inner">
|
269 |
-
<span class="material-symbols-outlined nav-button-icon">code_blocks</span>
|
270 |
-
<span class="nav-button-text">์ด ๋ฐ๋ชจ์ ๋ํ ์์ธ ์ ๋ณด</span>
|
271 |
-
</div>
|
272 |
-
</div>
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
<div class="image-section">
|
277 |
<div id="image-modality-header" class="image-header">{{ image_type | default('์๋ฃ ์์', true) }}
|
278 |
</div> <!-- Updated: ID added, initial text changed -->
|
|
|
88 |
|
89 |
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
<div class="image-section">
|
92 |
<div id="image-modality-header" class="image-header">{{ image_type | default('์๋ฃ ์์', true) }}
|
93 |
</div> <!-- Updated: ID added, initial text changed -->
|