update
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
Merge NUR einstimmig; geprüfte Paare als 'verwandt'-Kante — nie zweimal Tokens."""
|
||||
from rapidfuzz import fuzz
|
||||
|
||||
from . import config, db, engine, llm, panels, textkit
|
||||
from . import config, db, engine, graph, llm, panels, textkit
|
||||
|
||||
|
||||
def _aktive(topic: str) -> list[dict]:
|
||||
@@ -74,11 +74,13 @@ def _kandidaten(topic: str) -> list[tuple[dict, dict, str]]:
|
||||
|
||||
|
||||
def _signatur(text: str) -> set:
|
||||
"""Zahlen + Eigennamen — dieselbe Studie in Paraphrase teilt sie
|
||||
(a20≈a78: 'Biwer', '2023', '25', '35'), auch über Soll-Grenzen."""
|
||||
"""Zahlen + großgeschriebene Wörter — dieselbe Studie/Zahl in Paraphrase
|
||||
teilt sie (a20≈a78: 'Biwer', '2023'). Unicode-Groß statt [A-ZÄÖÜ]-Klasse
|
||||
(Lektion 106); Schriften ohne Großschreibung liefern nur Zahlen."""
|
||||
import re
|
||||
zahlen = set(re.findall(r"\b\d{2,4}\b", text))
|
||||
namen = {w for w in re.findall(r"\b[A-ZÄÖÜ][a-zäöü]{3,}\b", text)}
|
||||
namen = {w for w in re.findall(r"\w{4,}", text, re.UNICODE)
|
||||
if w[0].isupper() and not w[0].isdigit()}
|
||||
return zahlen | namen
|
||||
|
||||
|
||||
@@ -106,16 +108,16 @@ async def _chunk_urteilen(task: dict, chunk: list, tag: str) -> tuple[int, list]
|
||||
in ALLEN gültigen Stimmen vorkommen; fehlende → Rückgabe zum Nachprüfen
|
||||
(nie still als „keine Dublette" werten)."""
|
||||
topic = task["topic"]
|
||||
liste = "\n\n".join(
|
||||
f"PAAR {j + 1}:\nA[{a['id']}] {a['titel']}: {a['definition'][:200]}\n"
|
||||
f"B[{b['id']}] {b['titel']}: {b['definition'][:200]}"
|
||||
for j, (a, b, _) in enumerate(chunk))
|
||||
liste = textkit.paar_liste(
|
||||
[(f"[{a['id']}] {a['titel']}: {a['definition'][:200]}",
|
||||
f"[{b['id']}] {b['titel']}: {b['definition'][:200]}")
|
||||
for a, b, _ in chunk])
|
||||
|
||||
async def ruf(p):
|
||||
text = await llm.call(
|
||||
run_id=task["run_id"], stufe="inventar", knoten="dedup",
|
||||
item=f"{task['item']}:{tag}:p{p}", role="judge", n=len(chunk),
|
||||
skill_namen=["richter", "deutsch-praezise", "dedup-urteil"],
|
||||
skill_namen=graph.skills_von(task["knoten"]),
|
||||
werte={"paare": liste})
|
||||
if text is None:
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user