File size: 1,875 Bytes
c6e7a78 e833ff7 c6e7a78 e833ff7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | ---
title: WygLore Leaf Korean NER
sdk: gradio
app_file: app.py
pinned: false
---
# WygLore Leaf โ Korean NER endpoint
`wl-ko-ner-v2` (RP ๋๋ฉ์ธ ์ ์) ONNX ๋ฅผ CPU ๋ก ์๋น. ํ๊ตญ์ด ํ
์คํธ -> ์ํฐํฐ ์คํฌ (PS / LC / OG / DT / TI / QT).
- **์ฉ๋**: WygLore Leaf ํ๋ฌ๊ทธ์ธ์ *๋ชจ๋ฐ์ผ ์ ๋ฉ๋ชจ๋ฆฌ ํด๋ฐฑ* โ on-device ๋ก ๋ชจ๋ธ(215-430MB)์ ๋ชป ์ฌ๋ฆฌ๋ ๊ธฐ๊ธฐ๊ฐ ์ด ์๋ํฌ์ธํธ์ *NER ์ถ๋ก ๋ง* ์์. canon-์ต์ปค / POS ํํฐ / assemble ์ ํ๋ฌ๊ทธ์ธ JS ๊ฐ ๊ทธ๋๋ก ์ํ.
- **๋ชจ๋ธ**: [m6dd8m/wl-ko-ner-v2](https://huggingface.co/m6dd8m/wl-ko-ner-v2) (CC-BY-SA-4.0). ํ ํฌ๋์ด์ ๋ base `monologg/koelectra-base-v3-discriminator`.
- **์ถ๋ ฅ ๋ชจ์**: on-device `ner.js` ์ ๋์ผ โ `[{text, type, score, start, end}, ...]`.
- **API** (FastAPI, ํ ๋ฐฉ JSON):
- `POST /extract` โ `{"text":"..."}` -> `{"entities":[{text,type,score,start,end}, ...]}`
- `POST /extract_batch` โ `{"texts":[...]}` -> `{"results":[[...], ...]}` (์ฝ๋์คํํธ ๋ฐฐ์น, max 512)
- `GET /health` -> `{ok, model, onnx}` ยท `GET /docs` -> ์ธํฐ๋ํฐ๋ธ Swagger UI
- UI(ํ
์คํธ์ฉ)๋ `/` ๊ทธ๋๋ก. ํ๋ฌ๊ทธ์ธ์ `/extract` ๋ฅผ `host.nativeFetch` ๋ก ํธ์ถ. โป fastapi/uvicorn ์ gradio ์์กด์ฑ์ด๋ผ requirements ๋ถ์.
## ํ๊ณ / TODO (ํ๋ก๋์
์ )
- ๋ฌด๋ฃ CPU Space: 48h *๋ฌดํธ๋ํฝ* ์ sleep -> ์ฒซ ์์ฒญ ~30-60s wake (์ผ์ผ ํธ๋ํฝ ์์ผ๋ฉด ๊ณ์ ๊นจ์ด์์).
- abuse ๋ณดํธ ์์ (public URL) โ rate-limit / ํ ํฐ์ FastAPI ์ด์ฃผ ์ ์ถ๊ฐ.
- ํ๋ผ์ด๋ฒ์: ํ
์คํธ๊ฐ HF ์ธํ๋ผ ๊ฒฝ์ (ํด๋ผ์ฐ๋-LLM ์ ์ ๋ฌด๋ฐฉ / ๋ก์ปฌ Ollama ์ ์์ -๋ก์ปฌ์ ๊นจ์ง / NER=ํ๊น
์ด๋ผ ์์ฑ ToS ๋ฆฌ์คํฌ ๋ฎ์).
- ์ฒซ ๋ถํ
๋ก๊ทธ(`[boot] ...`)์์ (a) ์ด๋ค onnx ๊ฐ ์ ํ๋๋์ง, (b) `id2label` ์ด `B-PS..` ์ธ์ง(=์ ์) `LABEL_0..` ์ธ์ง(=๋ผ๋ฒจ๋งต ํ์) ํ์ธ.
|