feat(agent): add index bootstrap and answer feedback

This commit is contained in:
2026-09-16 22:40:06 +02:00
parent fc656188cf
commit c005b9b306
19 changed files with 757 additions and 41 deletions
+20
View File
@@ -3,6 +3,7 @@
python -m agent.cli ingest [--no-embed] Index (neu) aufbauen
python -m agent.cli ask "Frage?" [--top-k N] [--json]
python -m agent.cli eval [--answers] [--limit N] [--k 8] [--json-out FILE]
python -m agent.cli audit [--limit N]
python -m agent.cli serve [--host 0.0.0.0]
"""
from __future__ import annotations
@@ -81,6 +82,21 @@ def _cmd_eval(args: argparse.Namespace, cfg: Config) -> int:
return run_eval(cfg, args)
def _cmd_audit(args: argparse.Namespace, cfg: Config) -> int:
from .audit import AuditStore
if not cfg.audit_enabled:
print("[Fehler] Audit ist nicht aktiviert (PV_AUDIT_ENABLED=true).", file=sys.stderr)
return 2
store = AuditStore(cfg)
try:
rows = store.recent(limit=args.limit)
finally:
store.close()
print(json.dumps(rows, indent=2, ensure_ascii=False))
return 0
def _is_loopback_bind(host: str) -> bool:
if host.casefold() == "localhost":
return True
@@ -124,6 +140,9 @@ def main(argv: list[str] | None = None) -> int:
p_eval.add_argument("--k", type=int, default=8, help="K für Recall@k")
p_eval.add_argument("--json-out", default=None)
p_audit = sub.add_parser("audit", help="Letzte Fragen, Antworten und Bewertungen")
p_audit.add_argument("--limit", type=int, default=20)
p_serve = sub.add_parser("serve", help="HTTP-API starten")
p_serve.add_argument("--host", default="127.0.0.1")
@@ -132,6 +151,7 @@ def main(argv: list[str] | None = None) -> int:
"ingest": _cmd_ingest,
"ask": _cmd_ask,
"eval": _cmd_eval,
"audit": _cmd_audit,
"serve": _cmd_serve,
}
return handlers[args.cmd](args, cfg)