Upload folder using huggingface_hub
Browse files- eval/eval_example.py +259 -0
- eval/prompts.py +628 -0
- eval/results.md +50 -0
- eval/test_data_2041.jsonl +0 -0
eval/eval_example.py
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
DLM-NL2JSON-4B โ Evaluation Script (Simplified)
|
| 3 |
+
|
| 4 |
+
Evaluates the model on the provided test set using an OpenAI-compatible API endpoint.
|
| 5 |
+
Measures per-category exact match accuracy and average latency.
|
| 6 |
+
|
| 7 |
+
Usage:
|
| 8 |
+
# Against vLLM / TensorRT-LLM served model
|
| 9 |
+
python eval_example.py \
|
| 10 |
+
--data test_data_lite_200.jsonl \
|
| 11 |
+
--base-url http://your-server:8006/v1 \
|
| 12 |
+
--model qwen3_4b_6th_norag \
|
| 13 |
+
--api-key token-abc123 \
|
| 14 |
+
--disable-thinking
|
| 15 |
+
|
| 16 |
+
# Against OpenAI API (GPT-4o baseline)
|
| 17 |
+
export OPENAI_API_KEY="sk-..."
|
| 18 |
+
python eval_example.py \
|
| 19 |
+
--data test_data_lite_200.jsonl \
|
| 20 |
+
--model gpt-4o
|
| 21 |
+
"""
|
| 22 |
+
|
| 23 |
+
import json, re, time, argparse, os
|
| 24 |
+
from collections import Counter
|
| 25 |
+
from typing import Dict, Any, List
|
| 26 |
+
|
| 27 |
+
# โโ Prompts โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 28 |
+
# Import from prompts.py (must be in the same directory)
|
| 29 |
+
from prompts import (
|
| 30 |
+
SYS_CSM_DEFAULT,
|
| 31 |
+
SYS_CREDIT_DEFAULT,
|
| 32 |
+
SYS_GIS_DEFAULT,
|
| 33 |
+
SYS_ALP_DEFAULT,
|
| 34 |
+
SYS_CPI_DEFAULT,
|
| 35 |
+
)
|
| 36 |
+
|
| 37 |
+
# โโ Category โ (special_token, system_prompt) โโโโโโโโโโโโ
|
| 38 |
+
TASK_MAP = {
|
| 39 |
+
0: ("<TASK_ALP>", SYS_ALP_DEFAULT), # ALP-A (pattern)
|
| 40 |
+
1: ("<TASK_ALP>", SYS_ALP_DEFAULT), # ALP-B (flow)
|
| 41 |
+
2: ("<TASK_CSM>", SYS_CSM_DEFAULT), # CSM (consumer spending)
|
| 42 |
+
3: ("<TASK_CREDIT>", SYS_CREDIT_DEFAULT), # CREDIT-Income
|
| 43 |
+
4: ("<TASK_CREDIT>", SYS_CREDIT_DEFAULT), # CREDIT-Spending
|
| 44 |
+
5: ("<TASK_CREDIT>", SYS_CREDIT_DEFAULT), # CREDIT-Loan/Default
|
| 45 |
+
6: ("<TASK_CPI>", SYS_CPI_DEFAULT), # CPI (business status)
|
| 46 |
+
9: ("<TASK_GIS>", SYS_GIS_DEFAULT), # GIS-Inflow
|
| 47 |
+
10: ("<TASK_GIS>", SYS_GIS_DEFAULT), # GIS-Outflow
|
| 48 |
+
11: ("<TASK_GIS>", SYS_GIS_DEFAULT), # GIS-Consumption
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
CAT_NAMES = {
|
| 52 |
+
0: "ALP-A(ptrn)", 1: "ALP-B(flow)", 2: "CSM",
|
| 53 |
+
3: "CREDIT-Income", 4: "CREDIT-Spending", 5: "CREDIT-Loan",
|
| 54 |
+
6: "CPI", 9: "GIS-Inflow", 10: "GIS-Outflow", 11: "GIS-Consumption",
|
| 55 |
+
}
|
| 56 |
+
|
| 57 |
+
# โโ Required keys per category (for comparison) โโโโโโโโโ
|
| 58 |
+
REQUIRED_KEYS = {
|
| 59 |
+
0: ["base_ym", "region_nm", "ptrn", "sex_cd", "age_cd", "category"],
|
| 60 |
+
1: ["base_ym", "region_nm", "flow_cd", "sex_cd", "age_cd", "category"],
|
| 61 |
+
2: ["base_ym", "region_nm", "industry_select", "sex_cd", "age_cd", "category"],
|
| 62 |
+
3: ["base_ym", "region_nm", "job_cd", "perc_cd", "sex_cd", "age_cd", "category"],
|
| 63 |
+
4: ["base_ym", "region_nm", "job_cd", "perc_cd", "sex_cd", "age_cd", "category"],
|
| 64 |
+
5: ["base_ym", "region_nm", "job_cd", "perc_cd", "sex_cd", "age_cd", "category"],
|
| 65 |
+
6: ["base_ym", "region_nm", "bzc_cd", "cp_cd", "enp_cd", "category"],
|
| 66 |
+
9: ["region_nm", "base_ym", "region_count", "category"],
|
| 67 |
+
10: ["region_nm", "base_ym", "region_count", "category"],
|
| 68 |
+
11: ["region_nm", "base_ym", "industry_category", "category"],
|
| 69 |
+
}
|
| 70 |
+
|
| 71 |
+
|
| 72 |
+
# โโ Normalization helpers โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 73 |
+
def norm_int_list(v):
|
| 74 |
+
if not isinstance(v, list):
|
| 75 |
+
return v
|
| 76 |
+
out = []
|
| 77 |
+
for x in v:
|
| 78 |
+
try:
|
| 79 |
+
out.append(int(float(str(x).strip())))
|
| 80 |
+
except Exception:
|
| 81 |
+
continue
|
| 82 |
+
return sorted(set(out))
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
def norm_dict_of_lists(d):
|
| 86 |
+
"""Normalize industry_select or bzc_cd: {str_key: [int, ...]}"""
|
| 87 |
+
if not isinstance(d, dict):
|
| 88 |
+
return d
|
| 89 |
+
return {str(k).upper() if len(str(k)) == 1 and str(k).isalpha() else str(k):
|
| 90 |
+
norm_int_list(arr) if isinstance(arr, list) else arr
|
| 91 |
+
for k, arr in d.items()}
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
def normalize(obj: Dict[str, Any], cat: int) -> Dict[str, Any]:
|
| 95 |
+
"""Normalize prediction/gold for fair comparison (summary excluded)."""
|
| 96 |
+
o = dict(obj)
|
| 97 |
+
o.pop("summary", None)
|
| 98 |
+
|
| 99 |
+
for k in ["base_ym", "region_count", "category"]:
|
| 100 |
+
if k in o and isinstance(o[k], str):
|
| 101 |
+
try:
|
| 102 |
+
o[k] = int(o[k])
|
| 103 |
+
except ValueError:
|
| 104 |
+
pass
|
| 105 |
+
|
| 106 |
+
for k in ["sex_cd", "age_cd", "job_cd", "perc_cd", "ptrn",
|
| 107 |
+
"industry_category", "cp_cd", "enp_cd"]:
|
| 108 |
+
if k in o:
|
| 109 |
+
o[k] = norm_int_list(o[k])
|
| 110 |
+
|
| 111 |
+
if "flow_cd" in o and isinstance(o["flow_cd"], list):
|
| 112 |
+
o["flow_cd"] = norm_int_list(o["flow_cd"])
|
| 113 |
+
|
| 114 |
+
for k in ["industry_select", "bzc_cd"]:
|
| 115 |
+
if k in o:
|
| 116 |
+
o[k] = norm_dict_of_lists(o[k])
|
| 117 |
+
|
| 118 |
+
if "region_count" in o:
|
| 119 |
+
try:
|
| 120 |
+
o["region_count"] = max(1, min(10, int(o["region_count"])))
|
| 121 |
+
except (ValueError, TypeError):
|
| 122 |
+
pass
|
| 123 |
+
|
| 124 |
+
return o
|
| 125 |
+
|
| 126 |
+
|
| 127 |
+
def extract_first_json(text: str):
|
| 128 |
+
start = text.find("{")
|
| 129 |
+
if start == -1:
|
| 130 |
+
return None
|
| 131 |
+
depth = 0
|
| 132 |
+
for i in range(start, len(text)):
|
| 133 |
+
if text[i] == "{":
|
| 134 |
+
depth += 1
|
| 135 |
+
elif text[i] == "}":
|
| 136 |
+
depth -= 1
|
| 137 |
+
if depth == 0:
|
| 138 |
+
return text[start:i + 1]
|
| 139 |
+
return None
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
def compare(pred: Dict, gold: Dict, cat: int):
|
| 143 |
+
req = REQUIRED_KEYS.get(cat, [])
|
| 144 |
+
diff = {}
|
| 145 |
+
for k in req:
|
| 146 |
+
if pred.get(k, "<MISSING>") != gold.get(k, "<MISSING>"):
|
| 147 |
+
diff[k] = {"pred": pred.get(k), "gold": gold.get(k)}
|
| 148 |
+
return len(diff) == 0, diff
|
| 149 |
+
|
| 150 |
+
|
| 151 |
+
# โโ Main โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 152 |
+
def main():
|
| 153 |
+
ap = argparse.ArgumentParser(description="DLM-NL2JSON-4B Evaluation")
|
| 154 |
+
ap.add_argument("--data", required=True, help="Test JSONL file path")
|
| 155 |
+
ap.add_argument("--base-url", default=None, help="OpenAI-compatible base URL")
|
| 156 |
+
ap.add_argument("--model", required=True, help="Model name")
|
| 157 |
+
ap.add_argument("--api-key", default=os.environ.get("OPENAI_API_KEY", ""), help="API key")
|
| 158 |
+
ap.add_argument("--disable-thinking", action="store_true",
|
| 159 |
+
help="Pass chat_template_kwargs to disable Qwen3 thinking mode")
|
| 160 |
+
ap.add_argument("--max-tokens", type=int, default=512)
|
| 161 |
+
ap.add_argument("--per-cat", type=int, default=999, help="Max samples per category")
|
| 162 |
+
args = ap.parse_args()
|
| 163 |
+
|
| 164 |
+
import openai
|
| 165 |
+
client = openai.OpenAI(
|
| 166 |
+
base_url=args.base_url or None,
|
| 167 |
+
api_key=args.api_key or "dummy",
|
| 168 |
+
timeout=60.0,
|
| 169 |
+
)
|
| 170 |
+
|
| 171 |
+
# Load test data
|
| 172 |
+
with open(args.data, encoding="utf-8") as f:
|
| 173 |
+
raw = [json.loads(line) for line in f]
|
| 174 |
+
|
| 175 |
+
# Group by category and sample
|
| 176 |
+
from collections import defaultdict
|
| 177 |
+
by_cat = defaultdict(list)
|
| 178 |
+
for item in raw:
|
| 179 |
+
out = item["output"] if isinstance(item["output"], dict) else json.loads(item["output"])
|
| 180 |
+
cat = out["category"]
|
| 181 |
+
by_cat[cat].append({"input": item["input"], "gold": out})
|
| 182 |
+
|
| 183 |
+
samples = []
|
| 184 |
+
for cat in sorted(by_cat):
|
| 185 |
+
items = by_cat[cat][:args.per_cat]
|
| 186 |
+
samples.extend([(cat, ex) for ex in items])
|
| 187 |
+
|
| 188 |
+
print(f"[INFO] Evaluating {len(samples)} samples across {len(by_cat)} categories\n")
|
| 189 |
+
|
| 190 |
+
# Evaluate
|
| 191 |
+
ok_counts, total_counts = Counter(), Counter()
|
| 192 |
+
latency_sums = Counter()
|
| 193 |
+
|
| 194 |
+
for idx, (cat, ex) in enumerate(samples, 1):
|
| 195 |
+
user_in = ex["input"].strip()
|
| 196 |
+
gold_norm = normalize(ex["gold"], cat)
|
| 197 |
+
|
| 198 |
+
tag, sys_prompt = TASK_MAP[cat]
|
| 199 |
+
messages = [
|
| 200 |
+
{"role": "system", "content": sys_prompt},
|
| 201 |
+
{"role": "user", "content": f"{tag}\n{user_in}"},
|
| 202 |
+
]
|
| 203 |
+
|
| 204 |
+
kwargs = dict(model=args.model, messages=messages,
|
| 205 |
+
max_tokens=args.max_tokens, temperature=0.0)
|
| 206 |
+
if args.disable_thinking:
|
| 207 |
+
kwargs["extra_body"] = {"chat_template_kwargs": {"enable_thinking": False}}
|
| 208 |
+
|
| 209 |
+
t0 = time.perf_counter()
|
| 210 |
+
try:
|
| 211 |
+
resp = client.chat.completions.create(**kwargs)
|
| 212 |
+
gen = resp.choices[0].message.content
|
| 213 |
+
except Exception as e:
|
| 214 |
+
dt = time.perf_counter() - t0
|
| 215 |
+
total_counts[cat] += 1
|
| 216 |
+
latency_sums[cat] += dt
|
| 217 |
+
print(f"[{idx:04d}] {CAT_NAMES.get(cat, cat)} | ERROR: {e}")
|
| 218 |
+
continue
|
| 219 |
+
|
| 220 |
+
dt = time.perf_counter() - t0
|
| 221 |
+
total_counts[cat] += 1
|
| 222 |
+
latency_sums[cat] += dt
|
| 223 |
+
|
| 224 |
+
json_str = extract_first_json(gen) or gen.strip()
|
| 225 |
+
try:
|
| 226 |
+
pred_obj = json.loads(json_str)
|
| 227 |
+
except json.JSONDecodeError:
|
| 228 |
+
print(f"[{idx:04d}] {CAT_NAMES.get(cat, cat)} | PARSE_FAIL | {dt:.2f}s")
|
| 229 |
+
continue
|
| 230 |
+
|
| 231 |
+
pred_norm = normalize(pred_obj, cat)
|
| 232 |
+
ok, diff = compare(pred_norm, gold_norm, cat)
|
| 233 |
+
if ok:
|
| 234 |
+
ok_counts[cat] += 1
|
| 235 |
+
|
| 236 |
+
status = "OK" if ok else f"FAIL {list(diff.keys())}"
|
| 237 |
+
print(f"[{idx:04d}] {CAT_NAMES.get(cat, cat)} | {status} | {dt:.2f}s")
|
| 238 |
+
|
| 239 |
+
# Summary
|
| 240 |
+
print("\n" + "=" * 50)
|
| 241 |
+
print("EVALUATION SUMMARY")
|
| 242 |
+
print("=" * 50)
|
| 243 |
+
total_ok = total_all = 0
|
| 244 |
+
for c in sorted(total_counts):
|
| 245 |
+
ok = ok_counts[c]
|
| 246 |
+
tot = total_counts[c]
|
| 247 |
+
acc = ok / tot if tot else 0
|
| 248 |
+
avg_lat = latency_sums[c] / tot if tot else 0
|
| 249 |
+
total_ok += ok
|
| 250 |
+
total_all += tot
|
| 251 |
+
print(f" {CAT_NAMES.get(c, c):20s}: {ok:4d}/{tot:4d} acc={acc:.1%} avg={avg_lat:.3f}s")
|
| 252 |
+
|
| 253 |
+
overall_acc = total_ok / total_all if total_all else 0
|
| 254 |
+
overall_lat = sum(latency_sums.values()) / total_all if total_all else 0
|
| 255 |
+
print(f" {'OVERALL':20s}: {total_ok:4d}/{total_all:4d} acc={overall_acc:.1%} avg={overall_lat:.3f}s")
|
| 256 |
+
|
| 257 |
+
|
| 258 |
+
if __name__ == "__main__":
|
| 259 |
+
main()
|
eval/prompts.py
ADDED
|
@@ -0,0 +1,628 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
SYS_CSM_DEFAULT = """\
|
| 2 |
+
๋๋ ๋ฐ๋์ **JSON ํ ์ค**๋ง ์ถ๋ ฅํ๋ค. ์ค๋ช
/ํ
์คํธ/์ฝ๋ฉํธ/๋งํฌ๋ค์ด/์ฝ๋๋ธ๋ก/์ด๋ชจ์ง/๊ณต๋ฐฑ ์ค ๊ธ์ง. ์ถ๋ ฅ์ ํญ์ **{ ๋ก ์์**ํ๊ณ **} ๋ก ๋**๋๋ค.
|
| 3 |
+
|
| 4 |
+
[์คํค๋ง: TASK_CSM] (ํค/ํ์
/์์ ์์)
|
| 5 |
+
{"summary":string,"base_ym":int,"region_nm":string,"industry_select":object,"sex_cd":[int],"age_cd":[int],"category":2}
|
| 6 |
+
- ํค ์์: summary, base_ym, region_nm, industry_select, sex_cd, age_cd, category
|
| 7 |
+
- category ๊ฐ์ ํญ์ 2
|
| 8 |
+
|
| 9 |
+
[์ ์ฉ ๋ฒ์]
|
| 10 |
+
- ๋ณธ ์คํค๋ง๋ **์๋น/์
์ข
๊ธฐ๋ฐ ๋ถ์** ์์ฒญ๋ง ์ฒ๋ฆฌํ๋ค. "์ ์
/์ ์
/์ ์ถ/์ ์ถ" ๋ฑ **ํ๋ฆ ํค์๋๊ฐ ํ๋๋ผ๋** ์์ด๋ฉด ์ด ์คํค๋ง๋ฅผ ์ ๋ ์ฌ์ฉํ์ง ์๋๋ค.
|
| 11 |
+
|
| 12 |
+
[๊ฐ ํ๋ผ๋ฏธํฐ์ ๊ธฐ๋ณธ๊ฐ]
|
| 13 |
+
- base_ym: 0 (์ฐ๋ ์ธ๊ธ ์์ด '์'๋ง ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์ )
|
| 14 |
+
- region_nm: "๋ถ์ฐ๊ด์ญ์"
|
| 15 |
+
- industry_select: ์
์ข
๋ฏธ์ง์ ์ ๋ชจ๋ ๋๋ถ๋ฅ ํค๋ฅผ []๋ก ์ค์ (์ ์
์ข
์๋ฏธ)
|
| 16 |
+
โ {"1":[],"2":[],"3":[],"4":[],"5":[],"6":[],"7":[],"8":[],"9":[],"10":[],"11":[]}
|
| 17 |
+
- sex_cd: [0,1]
|
| 18 |
+
- age_cd: [10,20,30,40,50,60,70]
|
| 19 |
+
|
| 20 |
+
[์ ๊ทํ ๊ท์น]
|
| 21 |
+
- ์์ (base_ym): ๊ธฐ์ค๋
๋ 2025๋
๊ณ ์ . "YYYY๋
M์", "YYYY-MM", "YY/MM" ๋ฑ์ **YYYYMM 6์๋ฆฌ ์ ์**๋ก ๋ณํ. ์์ผ๋ฉด 0. ์ฐ๋ ์ธ๊ธ์ด ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์ .
|
| 22 |
+
- ์ง์ญ(region_nm): ํ์ ๊ตฌ์ญ ๋ช
์นญ๋ง ์ ์ง(๊ทผ์ฒ/์ฃผ๋ณ/์ธ๊ทผ/์ ์ฒด ๋ฑ ๋น์ ํ ์ ๊ฑฐ). "๋ถ์ฐ/๋ถ์ฐ์"๋ "๋ถ์ฐ๊ด์ญ์"๋ก ํต์ผ. ๊ตฌ/๊ตฐ/์ยท๋ฉดยท๋ ์ธ๊ธ ์ "๋ถ์ฐ๊ด์ญ์ {๊ตฌ/๊ตฐ} {์/๋ฉด/๋}" ํ์.
|
| 23 |
+
- ์ฑ๋ณ(sex_cd): ๋จ์ฑ=[0], ์ฌ์ฑ=[1], ๋จ๋
/์ ์ฒด/๋ฏธ์ง์ =[0,1]
|
| 24 |
+
- ์ฐ๋ น(age_cd): 10ยท20ยทโฆยท70๋๋ ํด๋น 10๋จ์ ํ๋([20]). ๋ฒ์๋ ๋ฑ๊ฐ๊ฒฉ ํ์ฅ(์: "20~40๋"โ[20,30,40]). ์ด์/์ดํ/์ดยท์คยทํ๋ฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด 10๋จ์๋ก ๋งคํ(์: "20๋ ํ๋ฐ"โ[20]). ์ ์ฐ๋ น/๋ฏธ์ง์ =[10,20,30,40,50,60,70]. ์ค๋ณต ์ ๊ฑฐยท์ค๋ฆ์ฐจ์.
|
| 25 |
+
|
| 26 |
+
[industry_select ์์ฑ ๊ท์น (์๊ฒฉ JSON)]
|
| 27 |
+
- ํ์ฉ **๋๋ถ๋ฅ ํค(๋ฌธ์์ด)**: "1","2","3","4","5","6","7","8","9","10","11" ์ด์ธ **๊ธ์ง**.
|
| 28 |
+
- ๊ฐ ํค์ **๊ฐ**: ์ ์ ๋ฐฐ์ด(์ค๋ถ๋ฅ ์ฝ๋). **[]๋ ๊ทธ ๋๋ถ๋ฅ์ ๋ชจ๋ ์ค๋ถ๋ฅ**๋ฅผ ์๋ฏธ.
|
| 29 |
+
- ***๋ฐ๋์ ํ ๊ฐ ์ด์์ ๋๋ถ๋ฅ key๊ฐ ์กด์ฌ***ํด์ผ ํ๋ค. (์
์ข
๋ฏธ์ง์ ์ด๋ฉด ์ ๋๋ถ๋ฅ ํค๋ฅผ []๋ก ์ถ๋ ฅ)
|
| 30 |
+
- **์ต์ํํ ์์น**: ์ฌ์ฉ์๊ฐ ์ธ๊ธํ **๋๋ถ๋ฅ๋ง** ํค๋ก ์ถ๋ ฅํ๋ค. (๋ฏธ์ง์ ์ด๋ฉด ์ ๋๋ถ๋ฅ)
|
| 31 |
+
- ์ฌ์ฉ์๊ฐ **์ค๋ถ๋ฅ ์ผ๋ถ๋ง** ์ธ๊ธํ๋ฉด ํด๋น ๋ฐฐ์ด์ **์ธ๊ธ๋ ์ฝ๋๋ง** ๋ฃ๋๋ค(์ค๋ฆ์ฐจ์ยท์ค๋ณต ์ ๊ฑฐ).
|
| 32 |
+
- **ํฌํจ/์ ์ธ ํผ์ฌ ์ฒ๋ฆฌ**:
|
| 33 |
+
1) ํฌํจ ํ๋ณด ์งํฉ์ ๊ตฌ์ฑ(์ธ๊ธ๋ ์ค๋ถ๋ฅ/์ ์ฒด),
|
| 34 |
+
2) "์ ์ธ/๋นผ๊ณ " ์ง์๋ ์ฝ๋(๋๋ ๋ช
์นญ์ ๋์ํ๋ ์ฝ๋)๋ฅผ ์ ๊ฑฐ,
|
| 35 |
+
3) ๊ฒฐ๊ณผ๊ฐ **๊ณต์งํฉ**์ด๋ฉด ํด๋น ๋๋ถ๋ฅ **ํค ์์ฒด๋ฅผ ์ญ์ **ํ๋ค(๋น ๋ฐฐ์ด๊ณผ ๊ตฌ๋ถ).
|
| 36 |
+
- ๋ชจํธํ์ฌ ์ฝ๋ ์ถ์ ๋ถ๊ฐ ์: ํด๋น ๋๋ถ๋ฅ ํค๋ง ๋๊ณ ๊ฐ์ []๋ก ๋๋ค.
|
| 37 |
+
- ์กด์ฌํ์ง ์๋ ํค/์ฝ๋ ์ถ๋ ฅ **๊ธ์ง**.
|
| 38 |
+
|
| 39 |
+
[๋๋ถ๋ฅ/์ค๋ถ๋ฅ ์ฝ๋ํ]
|
| 40 |
+
1 ์ฌํ/์๋ฐ: [101 ์๋ฐ์
, 102 ์ฌํ์
]
|
| 41 |
+
2 ์ฌ๊ฐ/๋ฌธํ: [203 ๋ ์ ธ์ฉํ, 204 ๋ฌธํ/์ทจ๋ฏธ, 205 ๋ ์ ธ์
์, 206 ์์ /๋ฌธ๊ตฌ]
|
| 42 |
+
3 ์ ํต(=์ผํ): [307 ๋ฐฑํ์ , 308 ๋ํํ ์ธ์ , 309 ํธ์์ , 310 ์ํผ๋ง์ผ, 311 ๊ธฐํ์ ํต, 312 ์จ๋ผ์ธ์ ํต, 313 ์ํ๊ถ]
|
| 43 |
+
4 ์์/์ฃผ์ : [414 ํ์, 415 ์ผ์, 416 ์ค์, 417 ์์, 418 ๊ธฐํ์์, 419 ์ ํฅ, 420 ์ฃผ์ ]
|
| 44 |
+
5 ์์๋ฃํ: [521 ์์๋ฃํ/์ ๊ณผ, 522 ๋์ถ์์ฐํ, 523 ๊ฑด๊ฐ์ํ]
|
| 45 |
+
6 ์๋ฅ/์กํ: [624 ์๋ฅ, 625 ํจ์
์กํ]
|
| 46 |
+
7 ๋ฏธ์ฉ: [726 ๋ฏธ์ฉ, 727 ํ์ฅํ]
|
| 47 |
+
8 ์๋ฃ: [828 ์ข
ํฉ๋ณ์, 829 ์๋ฃ๊ธฐ๊ด, 830 ํ์์/ํ๋ฐฉ๋ณ์, 831 ์น๊ณผ, 832 ์ ์ฝํ์ฌ, 833 ์ฝ๊ตญ, 834 ๊ธฐํ์๋ฃ]
|
| 48 |
+
9 ๊ต์ก: [935 ํ์]
|
| 49 |
+
10 ์ํ: [1036 ๊ฐ๊ตฌ, 1037 ๊ฐ์ ์ ํ, 1038 ์ํ์ฉํ, 1039 ์ฃผ์ /์ฐ๋ฃ, 1040 ์ฌ๋ฌด/ํต์ ๊ธฐ๊ธฐ, 1041 ์๋น์ค, 1042 ์ธํ
๋ฆฌ์ด, 1043 ๊ธฐํ์ฉํ]
|
| 50 |
+
11 ์๋์ฐจ: [1144 ์๋์ฐจํ๋งค, 1145 ์๋์ฐจ์ ๋น/์ ์ง]
|
| 51 |
+
|
| 52 |
+
[summary ์์ฑ ๊ท์น]
|
| 53 |
+
- base_ym โ 0: "##YYYY๋
M์ {region_nm} {์
์ข
์์ฝ} ์๋น๋ถ์##"
|
| 54 |
+
- base_ym = 0: "##{region_nm} {์
์ข
์์ฝ} ์๋น๋ถ์##"
|
| 55 |
+
- {์
์ข
์์ฝ} ์์ฑ:
|
| 56 |
+
โข ๋ชจ๋ ๋๋ถ๋ฅ๊ฐ [] โ "์ ์
์ข
"
|
| 57 |
+
โข ๋จ์ผ ๋๋ถ๋ฅ โ ๊ทธ ๋๋ถ๋ฅ๋ช
(์ ํ์ ๋ช
์นญ)
|
| 58 |
+
โข 2๊ฐ ์ด์ โ "{๋๋ถ๋ฅ1/๋๋ถ๋ฅ2/โฆ}" ํ์ (์: "์ ํต/์์/์ฃผ์ ")
|
| 59 |
+
|
| 60 |
+
[์ถ๋ ฅ ๊ท์น]
|
| 61 |
+
- base_ym ์ ๋ฐ๋์ 6์๋ฆฌ ์ ์(YYYYMM)๋ก ์ถ๋ ฅ. ๋
๋ ์ธ๊ธ์ด ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์ .
|
| 62 |
+
- ํค ์์ ๊ณ ์ : summary, base_ym, region_nm, industry_select, sex_cd, age_cd, category
|
| 63 |
+
- **summary, category ํ์**
|
| 64 |
+
- null/None/"null"/๋ถ๋ฆฐ/๋ฌธ์์ด ์ซ์/์์์ ๋ฑ **ํ์
์๋ฐ ๊ธ์ง**
|
| 65 |
+
- industry_select ์ ๋ฐธ๋ฅ๊ฐ ๋ชจ๋ null ๊ธ์ง. ๋ฐ๋์ ์ต์ 1๊ฐ ๋๋ถ๋ฅ ํฌํจ.
|
| 66 |
+
- **JSON ํ ์ค**๋ง ์ถ๋ ฅ
|
| 67 |
+
|
| 68 |
+
[์์ โ ์ ๋ต]
|
| 69 |
+
- ์
๋ ฅ: "4์ ๋ถ์ฐ๊ด์ญ์ ์์/์ฃผ์ ๋จ์ฑ 60๋ ๊ฐ๋จํ"
|
| 70 |
+
์ถ๋ ฅ: {"summary":"##2025๋
4์ ๋ถ์ฐ๊ด์ญ์ ์์/์ฃผ์ ์๋น๋ถ์##","base_ym":202504,"region_nm":"๋ถ์ฐ๊ด์ญ์","industry_select":{"4":[]},"sex_cd":[0],"age_cd":[60],"category":2}
|
| 71 |
+
- ์
๋ ฅ: "๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ ์ ํต-์จ๋ผ์ธ์ ํต๋ง ๋จ๋
์ ์ฒด ์ ์ฐ๋ น"
|
| 72 |
+
์ถ๋ ฅ: {"summary":"##๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ ์ ํต ์๋น๋ถ์##","base_ym":0,"region_nm":"๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ","industry_select":{"3":[312]},"sex_cd":[0,1],"age_cd":[10,20,30,40,50,60,70],"category":2}
|
| 73 |
+
- ์
๋ ฅ: "7์ ๋ถ์ฐ๊ด์ญ์ ๊ธ์ ๊ตฌ ์ ํต/์๋ฅยท์กํ ์ฌ์ฑ 20,30๋"
|
| 74 |
+
์ถ๋ ฅ: {"summary":"##2025๋
7์ ๋ถ์ฐ๊ด์ญ์ ๊ธ์ ๊ตฌ ์ ํต/์๋ฅ/์กํ ์๋น๋ถ์##","base_ym":202507,"region_nm":"๋ถ์ฐ๊ด์ญ์ ๊ธ์ ๊ตฌ","industry_select":{"3":[],"6":[]},"sex_cd":[1],"age_cd":[20,30],"category":2}
|
| 75 |
+
- ์
๋ ฅ: "2024๋
12์ ๋ถ์ฐ๊ด์ญ์ ๋จ๊ตฌ ์๋ฃ ์ค ์น๊ณผ/์ฝ๊ตญ๋ง"
|
| 76 |
+
์ถ๋ ฅ: {"summary":"##2024๋
12์ ๋ถ์ฐ๊ด์ญ์ ๋จ๊ตฌ ์๋ฃ ์๋น๋ถ์##","base_ym":202412,"region_nm":"๋ถ์ฐ๊ด์ญ์ ๋จ๊ตฌ","industry_select":{"8":[831,833]},"sex_cd":[0,1],"age_cd":[10,20,30,40,50,60,70],"category":2}
|
| 77 |
+
- ์
๋ ฅ: "๋ถ์ฐ๊ด์ญ์ ์ ์
์ข
๋จ๋
์ ์ฒด 40๋,50๋"
|
| 78 |
+
์ถ๋ ฅ: {"summary":"##๋ถ์ฐ๊ด์ญ์ ์ ์
์ข
์๋น๋ถ์##","base_ym":0,"region_nm":"๋ถ์ฐ๊ด์ญ์","industry_select":{"1":[],"2":[],"3":[],"4":[],"5":[],"6":[],"7":[],"8":[],"9":[],"10":[],"11":[]},"sex_cd":[0,1],"age_cd":[40,50],"category":2}
|
| 79 |
+
"""
|
| 80 |
+
|
| 81 |
+
SYS_CREDIT_DEFAULT = """\
|
| 82 |
+
๋๋ ๋ฐ๋์ **JSON ํ ์ค**๋ง ์ถ๋ ฅํ๋ค. ์ค๋ช
/ํ
์คํธ/์ฝ๋ฉํธ/๋งํฌ๋ค์ด/์ฝ๋๋ธ๋ก/์ด๋ชจ์ง/๊ณต๋ฐฑ ์ค ๊ธ์ง. ์ถ๋ ฅ์ ํญ์ **{ ๋ก ์์**ํ๊ณ **} ๋ก ๋**๋๋ค.
|
| 83 |
+
|
| 84 |
+
[์คํค๋ง: ๊ฐ์ธ์ ์ฉ ํตํฉ] (ํค/ํ์
/์์ ์์)
|
| 85 |
+
{"summary":string,"base_ym":int,"region_nm":string,"job_cd":[int],"perc_cd":[int],"sex_cd":[int],"age_cd":[int],"category":int}
|
| 86 |
+
- ํค ์์: summary, base_ym, region_nm, job_cd, perc_cd, sex_cd, age_cd, category
|
| 87 |
+
|
| 88 |
+
[category ์ ์]
|
| 89 |
+
- ์๋ํต๊ณ=3, ์๋นํต๊ณ=4, ๋์ถ ๋ฐ ์ฐ์ฒด=5
|
| 90 |
+
- **์๋โcategory ๋งคํ ๊ท์น**
|
| 91 |
+
โข 5(๋์ถยท์ฐ์ฒด) ํค์๋: ๋์ถ, ์ฐ์ฒด, ์ฐ์ฒด์จ, ์ฑ๋ฌด, ๋ถ์ฑ, ์ํ, ์นด๋๋ก , ํ๊ธ์๋น์ค, ์ ์ฉ๋์ถ
|
| 92 |
+
โข 3(์๋) ํค์๋: ์๋, ๊ทผ๋ก์๋, ์๊ธ, ๊ธ์ฌ, ์ฐ๋ด, ๊ฐ์ฒ๋ถ์๋
|
| 93 |
+
โข 4(์๋น) ํค์๋: ์๋น, ์ง์ถ, ๊ฒฐ์ , ์นด๋์ด์ฉ, ์ฌ์ฉ์ก, ์
์ข
๋ณ ์๋น
|
| 94 |
+
โข ์ฌ๋ฌ ์งํฉ์ด ๋์์ ๋ฑ์ฅํ๋ฉด **์ฐ์ ์์ 5 > 3 > 4**๋ฅผ ์ ์ฉ
|
| 95 |
+
โข ๋ช
์/์ถ์ ๋ถ๊ฐ ์ ๊ธฐ๋ณธ๊ฐ **4**
|
| 96 |
+
|
| 97 |
+
[๊ฐ ํ๋ผ๋ฏธํฐ์ ๊ธฐ๋ณธ๊ฐ]
|
| 98 |
+
- base_ym: 0, (์ฐ๋ ์ธ๊ธ์ด ์์ด '์'๋ง ์ธ๊ธ๋๋ฉด 2025๋
์ผ๋ก ์ถ์ )
|
| 99 |
+
- region_nm: "๋ถ์ฐ๊ด์ญ์"
|
| 100 |
+
- job_cd: [0,1,2] (0=๊ธ์ฌ, 1=์์์
, 2=๊ธฐํ)
|
| 101 |
+
- perc_cd: [0,1,2,3,4,5,6,7,8,9] (1~10๋ถ์ โ 0~9๋ก ๋งคํ)
|
| 102 |
+
- sex_cd: [0,1] (๋จ=0, ์ฌ=1)
|
| 103 |
+
- age_cd: [10,20,30,40,50,60,70]
|
| 104 |
+
|
| 105 |
+
[์ ๊ทํ ๊ท์น]
|
| 106 |
+
- ์์ (base_ym): ๊ธฐ์ค๋
๋ 2025๋
๊ณ ์ . YYYY๋
M์, YYYY-MM, YY/MM ๋ฑ์ YYYYMM ์ ์๋ก ๋ณํ. ์์ผ๋ฉด 0. ์ฐ๋ ์ธ๊ธ์ด ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์
|
| 107 |
+
- region_nm: "๋ถ์ฐ/๋ถ์ฐ์/๋ถ์ฐ๊ด์ญ์"๋ "๋ถ์ฐ๊ด์ญ์" ์ ๋๋ก ํต์ผ. ๊ตฌ/๊ตฐ ์ธ๊ธ ์ "๋ถ์ฐ๊ด์ญ์ {๊ตฌ/๊ตฐ}".
|
| 108 |
+
- job_cd: "๊ธ์ฌ/๊ทผ๋ก์/์ง์ฅ์ธ"โ0, "์์์
/์ฌ์
์/ํ๋ฆฌ๋์"โ1, ๊ธฐํ/๋ฏธ์ง์ โ[0,1,2]
|
| 109 |
+
- perc_cd:
|
| 110 |
+
โข "n๋ถ์"๋ n-1๋ก ๋งคํ(์: 3๋ถ์โ2)
|
| 111 |
+
โข "x~y๋ถ์"๋ [x-1, ..., y-1]
|
| 112 |
+
โข ๋ฏธ์ง์ /๋ถ์ผ์น๋ [0..9]
|
| 113 |
+
โข ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด 0~9๋ก **ํด๋จํ**
|
| 114 |
+
โข ์ค๋ฆ์ฐจ์ยท์ค๋ณต ์ ๊ฑฐ
|
| 115 |
+
- sex_cd: ๋จ์ฑ=[0], ์ฌ์ฑ=[1], ๋จ๋
/์ ์ฒด/๋ฏธ์ง์ =[0,1]
|
| 116 |
+
- age_cd: 10ยท20ยทโฆยท70๋๋ ํด๋น 10๋จ์ ํ๋([20]). "20~40๋"โ[20,30,40]. ์ ์ฐ๋ น/๋ฏธ์ง์ =[10,20,30,40,50,60,70]. ์ค๋ฆ์ฐจ์ยท์ค๋ณต ์ ๊ฑฐ.
|
| 117 |
+
|
| 118 |
+
[summary ์์ฑ ๊ท์น]
|
| 119 |
+
- base_ym โ 0: "##YYYY๋
M์ {region_nm} {์นดํ
๊ณ ๋ฆฌ๋ช
}##"
|
| 120 |
+
- base_ym = 0: "##{region_nm} {์นดํ
๊ณ ๋ฆฌ๋ช
}##"
|
| 121 |
+
- ์นดํ
๊ณ ๋ฆฌ๋ช
: {3:"์๋ํต๊ณ", 4:"์๋นํต๊ณ", 5:"๋์ถ ๋ฐ ์ฐ์ฒด"}
|
| 122 |
+
|
| 123 |
+
[์ถ๋ ฅ ๊ท์น]
|
| 124 |
+
- ํค ์์ ๊ณ ์ : summary, base_ym, region_nm, job_cd, perc_cd, sex_cd, age_cd, category
|
| 125 |
+
- **summary, category ํ์**
|
| 126 |
+
- null/None/"null"/๋ถ๋ฆฐ/๋ฌธ์์ด ์ซ์/์์์ ๋ฑ **ํ์
์๋ฐ ๊ธ์ง**
|
| 127 |
+
- **JSON ํ ์ค**๋ง ์ถ๋ ฅ
|
| 128 |
+
- base_ym ์ ๋ฐ๋์ 6์๋ฆฌ ์ ์๋ก ์ถ๋ ฅ. ๋
๋ ์ธ๊ธ์ด ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์ .
|
| 129 |
+
|
| 130 |
+
[์์ โ ์ ๋ต]
|
| 131 |
+
- ์
๋ ฅ: "๋ถ์ฐ 5์์ ์๋ 3๋ถ์ ๋จ์ฑ 30๋"
|
| 132 |
+
์ถ๋ ฅ: {"summary":"##2025๋
5์ ๋ถ์ฐ๊ด์ญ์ ์๋ํต๊ณ##","base_ym":202505,"region_nm":"๋ถ์ฐ๊ด์ญ์","job_cd":[0,1,2],"perc_cd":[2],"sex_cd":[0],"age_cd":[30],"category":3}
|
| 133 |
+
- ์
๋ ฅ: "11์ ๋ถ์ฐ๊ด์ญ์ ๋์ถ ๋ฐ ์ฐ์ฒด ํํฉ ์ฌ์ฑ ์ ์ฐ๋ น"
|
| 134 |
+
์ถ๋ ฅ: {"summary":"##2025๋
11์ ๋ถ์ฐ๊ด์ญ์ ๋์ถ ๋ฐ ์ฐ์ฒด##","base_ym":202511,"region_nm":"๋ถ์ฐ๊ด์ญ์","job_cd":[0,1,2],"perc_cd":[0,1,2,3,4,5,6,7,8,9],"sex_cd":[1],"age_cd":[10,20,30,40,50,60,70],"category":5}
|
| 135 |
+
- ์
๋ ฅ: "12์ ๋ถ์ฐ ์๋นํต๊ณ 20~40๋ ์์์
์"
|
| 136 |
+
์ถ๋ ฅ: {"summary":"##2025๋
12์ ๋ถ์ฐ๊ด์ญ์ ์๋นํต๊ณ##","base_ym":202512,"region_nm":"๋ถ์ฐ๊ด์ญ์","job_cd":[1],"perc_cd":[0,1,2,3,4,5,6,7,8,9],"sex_cd":[0,1],"age_cd":[20,30,40],"category":4}
|
| 137 |
+
"""
|
| 138 |
+
|
| 139 |
+
|
| 140 |
+
#251126 ์ฐ์
๋ถ๋ฅ ํ์ฑ์คํจ๋์
|
| 141 |
+
SYS_GIS_DEFAULT = """\
|
| 142 |
+
๋๋ ๋ฐ๋์ **JSON ํ ์ค**๋ง ์ถ๋ ฅํ๋ค. ์ค๋ช
/๋ฌธ์ฅ/๋งํฌ๋ค์ด/์ฝ๋๋ธ๋ก/์ด๋ชจ์ง/๊ฐํยท์ฌ๋ถ ๊ณต๋ฐฑ ๊ธ์ง. ์ถ๋ ฅ์ ํญ์ { ๋ก ์์ํ๊ณ } ๋ก ๋๋๋ค.
|
| 143 |
+
|
| 144 |
+
[์คํค๋ง (ํค/ํ์
/์์ ์์)]
|
| 145 |
+
1) GIS ์ ์
์ธ๊ตฌ (category=9)
|
| 146 |
+
{"summary":string,"region_nm":string|int,"base_ym":int,"region_count":int,"category":9}
|
| 147 |
+
- ํค ์์: summary, region_nm, base_ym, region_count, category
|
| 148 |
+
|
| 149 |
+
2) GIS ์ ์ถ์ธ๊ตฌ (category=10)
|
| 150 |
+
{"summary":string,"region_nm":string|int,"base_ym":int,"region_count":int,"category":10}
|
| 151 |
+
- ํค ์์: summary, region_nm, base_ym, region_count, category
|
| 152 |
+
|
| 153 |
+
3) GIS ์๋น๋ถ์ (category=11)
|
| 154 |
+
{"summary":string,"region_nm":string|int,"base_ym":int,"industry_category":[int],"category":11}
|
| 155 |
+
- ํค ์์: summary, region_nm, base_ym, industry_category, category
|
| 156 |
+
|
| 157 |
+
|
| 158 |
+
[์คํค๋ง ์ ํ ๊ท์น]
|
| 159 |
+
- **ํ๋ฆ ํค์๋๊ฐ ํ๋๋ผ๋ ํฌํจ๋๋ฉด GIS ํ๋ฆ ์คํค๋ง๋ง ์ฌ์ฉ**ํ๋ค(์๋น ๊ธ์ง).
|
| 160 |
+
โข ์ ์
/์ ์
/inflow/์ ์
๋/์ ์
์ธ๊ตฌ/์ ์
์ถ์ ๋ฑ โ category=9 (์ ์
)
|
| 161 |
+
โข ์ ์ถ/์ ์ถ/outflow/์ ์ถ๋/์ ์ถ์ธ๊ตฌ/์ ์ถ ์ถ์ ๋ฑ โ category=10 (์ ์ถ)
|
| 162 |
+
- ํ๋ฆ ํค์๋๊ฐ ์ ํ ์๊ณ "์๋น/์นด๋/์น์ธ๊ธ์ก/์
์ข
" ๊ธฐ๋ฐ์ด๋ฉด **category=11(GIS ์๋น๋ถ์)**๋ง ์ฌ์ฉํ๋ค.
|
| 163 |
+
- ํ๋ฆยท์๋น ํค์๋๊ฐ ๋์์ ๋ฑ์ฅํ๋ฉด **ํ๋ฆ ์คํค๋ง(9 ๋๋ 10)๋ง** ์ ํํ๊ณ , industry_category๋ ์ ๋ ์ถ๋ ฅํ์ง ์๋๋ค.
|
| 164 |
+
|
| 165 |
+
|
| 166 |
+
[๊ฐ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ๊ฐ]
|
| 167 |
+
- region_nm: "๋ถ์ฐ๊ด์ญ์"
|
| 168 |
+
- base_ym: 0
|
| 169 |
+
โข "YYYY๋
M์", "YYYY-MM", "YYYY.M", "YYYY/M", "YY๋
M์"(โ20YY๋
)๋ง ์ธ์ํด YYYYMM 6์๋ฆฌ ์ ์๋ก ๋ณํ.
|
| 170 |
+
โข "M์"๋ง ์์ ๊ฒฝ์ฐ ์ฐ๋๋ 2025๋
์ผ๋ก ๊ฐ์ (์: "7์"โ202507).
|
| 171 |
+
โข ์ธ์ ๋ถ๊ฐ ๋๋ ์ธ๊ธ ์์ โ 0
|
| 172 |
+
- region_count(ํ๋ฆ ์คํค๋ง: 9,10): ๊ธฐ๋ณธ 5, ํ์ฉ ๋ฒ์ 1~10, ๋ฒ์ ๋ฐ ๊ฐ์ 1~10์ผ๋ก ํด๋จํ.
|
| 173 |
+
- industry_category(์๋น ์คํค๋ง: 11): ์
์ข
์ด ์ ํ ์ธ๊ธ๋์ง ์์ผ๋ฉด **๊ธฐ๋ณธ๊ฐ์ผ๋ก [1,2,3,4,5,6,7,8,9,10,11]**์ ์ฌ์ฉํ๋ค.
|
| 174 |
+
|
| 175 |
+
|
| 176 |
+
[๋๋ถ๋ฅ ์ฝ๋ํ (industry_category)]
|
| 177 |
+
- 1: ์ฌํ/์๋ฐ
|
| 178 |
+
- 2: ์ฌ๊ฐ/๋ฌธํ
|
| 179 |
+
- 3: ์ ํต
|
| 180 |
+
- 4: ์์/์ฃผ์
|
| 181 |
+
- 5: ์์๋ฃํ
|
| 182 |
+
- 6: ์๋ฅ/์กํ
|
| 183 |
+
- 7: ๋ฏธ์ฉ
|
| 184 |
+
- 8: ์๋ฃ
|
| 185 |
+
- 9: ๊ต์ก
|
| 186 |
+
- 10: ์ํ
|
| 187 |
+
- 11: ์๋์ฐจ
|
| 188 |
+
|
| 189 |
+
|
| 190 |
+
[industry_category ์ ๊ทํ ๊ท์น (category=11 ์ ์ฉ)]
|
| 191 |
+
- industry_category๋ **๋๋ถ๋ฅ ์ฝ๋๋ง ์ฌ์ฉ**ํ๋ค. ํ์ฉ๊ฐ์ {1,2,3,4,5,6,7,8,9,10,11} ๋ฟ์ด๋ค.
|
| 192 |
+
- ์ง๋ฌธ์ ์
์ข
์ด ์ ํ ์ธ๊ธ๋์ง ์์ผ๋ฉด:
|
| 193 |
+
โ industry_category = [1,2,3,4,5,6,7,8,9,10,11] (์ ์
์ข
)
|
| 194 |
+
- ์ง๋ฌธ์ "์ ์
์ข
", "์ ์ฒด ์
์ข
", "๋ชจ๋ ์
์ข
" ๋ฑ์ ํํ์ด ์์ผ๋ฉด:
|
| 195 |
+
โ industry_category = [1,2,3,4,5,6,7,8,9,10,11]
|
| 196 |
+
- ์ง๋ฌธ์ ํน์ ์
์ข
(์ฌํ/์๋ฐ, ์ฌ๊ฐ/๋ฌธํ, ์ ํต, ์์/์ฃผ์ , ์์๋ฃํ, ์๋ฅ/์กํ, ๋ฏธ์ฉ, ์๋ฃ, ๊ต์ก, ์ํ, ์๋์ฐจ)์ด
|
| 197 |
+
**ํฌํจ**๋๋ฉด, ํด๋น ์
์ข
์ ๋์๋๋ ์ฝ๋๋ง industry_category์ ๋ฃ๊ณ , ์ค๋ฆ์ฐจ์ยท์ค๋ณต ์ ๊ฑฐ:
|
| 198 |
+
โข ์) "์ ํต/์๋ฃ ๊ธฐ์ค์ผ๋ก" โ [3,8]
|
| 199 |
+
โข ์) "์ฌํ/์๋ฐ, ์๋์ฐจ ์๋น" โ [1,11]
|
| 200 |
+
- ์ง๋ฌธ์ "**X ์
์ข
๋นผ๊ณ /์ ์ธํ๊ณ /์ ์ธํ ๋๋จธ์ง**" ์ ๊ฐ์ด **์ ์ธ** ํํ์ด ์์ผ๋ฉด:
|
| 201 |
+
1) ๋จผ์ ์ ์ฒด [1..11]์ ํ๋ณด๋ก ์ก๊ณ ,
|
| 202 |
+
2) ์ ์ธ ๋์ ์
์ข
์ ์ฝ๋๋ฅผ ํ๋ณด์์ ์ ๊ฑฐํ ๋ค,
|
| 203 |
+
3) ๋จ์ ์ฝ๋๋ค์ ์ค๋ฆ์ฐจ์์ผ๋ก industry_category์ ๋ฃ๋๋ค.
|
| 204 |
+
โข ์) "์์/์ฃผ์ ๋นผ๊ณ " โ [1,2,3,5,6,7,8,9,10,11] (4๋ง ์ ์ธ)
|
| 205 |
+
โข ์) "์ฌํ/์๋ฐ๊ณผ ์๋ฃ ์
์ข
์ ์ ์ธํ๊ณ " โ [2,3,4,5,6,7,9,10,11]
|
| 206 |
+
- ์
์ข
์ด ์ผ๋ถ๋ง ์ธ๊ธ๋๊ณ ๋๋จธ์ง๋ ๋ชจํธํ ๋:
|
| 207 |
+
โข "์ ํตยท์์/์ฃผ์ ์์ฃผ๋ก" โ [3,4] (์ธ๊ธ๋ ๋๋ถ๋ฅ๋ง ์ฌ์ฉ)
|
| 208 |
+
- ์กด์ฌํ์ง ์๋ ์
์ข
๋ช
/์ฝ๋๋ ์ ๋ ์ฌ์ฉํ์ง ๋ง๊ณ , ํด์ ๋ถ๊ฐ๋ฅํ๋ฉด ์
์ข
์ธ๊ธ์ด ์๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ๋ค
|
| 209 |
+
(์ด ๊ฒฝ์ฐ ์ ์
์ข
[1..11] ๋๋ ๋ค๋ฅธ ๋ช
์๋ ๊ท์น์ ๋ฐ๋ฅธ๋ค).
|
| 210 |
+
- industry_category๋ ํญ์ **์ ์ ๋ฐฐ์ด**์ด์ด์ผ ํ๋ฉฐ, ์ค๋ฆ์ฐจ์ยท์ค๋ณต ์ ๊ฑฐ ํ ์ถ๋ ฅํ๋ค.
|
| 211 |
+
|
| 212 |
+
|
| 213 |
+
[summary ์์ฑ ๊ท์น]
|
| 214 |
+
- ์ ์
(9):
|
| 215 |
+
โข base_ym โ 0 โ "##YYYY๋
M์ {region_nm} ์ ์
์ธ๊ตฌ Top{region_count}##"
|
| 216 |
+
โข base_ym = 0 โ "##{region_nm} ์ ์
์ธ๊ตฌ Top{region_count}##"
|
| 217 |
+
- ์ ์ถ(10):
|
| 218 |
+
โข base_ym โ 0 โ "##YYYY๋
M์ {region_nm} ์ ์ถ์ธ๊ตฌ Top{region_count}##"
|
| 219 |
+
โข base_ym = 0 โ "##{region_nm} ์ ์ถ์ธ๊ตฌ Top{region_count}##"
|
| 220 |
+
- ์๋น(11):
|
| 221 |
+
โข base_ym โ 0 โ "##YYYY๋
M์ {region_nm} {์
์ข
์์ฝ} GIS ์๋น๋ถ์##"
|
| 222 |
+
โข base_ym = 0 โ "##{region_nm} {์
์ข
์์ฝ} GIS ์๋น๋ถ์##"
|
| 223 |
+
- {์
์ข
์์ฝ} ์์ฑ ๊ท์น:
|
| 224 |
+
โข industry_category๊ฐ [1..11] ์ ์ฒด โ "์ ์
์ข
"
|
| 225 |
+
โข ๋จ์ผ ์ฝ๋ โ ํด๋น ๋๋ถ๋ฅ๋ช
(์: [3]โ"์ ํต")
|
| 226 |
+
โข ๋ณต์ ์ฝ๋ โ "๋๋ถ๋ฅ๋ช
1/๋๋ถ๋ฅ๋ช
2/โฆ" ํ์ (์: [3,8]โ"์ ํต/์๋ฃ")
|
| 227 |
+
|
| 228 |
+
|
| 229 |
+
[์ถ๋ ฅ ๊ท์น]
|
| 230 |
+
- ์คํค๋ง ํผ์ฉ ๊ธ์ง: 9/10/11 ์ค **ํ๋๋ง** ์ ํํด ์ถ๋ ฅํ๋ค.
|
| 231 |
+
- ํ์ ํ๋:
|
| 232 |
+
โข category=9,10: summary, region_nm, base_ym, region_count, category
|
| 233 |
+
โข category=11: summary, region_nm, base_ym, industry_category, category
|
| 234 |
+
- null/None/"null"/๋ถ๋ฆฐ/๋ฌธ์์ด ์ซ์/์์์ ๋ฑ **ํ์
์๋ฐ ๊ธ์ง**.
|
| 235 |
+
- base_ym์ ํญ์ 6์๋ฆฌ ์ ์(YYYYMM) ๋๋ 0์ด์ด์ผ ํ๋ค.
|
| 236 |
+
- ์ค์ง **JSON ํ ์ค**๋ง ์ถ๋ ฅํ๋ค. ๋ถํ์ํ ๊ณต๋ฐฑยท๊ฐํยท์ค๋ช
ยท๋งํฌ๋ค์ดยท์ฝ๋๋ธ๋ก ๊ธ์ง.
|
| 237 |
+
- region_nm ์ ๋ฐ๋์ "๋ถ์ฐ๊ด์ญ์ ์ ๊ทธ์ดํ ์๊ตฐ๊ตฌ/์๋ฉด๋"์ผ๋ก ํ์ ํ๋ค.
|
| 238 |
+
|
| 239 |
+
[์์ โ ์ ๋ต (Few-shot)]
|
| 240 |
+
|
| 241 |
+
1) ์
์ข
์ผ๋ถ ์ง์ (GIS ์๋น, category=11)
|
| 242 |
+
์ง๋ฌธ: "๋ถ์ฐ๊ด์ญ์ 10์ ์๋น ์ ํต/์๋ฃ ๊ธฐ์ค์ผ๋ก ๋ถ์ํด์ค"
|
| 243 |
+
์ ๋ต: {"summary":"##2025๋
10์ ๋ถ์ฐ๊ด์ญ์ ์ ํต/์๋ฃ GIS ์๋น๋ถ์##","region_nm":"๋ถ์ฐ๊ด์ญ์","base_ym":202510,"industry_category":[3,8],"category":11}
|
| 244 |
+
|
| 245 |
+
2) ์
์ข
๋ฏธ์ง์ = ์ ์
์ข
(GIS ์๋น, category=11)
|
| 246 |
+
์ง๋ฌธ: "๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ ์ฃผ๋ณ ์๋น ์ ์
์ข
๊ธฐ์ค์ผ๋ก ๊ฐ๋จํ"
|
| 247 |
+
์ ๋ต: {"summary":"##๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ ์ ์
์ข
GIS ์๋น๋ถ์##","region_nm":"๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ","base_ym":0,"industry_category":[1,2,3,4,5,6,7,8,9,10,11],"category":11}
|
| 248 |
+
|
| 249 |
+
3) ํน์ ์
์ข
๋ง ์ง์ (GIS ์๋น, category=11)
|
| 250 |
+
์ง๋ฌธ: "2024-07 ๋ถ์ฐ๊ด์ญ์ ๋จ๊ตฌ ๋์ฐ๋ GIS ์๋น ์์/์ฃผ์ /์ํ"
|
| 251 |
+
์ ๋ต: {"summary":"##2024๋
7์ ๋ถ์ฐ๊ด์ญ์ ๋จ๊ตฌ ๋์ฐ๋ ์์/์ฃผ์ /์ํ GIS ์๋น๋ถ์##","region_nm":"๋ถ์ฐ๊ด์ญ์ ๋จ๊ตฌ ๋์ฐ๋","base_ym":202407,"industry_category":[4,10],"category":11}
|
| 252 |
+
|
| 253 |
+
4) ํน์ ์
์ข
์ ์ธ (GIS ์๋น, category=11)
|
| 254 |
+
์ง๋ฌธ: "๋ถ์ฐ๊ด์ญ์ GIS ์๋น๋ถ์์์ ์ ํต๊ณผ ์๋ฃ ์
์ข
๋นผ๊ณ ์ ์ฒด ์
์ข
์ผ๋ก ๋ณด๊ณ ์ถ์ด"
|
| 255 |
+
์ ๋ต: {"summary":"##๋ถ์ฐ๊ด์ญ์ ์ ํฅ/์๋ฃ ์ ์ธ GIS ์๋น๋ถ์##","region_nm":"๋ถ์ฐ๊ด์ญ์","base_ym":0,"industry_category":[1,2,4,5,6,7,9,10,11],"category":11}
|
| 256 |
+
|
| 257 |
+
5) ๋ณต์ ์
์ข
์ ์ธ (GIS ์๋น, category=11)
|
| 258 |
+
์ง๋ฌธ: "2025๋
3์ ๋ถ์ฐ๊ด์ญ์ ์๋น๋ถ์, ์ฌํ/์๋ฐ์ด๋ ์๋ฃ ์
์ข
์ ๋นผ๊ณ ๋๋จธ์ง๋ง"
|
| 259 |
+
์ ๋ต: {"summary":"##2025๋
3์ ๋ถ์ฐ๊ด์ญ์ ์ฌํ/์๋ฐยท์๋ฃ ์ ์ธ GIS ์๋น๋ถ์##","region_nm":"๋ถ์ฐ๊ด์ญ์","base_ym":202503,"industry_category":[2,3,4,5,6,7,9,10,11],"category":11}
|
| 260 |
+
|
| 261 |
+
6) GIS ์ ์
(ํ๋ฆ, category=9) โ ์
์ข
ํ๋ ์์
|
| 262 |
+
์ง๋ฌธ: "๋ถ์ฐ๊ด์ญ์ ๋ถ์ฐ์ง๊ตฌ ์ ์
์ธ๊ตฌ Top3"
|
| 263 |
+
์ ๋ต: {"summary":"##๋ถ์ฐ๊ด์ญ์ ๋ถ์ฐ์ง๊ตฌ ์ ์
์ธ๊ตฌ Top3##","region_nm":"๋ถ์ฐ๊ด์ญ์ ๋ถ์ฐ์ง๊ตฌ","base_ym":0,"region_count":3,"category":9}
|
| 264 |
+
|
| 265 |
+
7) GIS ์ ์ถ(ํ๋ฆ, category=10) โ ์
์ข
ํ๋ ์์
|
| 266 |
+
์ง๋ฌธ: "2024๋
12์ ๋ถ์ฐ๊ด์ญ์ ์ฌํ๊ตฌ ์ ์ถ์ธ๊ตฌ Top8๋ก"
|
| 267 |
+
์ ๋ต: {"summary":"##2024๋
12์ ๋ถ์ฐ๊ด์ญ์ ์ฌํ๊ตฌ ์ ์ถ์ธ๊ตฌ Top8##","region_nm":"๋ถ์ฐ๊ด์ญ์ ์ฌํ๊ตฌ","base_ym":202412,"region_count":8,"category":10}
|
| 268 |
+
"""
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
SYS_ALP_DEFAULT = """
|
| 272 |
+
๋๋ ๋ฐ๋์ **JSON ํ ์ค**๋ง ์ถ๋ ฅํ๋ค. ์ค๋ช
/ํ
์คํธ/์ฝ๋ฉํธ/๋งํฌ๋ค์ด/์ฝ๋๋ธ๋ก/์ด๋ชจ์ง/๊ณต๋ฐฑ ์ค ๊ธ์ง.
|
| 273 |
+
|
| 274 |
+
[์คํค๋ง]
|
| 275 |
+
- A (๋ชฉ์ ๊ธฐ๋ฐ):
|
| 276 |
+
{"summary": string, "base_ym": int, "region_nm": string, "ptrn": [int], "sex_cd": [int], "age_cd": [int], "category": 0}
|
| 277 |
+
- B (์ ์
/์ ์ถ ํ๋ฆ ๊ธฐ๋ฐ):
|
| 278 |
+
{"summary": string, "base_ym": int, "region_nm": string, "flow_cd": int, "sex_cd": [int], "age_cd": [int], "category": 1}
|
| 279 |
+
|
| 280 |
+
[์คํค๋ง ์ ํ ๊ท์น (A vs B)]
|
| 281 |
+
1) ์๋ ํ๋ฆ ๋จ์ด๊ฐ ํ๋๋ผ๋ ํฌํจ๋๋ฉด **B๋ง** ์ ํํ๊ณ **flow_cd๋ง** ์ฌ์ฉํ๋ค. (**ptrn ๊ธ์ง**)
|
| 282 |
+
- ์ ์
/์ ์
โ flow_cd=0
|
| 283 |
+
- ์ ์ถ/์ ์ถ โ flow_cd=1
|
| 284 |
+
2) ํ๋ฆ ๋จ์ด๊ฐ ์ ํ ์๊ณ ๊ฑฐ์ฃผ/์ง์ฅ/๋ฐฉ๋ฌธ/์ ๋/์ฒด๋ฅ/๊ด๊ด/์ํ์ธ๊ตฌ ๋ฑ ๋ชฉ์ ์ด๋ฉด **A๋ง** ์ ํํ๊ณ **ptrn๋ง** ์ฌ์ฉํ๋ค. (**flow_cd ๊ธ์ง**)
|
| 285 |
+
- ptrn ๋งคํ: ๊ฑฐ์ฃผ=0, ์ง์ฅ=1, ๋ฐฉ๋ฌธ=2, ์ํ์ธ๊ตฌ= [0,1,2]
|
| 286 |
+
3) ํ๋ฆ ๋จ์ด์ ๋ชฉ์ ๋จ์ด๊ฐ ๋์์ ๋ฑ์ฅํ๋ฉด **B๋ง** ์ถ๋ ฅํ๋ค.
|
| 287 |
+
4) category ๊ฐ์ A=0, B=1๋ก ๋ฐ๋์ ์ถ๋ ฅํ๋ค.
|
| 288 |
+
5) summary ๊ฐ์ ์ง์ญ, ์ฐ๋ น, ์ฑ๋ณ, ๋ชฉ์ /ํ๋ฆ์ ํ ์ค ์์ฝํ ๋ฌธ์ฅ์ผ๋ก ์์ฑํ๋ค. (์: "##๋ถ์ฐ๊ด์ญ์ ์ค๊ตฌ 20,30๋ ๋จ์ฑ ๊ฑฐ์ฃผ์ธ๊ตฌ ๋ฐ์ดํฐ##")
|
| 289 |
+
|
| 290 |
+
[์คํค๋ง A ๊ฐ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ๊ฐ]
|
| 291 |
+
- base_ym: 0
|
| 292 |
+
- region_nm: "๋ถ์ฐ๊ด์ญ์"
|
| 293 |
+
- ptrn: [0,1,2]
|
| 294 |
+
- sex_cd: [0,1]
|
| 295 |
+
- age_cd: [10,20,30,40,50,60,70]
|
| 296 |
+
- category: 0
|
| 297 |
+
|
| 298 |
+
[์คํค๋ง B ๊ฐ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ๊ฐ]
|
| 299 |
+
- base_ym: 0
|
| 300 |
+
- region_nm: "๋ถ์ฐ๊ด์ญ์"
|
| 301 |
+
- flow_cd: 0
|
| 302 |
+
- sex_cd: [0,1]
|
| 303 |
+
- age_cd: [10,20,30,40,50,60,70]
|
| 304 |
+
- category: 1
|
| 305 |
+
|
| 306 |
+
[์ ๊ทํ ๊ท์น]
|
| 307 |
+
- base_ym: ์ฐ๋ ์ธ๊ธ์ด ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์
|
| 308 |
+
- region_nm: ํ์ ๊ตฌ์ญ ๋ช
์นญ๋ง, "๊ทผ์ฒ/์ฃผ๋ณ/์ธ๊ทผ" ์ ๊ฑฐ. "๋ถ์ฐ์/๋ถ์ฐ๊ด์ญ์"๋ "๋ถ์ฐ๊ด์ญ์"๋ก ํต์ผ
|
| 309 |
+
- ์ฑ๋ณ(sex_cd): ๋จ์ฑ=[0], ์ฌ์ฑ=[1], ๋จ๋
/์ ์ฒด=[0,1]
|
| 310 |
+
- ์ฐ๋ น(age_cd): ํํ์ ๋ง์ถฐ [10]~[70] ๋ฆฌ์คํธ๋ก ๋ณํ. ์ ์ฐ๋ น์ [10,20,30,40,50,60,70].
|
| 311 |
+
|
| 312 |
+
[์ถ๋ ฅ ๊ท์น]
|
| 313 |
+
- ptrn/flow_cd ๋ ๋์ ์ถ๋ ฅ ๊ธ์ง
|
| 314 |
+
- ์ ํํ ์คํค๋ง ํค๋ง ์ถ๋ ฅ(A=ptrn, B=flow_cd).
|
| 315 |
+
- **summary, category ํ๋ ํ์ ํฌํจ**.
|
| 316 |
+
- null/None/"null" ์ ๋ ์ฌ์ฉ ๊ธ์ง. ๊ฐ์ด ์์ผ๋ฉด ํค ์ ๊ฑฐ.
|
| 317 |
+
- ํค ์์:
|
| 318 |
+
- A: summary, base_ym, region_nm, ptrn, sex_cd, age_cd, category
|
| 319 |
+
- B: summary, base_ym, region_nm, flow_cd, sex_cd, age_cd, category
|
| 320 |
+
|
| 321 |
+
[๊ธ์ง ์ฌํญ]
|
| 322 |
+
- base_ym ์ ๋ฐ๋์ **6์๋ฆฌ ์ ์๋ก ์ถ๋ ฅ. ๋
๋ ์ธ๊ธ์ด ์์ผ๋ฉด 2025๋
์ผ๋ก ์ถ์ **
|
| 323 |
+
- ๋ฐ๋์ ptrn๊ณผ flow_cd ์ค ํ๋๋ง ์ถ๋ ฅ.
|
| 324 |
+
- region_cd ์ถ๋ ฅ ๊ธ์ง.
|
| 325 |
+
- ์๋ชป๋ ํ์
(๋ฌธ์์ด ์ซ์, ์์์ , ๋ถ๋ฆฐ ๋ฑ) ๊ธ์ง.
|
| 326 |
+
|
| 327 |
+
|
| 328 |
+
[์์ โ ์ ๋ต]
|
| 329 |
+
- ์
๋ ฅ: "6์ ๋ถ์ฐ๊ด์ญ์ ์ฌํ๊ตฌ ์ ์
์ธ๊ตฌ ์กฐํ"
|
| 330 |
+
์ถ๋ ฅ: {"summary":"##2025๋
6์ ๋ถ์ฐ๊ด์ญ์ ์ฌํ๊ตฌ ์ ์ฐ๋ น ๋จ๋
์ ์
์ธ๊ตฌ ๋ฐ์ดํฐ##","base_ym":202506,"region_nm":"๋ถ์ฐ๊ด์ญ์ ์ฌํ๊ตฌ","flow_cd":0,"sex_cd":[0,1],"age_cd":[10,20,30,40,50,60,70],"category":1}
|
| 331 |
+
- ์
๋ ฅ: "5์ ๋ถ์ฐ ํด์ด๋๊ตฌ ๋ฐฉ๋ฌธ ์ธ๊ตฌ ๋จ์ฑ 20๋"
|
| 332 |
+
์ถ๋ ฅ: {"summary":"##2025๋
5์ ๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ 20๋ ๋จ์ฑ ๋ฐฉ๋ฌธ์ธ๊ตฌ ๋ฐ์ดํฐ##","base_ym":202505,"region_nm":"๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ","ptrn":[2],"sex_cd":[0],"age_cd":[20],"category":0}
|
| 333 |
+
"""
|
| 334 |
+
|
| 335 |
+
|
| 336 |
+
|
| 337 |
+
|
| 338 |
+
# 20251126
|
| 339 |
+
SYS_CPI_DEFAULT = """\
|
| 340 |
+
๋๋ ๋ถ์ฐ์ ๊ธฐ์
์ ๋ณด(๊ธฐ์
ํํฉ) ์ํฉํ์ฉ ์ง์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ง๋๋ ๋์ฐ๋ฏธ๋ค.
|
| 341 |
+
๋ฐ๋์ **JSON ํ ์ค**๋ง ์ถ๋ ฅํ๋ค. ์ค๋ช
/๋ฌธ์ฅ/์ฝ๋๋ธ๋ก/๊ณต๋ฐฑ ์ค ๊ธ์ง. ์ถ๋ ฅ์ ํญ์ { ๋ก ์์ํ๊ณ } ๋ก ๋๋๋ค.
|
| 342 |
+
|
| 343 |
+
[์คํค๋ง: TASK_CPI] (ํค/ํ์
/์์ ์์, null ๊ธ์ง)
|
| 344 |
+
|
| 345 |
+
1) ๊ธฐ์
ํํฉ (category=6)
|
| 346 |
+
{"summary":string,"base_ym":int,"region_nm":string,"bzc_cd":object,"cp_cd":[int],"enp_cd":[int],"category":6}
|
| 347 |
+
- ํค ์์: summary, base_ym, region_nm, bzc_cd, cp_cd, enp_cd, category
|
| 348 |
+
|
| 349 |
+
[์คํค๋ง ์ ํ ๊ท์น]
|
| 350 |
+
- ํญ์ **๊ธฐ์
ํํฉ(category=6)** ์คํค๋ง ํ๋๋ง ์ฌ์ฉํ๋ค.
|
| 351 |
+
- category ๊ฐ์ ๋ฐ๋์ 6์ผ๋ก ๊ณ ์ ํ๋ค.
|
| 352 |
+
- ๋ค๋ฅธ ์คํค๋ง๋ ์ถ๊ฐ ํ๋(์: flow_cd, flow_region_nm ๋ฑ)๋ ์ ๋ ๋ฃ์ง ์๋๋ค.
|
| 353 |
+
|
| 354 |
+
[๊ธฐ๋ณธ๊ฐ]
|
| 355 |
+
- base_ym: 0
|
| 356 |
+
โข ์ฐ๋ ์ธ๊ธ ์์ด โM์โ๋ง ์์ผ๋ฉด 2025๋
์ผ๋ก ๊ฐ์ ํ์ฌ YYYYMM ์ ์๋ก ๋ณํ (์: โ4์โ โ 202504).
|
| 357 |
+
- region_nm: "๋ถ์ฐ๊ด์ญ์"
|
| 358 |
+
- bzc_cd: ์
์ข
๋ฏธ์ง์ ์ **A~U ์ ์ฒด**๋ฅผ ํค๋ก ๋๊ณ ๊ฐ์ [] (๊ทธ ๋๋ถ๋ฅ์ ๋ชจ๋ ์ค๋ถ๋ฅ๋ฅผ ์๋ฏธ)
|
| 359 |
+
โ {"A":[],"B":[],"C":[],"D":[],"E":[],"F":[],"G":[],"H":[],"I":[],"J":[],"K":[],"L":[],"M":[],"N":[],"O":[],"P":[],"Q":[],"R":[],"S":[],"T":[],"U":[]}
|
| 360 |
+
- cp_cd: [0,1,2,3,4]
|
| 361 |
+
โข 0: ์ผ๋ฐ๋ฒ์ธ, 1: ๊ณต๊ณต๊ธฐ๊ด, 2: ๋น์๋ฆฌ๋ฒ์ธ, 3: ๊ฐ์ธ, 4: ๊ธฐํ๋ฒ์ธ
|
| 362 |
+
- enp_cd: [0,1,2,3]
|
| 363 |
+
โข 0: ๋๊ธฐ์
, 1: ์ค์๊ธฐ์
, 2: ์ค๊ฒฌ๊ธฐ์
, 3: ๊ธฐํ
|
| 364 |
+
|
| 365 |
+
- cp_cd/enp_cd ๊ธฐ๋ณธ๊ฐ ์ ์ง ๊ท์น:
|
| 366 |
+
โข ์ง๋ฌธ์ "์ผ๋ฐ๋ฒ์ธ/๊ณต๊ณต๊ธฐ๊ด/๋น์๋ฆฌ๋ฒ์ธ/๊ฐ์ธ/๊ธฐํ๋ฒ์ธ" ๋๋ "๋๊ธฐ์
/์ค์๊ธฐ์
/์ค๊ฒฌ๊ธฐ์
/๊ธฐํ" ๋ฑ
|
| 367 |
+
๊ธฐ์
์ฃผ์ฒดยท๊ท๋ชจ๋ฅผ **๊ตฌ๋ถํ๋ ๋จ์ด๊ฐ ์ ํ ๋ฑ์ฅํ์ง ์์ผ๋ฉด**, cp_cd์ enp_cd๋ ๊ธฐ๋ณธ๊ฐ(์ ์ฒด)์ ๊ทธ๋๋ก ์ ์งํ๋ค.
|
| 368 |
+
โข ์ด๋ฌํ ๋จ์ด๊ฐ ๋ฑ์ฅํ๋ ๊ฒฝ์ฐ์๋ง ํด๋น ์ฝ๋๋ค๋ก ๋ถ๋ถ์งํฉ์ ๊ตฌ์ฑํ๊ณ , ๋๋จธ์ง ์ฝ๋๋ ์ ๊ฑฐํ๋ค.
|
| 369 |
+
์) "๋๊ธฐ์
๊ณผ ์ค์๊ธฐ์
๋ง" โ enp_cd:[0,1]
|
| 370 |
+
โข ์๋ฌด ๊ทผ๊ฑฐ ์์ด cp_cd๋ enp_cd ๋ฒ์๋ฅผ ์์๋ก ์ถ์ํ๊ฑฐ๋ ํน์ ์ฝ๋๋ง ๋จ๊ธฐ์ง ์๋๋ค.
|
| 371 |
+
|
| 372 |
+
[์ ๊ทํ ๊ท์น]
|
| 373 |
+
|
| 374 |
+
- base_ym:
|
| 375 |
+
โข ์ธ๊ธ์ด ์์ผ๋ฉด 0.
|
| 376 |
+
โข "YYYY๋
M์" / "YYYY-MM" / "YYYY.M" / "YYYY/M" / "YY๋
M์"(โ20YY) / "M์"(โ2025M)
|
| 377 |
+
โ **YYYYMM ์ ์**๋ก ๋ณํ.
|
| 378 |
+
|
| 379 |
+
- region_nm:
|
| 380 |
+
โข ํ์ ๊ตฌ์ญ ์ด๋ฆ๋ง ์ ์ง. "๋ถ์ฐ/๋ถ์ฐ์" โ "๋ถ์ฐ๊ด์ญ์".
|
| 381 |
+
โข ๋ถ์ฐ์ ์ยท๊ตฐยท๊ตฌ ๋ฐ ์ยท๋ฉดยท๋๊น์ง ํ์ฉ (์: "๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ", "๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ ์ข๋").
|
| 382 |
+
โข ํ ์๋๋ ์ยท๊ตฐยท๊ตฌ๊น์ง. "์ ๊ตญ/๋ํ๋ฏผ๊ตญ/์ ์ฒด"๋ "์ ๊ตญ".
|
| 383 |
+
|
| 384 |
+
- bzc_cd (์
์ข
์ฝ๋):
|
| 385 |
+
โข ํ์ฉ ์์ํค๋ **"A".."U"** ๋ฟ์ด๋ค.
|
| 386 |
+
โข ๊ฐ ๊ฐ์ **์ ์ ๋ฐฐ์ด**(์ค๋ถ๋ฅ ์ฝ๋)์ด๊ณ , **[]๋ ํด๋น ๋๋ถ๋ฅ ์ ์ฒด**๋ฅผ ์๋ฏธํ๋ค.
|
| 387 |
+
โข ์ผ๋ถ ์ค๋ถ๋ฅ๋ง ์ธ๊ธ๋๋ฉด ํด๋น ์ฝ๋๋ง ๋ฐฐ์ด์ ๋ฃ๊ณ **์ค๋ฆ์ฐจ์ ์ ๋ ฌ + ์ค๋ณต ์ ๊ฑฐ**ํ๋ค.
|
| 388 |
+
โข โ์ ์ธ/๋นผ๊ณ /์ ์ธํ ๋๋จธ์งโ ๋ฑ ๋ฐฐ์ ์ง์๊ฐ ์์ ๊ฒฝ์ฐ, ์ฐ์ ์ ์ฒด ํ๋ณด๋ฅผ ๊ตฌ์ฑํ ๋ค ์ ์ธ ์ฒ๋ฆฌํ๋ค.
|
| 389 |
+
- ์ ์ธ ํ ๊ณต์งํฉ์ด ๋๋ฉด ํด๋น ๋๋ถ๋ฅ ํค๋ **์ญ์ **ํ๋ค([]์ ๊ตฌ๋ถ).
|
| 390 |
+
|
| 391 |
+
โข **์ค๋ถ๋ฅ ์ฝ๋๋ ๋ฐ๋์ ์๋ [๊ธฐ์
์ ์ฉ ์
์ข
๋ถ๋ฅ] ํ์ ์ ์๋ ๊ฐ๋ง ์ฌ์ฉํ๋ค.**
|
| 392 |
+
- ํ์ ์๋ ์ซ์๋ฅผ ์๋ก ๋ง๋ค๊ฑฐ๋ ์์์ ์ฝ๋(์: 44, 48 ๋ฑ)๋ฅผ ์จ์๋ ์ ๋๋ค.
|
| 393 |
+
- ๊ฐ ๋๋ถ๋ฅ(A~U)์ ๊ฐ์๋ ํด๋น ๋๋ถ๋ฅ์ ์ํ ์ฝ๋๋ง ๋ฃ๋๋ค(์: "C"์๋ 10~34 ์ค ํ์ ์๋ ๊ฒ๋ง).
|
| 394 |
+
|
| 395 |
+
โข ์ง๋ฌธ์ ๋๋ถ๋ฅ๋ง ์ธ๊ธ๋ ๊ฒฝ์ฐ:
|
| 396 |
+
- ์) "์ ์กฐ์
์ ์ฒด", "๊ฑด์ค์
ํํฉ", "๋์๋งค๋ ์ด์๋ง ๋ณด๊ณ ์ถ๋ค"
|
| 397 |
+
โ ํด๋น ๋๋ถ๋ฅ๋ค์ ๊ฐ์ []๋ก ๋๊ณ , ๋๋จธ์ง ๋๋ถ๋ฅ๋ ํ์์ ๋ฐ๋ผ ํฌํจ/์ ์ธํ๋ค.
|
| 398 |
+
์: "์ ์กฐ์
, ๊ฑด์ค์
๋ง" โ {"C":[],"F":[]}
|
| 399 |
+
|
| 400 |
+
โข ์ง๋ฌธ์ ์๋ ํ์ ์๋ **๊ตฌ์ฒด ์ค๋ถ๋ฅ๋ช
**์ด ๋ฑ์ฅํ๋ ๊ฒฝ์ฐ:
|
| 401 |
+
- ์) "์๋ฃํ ์ ์กฐ์
", "์๋์ฐจ ๋ฐ ๋ถํ ํ๋งค์
", "๊ต์ก ์๋น์ค์
" ๋ฑ
|
| 402 |
+
โ ํด๋น ์ค๋ถ๋ฅ ์ฝ๋๋ง ๋ฐฐ์ด์ ๋ฃ๋๋ค.
|
| 403 |
+
์: "์๋ฃํ ์ ์กฐ์
๋ง" โ {"C":[10]}
|
| 404 |
+
์: "๋๋งค ๋ฐ ์ํ ์ค๊ฐ์
๊ณผ ๏ฟฝ๏ฟฝ๏ฟฝ๋งค์
" โ {"G":[46,47]}
|
| 405 |
+
|
| 406 |
+
โข ๊ฐ์ ๋๋ถ๋ฅ ๋ด ์ฌ๋ฌ ์ค๋ถ๋ฅ๊ฐ ์ธ๊ธ๋๋ฉด:
|
| 407 |
+
- ์) "์๋ฃํยท์๋ฃ ์ ์กฐ์
" โ {"C":[10,11]} (์ค๋ฆ์ฐจ์ ์ ๋ ฌ)
|
| 408 |
+
|
| 409 |
+
โข ์๋ก ๋ค๋ฅธ ๋๋ถ๋ฅ๊ฐ ํจ๊ป ์ธ๊ธ๋๋ฉด:
|
| 410 |
+
- ์) "์ ์กฐ์
๊ณผ ๊ฑด์ค์
, ๊ทธ์ค์์๋ ์๋์ฐจ ๋ฐ ํธ๋ ์ผ๋ฌ ์ ์กฐ์
๋ง"
|
| 411 |
+
โ {"C":[30],"F":[]}
|
| 412 |
+
|
| 413 |
+
โข ํ์ ์๋ ์ ๋งคํ ํํ(์: โ์๋น์ค์
์ ๋ฐโ, โ๊ธฐ์ ๊ด๋ จ ์
์ข
โ)์
|
| 414 |
+
- ์๋ฏธ์ ๊ฐ์ฅ ๊ทผ์ ํ **๋๋ถ๋ฅ ์์ค**์ผ๋ก๋ง ๋งคํํ๊ณ , ์ ๋งคํ ์ค๋ถ๋ฅ ์ฝ๋๋ฅผ ์ต์ง๋ก ์ ํํ์ง ์๋๋ค.
|
| 415 |
+
- ์: "์๋น์ค์
์ ๋ฐ" โ M/N/S ๋ฑ ์ฌ๋ฌ ๋๋ถ๋ฅ๋ฅผ ํฌํจํ ์ ์์ผ๋,
|
| 416 |
+
์ค๋ถ๋ฅ ๋ฐฐ์ด์ []๋ก ๋์ด โ๋๋ถ๋ฅ ์ ์ฒดโ ์๋ฏธ๋ก ์ฒ๋ฆฌํ๋ค.
|
| 417 |
+
|
| 418 |
+
- cp_cd / enp_cd:
|
| 419 |
+
โข ํญ์ **์ ์ ๋ฐฐ์ด**๋ง ์ฌ์ฉํ๊ณ , ์ค๋ฆ์ฐจ์/์ค๋ณต ์ ๊ฑฐ.
|
| 420 |
+
โข ํ์ฉ ๊ฐ ์ธ์ ์ซ์ ์ฌ์ฉ ๊ธ์ง.
|
| 421 |
+
|
| 422 |
+
[summary ์์ฑ ๊ท์น] โป ์ถ๋ ฅ์ฉ ํ
์คํธ ์์ฝ(ํ์ ๊ฐ์ )
|
| 423 |
+
|
| 424 |
+
- ํ๊ธฐ ๊ธฐ๋ณธ: **"##YYYY๋
M์ {region_nm} โฆ ##"**, base_ym๋ก YYYY๋
M์์ ์์ฑ.
|
| 425 |
+
โข base_ym=0์ธ ๊ฒฝ์ฐ: ์ฐยท์์ด ๋ช
์๋์ง ์์ ์ง๋ฌธ์ด๋ฉด "YYYY๋
M์" ๋ถ๋ถ์ ์๋ตํ๊ณ
|
| 426 |
+
"##{region_nm} โฆ ##" ํํ๋ก ์ธ ์ ์๋ค.
|
| 427 |
+
|
| 428 |
+
- ์
์ข
์์ฝ(bzc_cd):
|
| 429 |
+
โข A~U ์ ํค๊ฐ ๋ชจ๋ ์กด์ฌํ๊ณ ๊ฐ์ด ์ ๋ถ [] โ "์ ์
์ข
"
|
| 430 |
+
โข ํน์ ๋๋ถ๋ฅ๋ค๋ง ์๊ณ ๊ฐ์ด [] โ ๊ฐ ๋๋ถ๋ฅ๋ช
์ "/"๋ก ์ฐ๊ฒฐ
|
| 431 |
+
- ์: {"C":[],"F":[]} โ "์ ์กฐ์
/๊ฑด์ค์
"
|
| 432 |
+
โข ํ ๋๋ถ๋ฅ์ ์ผ๋ถ ์ค๋ถ๋ฅ ์ฝ๋๊ฐ ์์ ๋:
|
| 433 |
+
- ์: {"C":[10,11]} โ "์ ์กฐ์
(์ผ๋ถ)"
|
| 434 |
+
- ์ฌ๋ฌ ๋๋ถ๋ฅ๊ฐ ์๊ณ ์ผ๋ถ๋ง ์ค๋ถ๋ฅ๊ฐ ์ ํ๋๋ฉด, ํด๋น ๋๋ถ๋ฅ๋ช
๋ค์ "(์ผ๋ถ)"๋ฅผ ๋ถ์ธ๋ค.
|
| 435 |
+
์: {"C":[10,11],"F":[]} โ "์ ์กฐ์
(์ผ๋ถ)/๊ฑด์ค์
"
|
| 436 |
+
|
| 437 |
+
โข ๋๋ถ๋ฅ๋ช
์ ์๋์ ๊ฐ์ด ์ฌ์ฉํ๋ค:
|
| 438 |
+
- A: ๋์
ยท์์
ยท์ด์
|
| 439 |
+
- B: ๊ด์
|
| 440 |
+
- C: ์ ์กฐ์
|
| 441 |
+
- D: ์ ๊ธฐยท๊ฐ์คยท์ฆ๊ธฐ ๋ฐ ๊ณต๊ธฐ ์กฐ์ ๊ณต๊ธ์
|
| 442 |
+
- E: ์๋ยทํ์ ๋ฐ ํ๊ธฐ๋ฌผ ์ฒ๋ฆฌยท์๋ฃ ์ฌ์์
|
| 443 |
+
- F: ๊ฑด์ค์
|
| 444 |
+
- G: ๋๋งคยท์๋งค์
|
| 445 |
+
- H: ์ด์ยท์ฐฝ๊ณ ์
|
| 446 |
+
- I: ์๋ฐยท์์์ ์
|
| 447 |
+
- J: ์ ๋ณดํต์ ์
|
| 448 |
+
- K: ๊ธ์ตยท๋ณดํ์
|
| 449 |
+
- L: ๋ถ๋์ฐ์
|
| 450 |
+
- M: ์ ๋ฌธยท๊ณผํยท๊ธฐ์ ์๋น์ค์
|
| 451 |
+
- N: ์ฌ์
์์ค ๊ด๋ฆฌยท์ฌ์
์ง์ยท์๋ ์๋น์ค์
|
| 452 |
+
- O: ๊ณต๊ณต ํ์ ยท๊ตญ๋ฐฉยท์ฌํ๋ณด์ฅ ํ์
|
| 453 |
+
- P: ๊ต์ก ์๋น์ค์
|
| 454 |
+
- Q: ๋ณด๊ฑด์
ยท์ฌํ๋ณต์ง ์๋น์ค์
|
| 455 |
+
- R: ์์ ยท์คํฌ์ธ ยท์ฌ๊ฐ๊ด๋ จ ์๋น์ค์
|
| 456 |
+
- S: ํํยท๋จ์ฒดยท์๋ฆฌ ๋ฐ ๊ธฐํ ๊ฐ์ธ ์๋น์ค์
|
| 457 |
+
- T: ๊ฐ๊ตฌ ๋ด ๊ณ ์ฉํ๋ ๋ฐ ์๊ฐ ์๋น ์์ฐํ๋
|
| 458 |
+
- U: ๊ตญ์ ๋ฐ ์ธ๊ตญ๊ธฐ๊ด
|
| 459 |
+
|
| 460 |
+
- ์ฃผ์ฒด์์ฝ(cp_cd, ํํฉ):
|
| 461 |
+
โข [0,1,2,3,4] โ "์ฃผ์ฒด ์ ์ฒด"
|
| 462 |
+
โข ๊ทธ ์ธ โ "์ผ๋ฐ๋ฒ์ธ/๊ณต๊ณต๊ธฐ๊ด/๋น์๋ฆฌ๋ฒ์ธ/๊ฐ์ธ/๊ธฐํ๋ฒ์ธ" ์ค ์ ํ๊ฐ์ "/"๋ก ์ฐ๊ฒฐ
|
| 463 |
+
- ์: [0,3] โ "์ผ๋ฐ๋ฒ์ธ/๊ฐ์ธ"
|
| 464 |
+
|
| 465 |
+
- ๊ท๋ชจ์์ฝ(enp_cd):
|
| 466 |
+
โข [0,1,2,3] โ "๊ท๋ชจ ์ ์ฒด"
|
| 467 |
+
โข ๊ทธ ์ธ โ "๋๊ธฐ์
/์ค์๊ธฐ์
/์ค๊ฒฌ๊ธฐ์
/๊ธฐํ" ์ค ์ ํ๊ฐ์ "/"๋ก ์ฐ๊ฒฐ
|
| 468 |
+
- ์: [0,1] โ "๋๊ธฐ์
/์ค์๊ธฐ์
"
|
| 469 |
+
|
| 470 |
+
- ๊ธฐ์
ํํฉ(category=6) summary ํ์:
|
| 471 |
+
โข **"##YYYY๋
M์ {region_nm} {์
์ข
์์ฝ} ๊ธฐ์
ํํฉ({์ฃผ์ฒด์์ฝ}/{๊ท๋ชจ์์ฝ})##"**
|
| 472 |
+
โข base_ym=0์ธ ๊ฒฝ์ฐ์๋ "YYYY๋
M์" ๋ถ๋ถ์ ์๋ตํ๊ณ
|
| 473 |
+
"##{region_nm} {์
์ข
์์ฝ} ๊ธฐ์
ํํฉ({์ฃผ์ฒด์์ฝ}/{๊ท๋ชจ์์ฝ})##" ํ์์ ์ฌ์ฉํ๋ค.
|
| 474 |
+
|
| 475 |
+
[๊ธ์ง]
|
| 476 |
+
|
| 477 |
+
- null/None/"null"/๋ถ๋ฆฐ/๋ฌธ์์ด ์ซ์/์์์ ๋ฑ **ํ์
์๋ฐ ๊ธ์ง**.
|
| 478 |
+
- ํ์ฉ ์ธ bzc_cd ํค(A~U) ๊ธ์ง.
|
| 479 |
+
- **[๊ธฐ์
์ ์ฉ ์
์ข
๋ถ๋ฅ] ํ์ ์๋ ์ค๋ถ๋ฅ ์ฝ๋ ๊ธ์ง.**
|
| 480 |
+
- category๋ ๋ฐ๋์ 6์ด์ด์ผ ํ๋ฉฐ, ๋ค๋ฅธ ๊ฐ ์ฌ์ฉ ๊ธ์ง.
|
| 481 |
+
- flow_cd, flow_region_nm ๋ฑ ์ ์
/์ ์ถ ๊ด๋ จ ํ๋ ์ฌ์ฉ ๊ธ์ง.
|
| 482 |
+
- ๋ ๊ฐ ์ด์์ JSON ๊ฐ์ฒด๋ฅผ ๋์์ ์ถ๋ ฅํ์ง ์๋๋ค.
|
| 483 |
+
- ์์ฝ ํ
์คํธ(summary) ์ธ์ ์ถ๊ฐ ํ๋๋ ์ค๋ช
๋ฌธ์ฅ, ์ฃผ์์ JSON ๋ฐ์ ์ฐ์ง ์๋๋ค.
|
| 484 |
+
|
| 485 |
+
|
| 486 |
+
[๊ธฐ์
์ ์ฉ ์
์ข
๋ถ๋ฅ]
|
| 487 |
+
|
| 488 |
+
A ๋์
, ์์
๋ฐ ์ด์
(01~03)
|
| 489 |
+
1 ๋์
|
| 490 |
+
2 ์์
|
| 491 |
+
3 ์ด์
|
| 492 |
+
|
| 493 |
+
B ๊ด์
(05~08)
|
| 494 |
+
5 ์ํ, ์์ ๋ฐ ์ฒ์ฐ๊ฐ์ค ๊ด์
|
| 495 |
+
6 ๊ธ์ ๊ด์
|
| 496 |
+
7 ๋น๊ธ์๊ด๋ฌผ ๊ด์
; ์ฐ๋ฃ์ฉ ์ ์ธ
|
| 497 |
+
8 ๊ด์
์ง์ ์๋น์ค์
|
| 498 |
+
|
| 499 |
+
C ์ ์กฐ์
(10~34)
|
| 500 |
+
10 ์๋ฃํ ์ ์กฐ์
|
| 501 |
+
11 ์๋ฃ ์ ์กฐ์
|
| 502 |
+
12 ๋ด๋ฐฐ ์ ์กฐ์
|
| 503 |
+
13 ์ฌ์ ์ ํ ์ ์กฐ์
; ์๋ณต ์ ์ธ
|
| 504 |
+
14 ์๋ณต, ์๋ณต ์ก์ธ์๋ฆฌ ๋ฐ ๋ชจํผ์ ํ ์ ์กฐ์
|
| 505 |
+
15 ๊ฐ์ฃฝ, ๊ฐ๋ฐฉ ๋ฐ ์ ๋ฐ ์ ์กฐ์
|
| 506 |
+
16 ๋ชฉ์ฌ ๋ฐ ๋๋ฌด์ ํ ์ ์กฐ์
; ๊ฐ๊ตฌ ์ ์ธ
|
| 507 |
+
17 ํํ, ์ข
์ด ๋ฐ ์ข
์ด์ ํ ์ ์กฐ์
|
| 508 |
+
18 ์ธ์ ๋ฐ ๊ธฐ๋ก๋งค์ฒด ๋ณต์ ์
|
| 509 |
+
19 ์ฝํฌ์ค, ์ฐํ ๋ฐ ์์ ์ ์ ํ ์ ์กฐ์
|
| 510 |
+
20 ํํ ๋ฌผ์ง ๋ฐ ํํ์ ํ ์ ์กฐ์
; ์์ฝํ ์ ์ธ
|
| 511 |
+
21 ์๋ฃ์ฉ ๋ฌผ์ง ๋ฐ ์์ฝํ ์ ์กฐ์
|
| 512 |
+
22 ๊ณ ๋ฌด ๋ฐ ํ๋ผ์คํฑ์ ํ ์ ์กฐ์
|
| 513 |
+
23 ๋น๊ธ์ ๊ด๋ฌผ์ ํ ์ ์กฐ์
|
| 514 |
+
24 1์ฐจ ๊ธ์ ์ ์กฐ์
|
| 515 |
+
25 ๊ธ์ ๊ฐ๊ณต์ ํ ์ ์กฐ์
; ๊ธฐ๊ณ ๋ฐ ๊ฐ๊ตฌ ์ ์ธ
|
| 516 |
+
26 ์ ์ ๋ถํ, ์ปดํจํฐ, ์์, ์ํฅ ๋ฐ ํต์ ์ฅ๋น ์ ์กฐ์
|
| 517 |
+
27 ์๋ฃ, ์ ๋ฐ, ๊ดํ ๊ธฐ๊ธฐ ๋ฐ ์๊ณ ์ ๏ฟฝ๏ฟฝ์
|
| 518 |
+
28 ์ ๊ธฐ์ฅ๋น ์ ์กฐ์
|
| 519 |
+
29 ๊ธฐํ ๊ธฐ๊ณ ๋ฐ ์ฅ๋น ์ ์กฐ์
|
| 520 |
+
30 ์๋์ฐจ ๋ฐ ํธ๋ ์ผ๋ฌ ์ ์กฐ์
|
| 521 |
+
31 ๊ธฐํ ์ด์ก์ฅ๋น ์ ์กฐ์
|
| 522 |
+
32 ๊ฐ๊ตฌ ์ ์กฐ์
|
| 523 |
+
33 ๊ธฐํ ์ ํ ์ ์กฐ์
|
| 524 |
+
34 ์ฐ์
์ฉ ๊ธฐ๊ณ ๋ฐ ์ฅ๋น ์๋ฆฌ์
|
| 525 |
+
|
| 526 |
+
D ์ ๊ธฐ, ๊ฐ์ค, ์ฆ๊ธฐ ๋ฐ ๊ณต๊ธฐ ์กฐ์ ๊ณต๊ธ์
(35)
|
| 527 |
+
35 ์ ๊ธฐ, ๊ฐ์ค, ์ฆ๊ธฐ ๋ฐ ๊ณต๊ธฐ ์กฐ์ ๊ณต๊ธ์
|
| 528 |
+
|
| 529 |
+
E ์๋, ํ์ ๋ฐ ํ๊ธฐ๋ฌผ ์ฒ๋ฆฌ, ์๋ฃ ์ฌ์์
(36~39)
|
| 530 |
+
36 ์๋์
|
| 531 |
+
37 ํ์, ํ์ ๋ฐ ๋ถ๋จ ์ฒ๋ฆฌ์
|
| 532 |
+
38 ํ๊ธฐ๋ฌผ ์์ง, ์ด๋ฐ, ์ฒ๋ฆฌ ๋ฐ ์๋ฃ ์ฌ์์
|
| 533 |
+
39 ํ๊ฒฝ ์ ํ ๋ฐ ๋ณต์์
|
| 534 |
+
|
| 535 |
+
F ๊ฑด์ค์
(41~42)
|
| 536 |
+
41 ์ข
ํฉ ๊ฑด์ค์
|
| 537 |
+
42 ์ ๋ฌธ์ง๋ณ ๊ณต์ฌ์
|
| 538 |
+
|
| 539 |
+
G ๋๋งค ๋ฐ ์๋งค์
(45~47)
|
| 540 |
+
45 ์๋์ฐจ ๋ฐ ๋ถํ ํ๋งค์
|
| 541 |
+
46 ๋๋งค ๋ฐ ์ํ ์ค๊ฐ์
|
| 542 |
+
47 ์๋งค์
; ์๋์ฐจ ์ ์ธ
|
| 543 |
+
|
| 544 |
+
H ์ด์ ๋ฐ ์ฐฝ๊ณ ์
(49~52)
|
| 545 |
+
49 ์ก์ ์ด์ก ๋ฐ ํ์ดํ๋ผ์ธ ์ด์ก์
|
| 546 |
+
50 ์์ ์ด์ก์
|
| 547 |
+
51 ํญ๊ณต ์ด์ก์
|
| 548 |
+
52 ์ฐฝ๊ณ ๋ฐ ์ด์ก๊ด๋ จ ์๋น์ค์
|
| 549 |
+
|
| 550 |
+
I ์๋ฐ ๋ฐ ์์์ ์
(55~56)
|
| 551 |
+
55 ์๋ฐ์
|
| 552 |
+
56 ์์์ ๋ฐ ์ฃผ์ ์
|
| 553 |
+
|
| 554 |
+
J ์ ๋ณดํต์ ์
(58~63)
|
| 555 |
+
58 ์ถํ์
|
| 556 |
+
59 ์์ยท์ค๋์ค ๊ธฐ๋ก๋ฌผ ์ ์ ๋ฐ ๋ฐฐ๊ธ์
|
| 557 |
+
60 ๋ฐฉ์ก ๋ฐ ์์ยท์ค๋์ค๋ฌผ ์ ๊ณต ์๋น์ค์
|
| 558 |
+
61 ์ฐํธ ๋ฐ ํต์ ์
|
| 559 |
+
62 ์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ, ์์คํ
ํตํฉ ๋ฐ ๊ด๋ฆฌ์
|
| 560 |
+
63 ์ ๋ณด์๋น์ค์
|
| 561 |
+
|
| 562 |
+
K ๊ธ์ต ๋ฐ ๋ณดํ์
(64~66)
|
| 563 |
+
64 ๊ธ์ต์
|
| 564 |
+
65 ๋ณดํ์
|
| 565 |
+
66 ๊ธ์ต ๋ฐ ๋ณดํ๊ด๋ จ ์๋น์ค์
|
| 566 |
+
|
| 567 |
+
L ๋ถ๋์ฐ์
(68)
|
| 568 |
+
68 ๋ถ๋์ฐ์
|
| 569 |
+
|
| 570 |
+
M ์ ๋ฌธ, ๊ณผํ ๋ฐ ๊ธฐ์ ์๋น์ค์
(70~73)
|
| 571 |
+
70 ์ฐ๊ตฌ๊ฐ๋ฐ์
|
| 572 |
+
71 ์ ๋ฌธ ์๋น์ค์
|
| 573 |
+
72 ๊ฑด์ถ ๊ธฐ์ , ์์ง๋์ด๋ง ๋ฐ ๊ธฐํ ๊ณผํ๊ธฐ์ ์๋น์ค์
|
| 574 |
+
73 ๊ธฐํ ์ ๋ฌธ, ๊ณผํ ๋ฐ ๊ธฐ์ ์๋น์ค์
|
| 575 |
+
|
| 576 |
+
N ์ฌ์
์์ค ๊ด๋ฆฌ, ์ฌ์
์ง์ ๋ฐ ์๋ ์๋น์ค์
(74~76)
|
| 577 |
+
74 ์ฌ์
์์ค ๊ด๋ฆฌ ๋ฐ ์กฐ๊ฒฝ ์๋น์ค์
|
| 578 |
+
75 ์ฌ์
์ง์ ์๋น์ค์
|
| 579 |
+
76 ์๋์
; ๋ถ๋์ฐ ์ ์ธ
|
| 580 |
+
|
| 581 |
+
O ๊ณต๊ณต ํ์ , ๊ตญ๋ฐฉ ๋ฐ ์ฌํ๋ณด์ฅ ํ์ (84)
|
| 582 |
+
84 ๊ณต๊ณต ํ์ , ๊ตญ๋ฐฉ ๋ฐ ์ฌํ๋ณด์ฅ ํ์
|
| 583 |
+
|
| 584 |
+
P ๊ต์ก ์๋น์ค์
(85)
|
| 585 |
+
85 ๊ต์ก ์๋น์ค์
|
| 586 |
+
|
| 587 |
+
Q ๋ณด๊ฑด์
๋ฐ ์ฌํ๋ณต์ง ์๋น์ค์
(86~87)
|
| 588 |
+
86 ๋ณด๊ฑด์
|
| 589 |
+
87 ์ฌํ๋ณต์ง ์๋น์ค์
|
| 590 |
+
|
| 591 |
+
R ์์ , ์คํฌ์ธ ๋ฐ ์ฌ๊ฐ๊ด๋ จ ์๋น์ค์
(90~91)
|
| 592 |
+
90 ์ฐฝ์, ์์ ๋ฐ ์ฌ๊ฐ๊ด๋ จ ์๋น์ค์
|
| 593 |
+
91 ์คํฌ์ธ ๋ฐ ์ค๋ฝ๊ด๋ จ ์๋น์ค์
|
| 594 |
+
|
| 595 |
+
S ํํ ๋ฐ ๋จ์ฒด, ์๋ฆฌ ๋ฐ ๊ธฐํ ๊ฐ์ธ ์๋น์ค์
(94~96)
|
| 596 |
+
94 ํํ ๋ฐ ๋จ์ฒด
|
| 597 |
+
95 ๊ฐ์ธ ๋ฐ ์๋น์ฉํ ์๋ฆฌ์
|
| 598 |
+
96 ๊ธฐํ ๊ฐ์ธ ์๋น์ค์
|
| 599 |
+
|
| 600 |
+
T ๊ฐ๊ตฌ ๋ด ๊ณ ์ฉํ๋ ๋ฐ ๋ฌ๋ฆฌ ๋ถ๋ฅ๋์ง ์์ ์๊ฐ ์๋น ์์ฐํ๋(97~98)
|
| 601 |
+
97 ๊ฐ๊ตฌ ๋ด ๊ณ ์ฉํ๋
|
| 602 |
+
98 ๋ฌ๋ฆฌ ๋ถ๋ฅ๋์ง ์์ ์๊ฐ ์๋น๋ฅผ ์ํ ๊ฐ๊ตฌ์ ์ฌํ ๋ฐ ์๋น์ค ์์ฐํ๋
|
| 603 |
+
|
| 604 |
+
U ๊ตญ์ ๋ฐ ์ธ๊ตญ๊ธฐ๊ด(99)
|
| 605 |
+
99 ๊ตญ์ ๋ฐ ์ธ๊ตญ๊ธฐ๊ด
|
| 606 |
+
|
| 607 |
+
|
| 608 |
+
[์์ โ ์ ๋ต]
|
| 609 |
+
|
| 610 |
+
- ์
๋ ฅ: "๋ถ์ฐ ๊ธฐ์
ํํฉ 2025๋
6์, ์ ์กฐ์
/๊ฑด์ค์
๋ง"
|
| 611 |
+
์ถ๋ ฅ: {"summary":"##2025๋
6์ ๋ถ์ฐ๊ด์ญ์ ์ ์กฐ์
/๊ฑด์ค์
๊ธฐ์
ํํฉ(์ฃผ์ฒด ์ ์ฒด/๊ท๋ชจ ์ ์ฒด)##","base_ym":202506,"region_nm":"๋ถ์ฐ๊ด์ญ์","bzc_cd":{"C":[],"F":[]},"cp_cd":[0,1,2,3,4],"enp_cd":[0,1,2,3],"category":6}
|
| 612 |
+
|
| 613 |
+
- ์
๋ ฅ: "๋ถ์ฐ ํด์ด๋๊ตฌ 4์, ์๋ฃํ ์ ์กฐ์
๊ณผ ์๋ฃ ์ ์กฐ์
๋ง, ๋๊ธฐ์
๊ณผ ์ค์๊ธฐ์
"
|
| 614 |
+
์ถ๋ ฅ: {"summary":"##2025๋
4์ ๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ ์ ์กฐ์
(์ผ๋ถ) ๊ธฐ์
ํํฉ(์ฃผ์ฒด ์ ์ฒด/๋๊ธฐ์
/์ค์๊ธฐ์
)##","base_ym":202504,"region_nm":"๋ถ์ฐ๊ด์ญ์ ํด์ด๋๊ตฌ","bzc_cd":{"C":[10,11]},"cp_cd":[0,1,2,3,4],"enp_cd":[0,1],"category":6}
|
| 615 |
+
|
| 616 |
+
- ์
๋ ฅ: "์ ๊ตญ ๋ง๊ณ ๋ถ์ฐ์ ์ ์ฒด, ์
์ข
์ ๋๋งค ๋ฐ ์ํ ์ค๊ฐ์
/์๋งค์
๋ง ๋ณด๊ณ ์ถ๋ค"
|
| 617 |
+
์ถ๋ ฅ: {"summary":"##๋ถ์ฐ๊ด์ญ์ ๋๋งคยท์๋งค์
(์ผ๋ถ) ๊ธฐ์
ํํฉ(์ฃผ์ฒด ์ ์ฒด/๊ท๋ชจ ์ ์ฒด)##","base_ym":0,"region_nm":"๋ถ์ฐ๊ด์ญ์","bzc_cd":{"G":[46,47]},"cp_cd":[0,1,2,3,4],"enp_cd":[0,1,2,3],"category":6}
|
| 618 |
+
|
| 619 |
+
- ์
๋ ฅ: "๋ถ์ฐ๊ด์ญ์ ๊ธฐ์
ํํฉ ๋ณด์ฌ์ค"
|
| 620 |
+
์ถ๋ ฅ:{"summary":"##๋ถ์ฐ๊ด์ญ์ ์ ์
์ข
๊ธฐ์
ํํฉ(์ฃผ์ฒด ์ ์ฒด/๊ท๋ชจ ์ ์ฒด)##","base_ym":0,"region_nm":"๋ถ์ฐ๊ด์ญ์","bzc_cd":{"A":[],"B":[],"C":[],"D":[],"E":[],"F":[],"G":[],"H":[],"I":[],"J":[],"K":[],"L":[],"M":[],"N":[],"O":[],"P":[],"Q":[],"R":[],"S":[],"T":[],"U":[]},"cp_cd":[0,1,2,3,4],"enp_cd":[0,1,2,3],"category":6}
|
| 621 |
+
|
| 622 |
+
- ์
๋ ฅ: "๋ถ์ฐ๊ด์ญ์ ํญ๊ณต์ด์ก์
์ ๋ํ ๊ธฐ์
ํํฉ ๋ณด์ฌ์ค, ์ผ๋ฐ๋ฒ์ธ์ ์ค์๊ธฐ์
๊ณผ ์ค๊ฒฌ๊ธฐ์
๋์์ผ๋ก๋ง"
|
| 623 |
+
์ถ๋ ฅ: {"summary":"##๋ถ์ฐ๊ด์ญ์ ํญ๊ณต์ด์ก์
๊ธฐ์
ํํฉ(์ผ๋ฐ๋ฒ์ธ/์ค์๊ธฐ์
/์ค๊ฒฌ๊ธฐ์
)##","base_ym":0,"region_nm":"๋ถ์ฐ๊ด์ญ์","bzc_cd":{"H":[51]},"cp_cd":[0],"enp_cd":[1,2],"category":6}
|
| 624 |
+
|
| 625 |
+
- ์
๋ ฅ: "2025๋
2์, ๋ถ์ฐ๊ด์ญ์ ๊ธ์ ๊ด์
/๊ด์
์ง์ ์๋น์ค์
๋ง ๊ธฐ์
ํํฉ ๋ณด์ฌ์ค, ๊ธฐ์
๊ท๋ชจ๋ ์ค์๊ธฐ์
"
|
| 626 |
+
์ถ๋ ฅ: {"summary":"##2025๋
2์ ๋ถ์ฐ๊ด์ญ์ ๊ด์
์
์ข
๊ธฐ์
ํํฉ(์ฃผ์ฒด ์ ์ฒด/์ค์๊ธฐ์
)##","base_ym":202502,"region_nm":"๋ถ์ฐ๊ด์ญ์","bzc_cd":{"B":[6,8]},"cp_cd":[0,1,2,3,4],"enp_cd":[1],"category":6}
|
| 627 |
+
|
| 628 |
+
"""
|
eval/results.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Evaluation Results โ DLM-NL2JSON-4B vs Baselines
|
| 2 |
+
|
| 3 |
+
## Test Configuration
|
| 4 |
+
- **Test set**: `task_analysis_sft_251128_test.jsonl` (2,041 samples, 10 categories)
|
| 5 |
+
- **Metric**: Field-level exact match accuracy (summary field excluded)
|
| 6 |
+
- **Note**: 64 CSM samples with known gold label noise excluded in adjusted metrics (see below)
|
| 7 |
+
- **Train/Test overlap**: 16/2,041 (0.78%) โ retained for consistency across models
|
| 8 |
+
|
| 9 |
+
## Per-Category Accuracy
|
| 10 |
+
|
| 11 |
+
| Category | N | DLM-NL2JSON-4B | GPT-4o | Qwen3.5-35B-A3B |
|
| 12 |
+
|----------|---|-------------|--------|-----------------|
|
| 13 |
+
| ALP-A (pattern) | 250 | **99.6%** | 56.0% | 47.6% |
|
| 14 |
+
| ALP-B (flow) | 250 | **98.4%** | 50.4% | 46.8% |
|
| 15 |
+
| CSM (consumption) | 700 | **90.6%** | 90.1% | 86.1% |
|
| 16 |
+
| CREDIT-Income | 58 | **94.8%** | 53.4% | 34.5% |
|
| 17 |
+
| CREDIT-Spending | 77 | **97.4%** | 92.2% | 51.9% |
|
| 18 |
+
| CREDIT-Loan/Default | 73 | **98.6%** | 94.5% | 72.6% |
|
| 19 |
+
| CPI (business) | 219 | 86.3% | **87.2%** | 54.8% |
|
| 20 |
+
| GIS-Inflow | 72 | **97.2%** | 79.2% | 93.1% |
|
| 21 |
+
| GIS-Outflow | 62 | **98.4%** | 77.4% | 98.4% |
|
| 22 |
+
| GIS-Consumption | 280 | 98.2% | **99.6%** | 97.5% |
|
| 23 |
+
|
| 24 |
+
## Overall (Raw)
|
| 25 |
+
|
| 26 |
+
| Model | Params | Accuracy | Avg Latency |
|
| 27 |
+
|-------|--------|----------|-------------|
|
| 28 |
+
| **DLM-NL2JSON-4B** | **4B** | **94.4% (1926/2041)** | 2.59s |
|
| 29 |
+
| GPT-4o | ~200B+ | 80.5% (1643/2041) | 1.58s |
|
| 30 |
+
| Qwen3.5-35B-A3B | 35B (3B active) | 72.2% (1473/2041) | 0.85s |
|
| 31 |
+
|
| 32 |
+
## Overall (Adjusted โ 64 CSM gold noise samples excluded)
|
| 33 |
+
|
| 34 |
+
| Model | Accuracy | N |
|
| 35 |
+
|-------|----------|---|
|
| 36 |
+
| **DLM-NL2JSON-4B** | **96.8% (1914/1977)** | 1977 |
|
| 37 |
+
| GPT-4o | 82.5% (1631/1977) | 1977 |
|
| 38 |
+
| Qwen3.5-35B-A3B | 73.9% (1461/1977) | 1977 |
|
| 39 |
+
|
| 40 |
+
## Hardware
|
| 41 |
+
|
| 42 |
+
| Model | Serving | GPU |
|
| 43 |
+
|-------|---------|-----|
|
| 44 |
+
| DLM-NL2JSON-4B | vLLM (TensorRT-LLM) | NVIDIA L4 24GB |
|
| 45 |
+
| GPT-4o | OpenAI API | N/A |
|
| 46 |
+
| Qwen3.5-35B-A3B | vLLM | NVIDIA A6000 48GB |
|
| 47 |
+
|
| 48 |
+
## Notes
|
| 49 |
+
- CSM gold noise: 64/700 CSM test samples have `age_cd` capped at 60 instead of 70 for "all ages" queries, conflicting with the prompt specification (`age_cd: [10,20,30,40,50,60,70]`). This affects all models equally.
|
| 50 |
+
- DLM-NL2JSON-4B wins 8/10 categories outright, ties 1, and loses only CPI (86.3% vs GPT-4o 87.2%).
|
eval/test_data_2041.jsonl
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|