| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- """reset_demo.py —— 把 4 条演示归纳与 26 条演示成果恢复到干净状态(仅用于本轮演示数据)。
- 重置后重新运行 enrich.py 得到一致的演示样本。
- 运行:PARSE_MASTER_KEY=... python3 tools/reset_demo.py"""
- import json
- import os
- import sys
- import urllib.request
- BASE = "https://kangshifu.fmode.cn/parse"
- H = {"X-Parse-Application-Id": "FKieRbIoGt_main", "Content-Type": "application/json"}
- MK = os.environ.get("PARSE_MASTER_KEY", "")
- if not MK:
- sys.exit("PARSE_MASTER_KEY 未设置")
- H["X-Parse-Master-Key"] = MK
- def call(m, p, b=None):
- r = urllib.request.Request(BASE + p, data=json.dumps(b).encode() if b is not None else None, headers=H, method=m)
- with urllib.request.urlopen(r, timeout=30) as resp:
- return json.loads(resp.read().decode() or "{}")
- arts = call("GET", "/classes/KfArtifact?limit=1000")["results"]
- for a in arts:
- call("PUT", f"/classes/KfArtifact/{a['objectId']}", {
- "sources": [], "layer": "process", "meta": {},
- "evidenceLevel": "supported" if a.get("evidenceLevel") == "verified" else a.get("evidenceLevel"),
- })
- print("artifacts reset:", len(arts))
- ins = call("GET", "/classes/KfInsight?limit=1000")["results"]
- for i in ins:
- call("PUT", f"/classes/KfInsight/{i['objectId']}", {
- "derivedFrom": ["KHEScCO5dT"] if i["title"] == "学生党价格带敏感" else
- (["KHEScCO5dT", "5icUD1vUVN"] if "露营" not in i["title"] else []),
- "crossRefCount": {"拌面酱包口味单一被反复提及": 7, "夜宵场景对低卡有明确诉求": 5,
- "学生党价格带敏感": 4, "露营场景渗透率低": 2}.get(i["title"], 0),
- "evidenceQuoteCount": 0, "owners": [], "citedWith": [], "layer": "sediment",
- })
- print("insights reset:", [i["title"] for i in ins])
|