Update logging in decision_engine.py and retriever.py to use node_id as chunk_id and total_score instead of score for improved accuracy in debug statements. This change aligns with the new data structure introduced in version 4.5.4, enhancing traceability in retrieval processes.

This commit is contained in:
Lars 2026-01-11 18:55:13 +01:00
parent 1df89205ac
commit 3dc81ade0f
2 changed files with 7 additions and 2 deletions

View File

@ -225,8 +225,11 @@ class DecisionEngine:
else: else:
logger.info(f"✨ [SUCCESS] Stream '{name}' lieferte {len(response.results)} Treffer.") logger.info(f"✨ [SUCCESS] Stream '{name}' lieferte {len(response.results)} Treffer.")
# Top 3 Treffer im DEBUG-Level loggen # Top 3 Treffer im DEBUG-Level loggen
# WP-24c v4.5.4: QueryHit hat kein chunk_id Feld - verwende node_id (enthält die Chunk-ID)
for i, hit in enumerate(response.results[:3]): for i, hit in enumerate(response.results[:3]):
logger.debug(f" [{i+1}] Chunk: {hit.chunk_id} | Score: {hit.score:.4f} | Path: {hit.source.get('path', 'N/A')}") chunk_id = hit.node_id # node_id ist die Chunk-ID (pid)
score = hit.total_score # QueryHit hat total_score, nicht score
logger.debug(f" [{i+1}] Chunk: {chunk_id} | Score: {score:.4f} | Path: {hit.source.get('path', 'N/A') if hit.source else 'N/A'}")
for hit in response.results: for hit in response.results:
hit.stream_origin = name hit.stream_origin = name

View File

@ -357,8 +357,10 @@ def _build_hits_from_semantic(
else: else:
logger.info(f"✨ [SUCCESS] Hybride Suche lieferte {len(results)} Treffer (Latency: {latency_ms}ms)") logger.info(f"✨ [SUCCESS] Hybride Suche lieferte {len(results)} Treffer (Latency: {latency_ms}ms)")
# Top 3 finale Scores loggen # Top 3 finale Scores loggen
# WP-24c v4.5.4: QueryHit hat kein chunk_id Feld - verwende node_id (enthält die Chunk-ID)
for i, hit in enumerate(results[:3]): for i, hit in enumerate(results[:3]):
logger.debug(f" [{i+1}] Final: Chunk={hit.chunk_id} | Total-Score={hit.total_score:.4f} | Semantic={hit.semantic_score:.4f} | Edge={hit.edge_bonus:.4f}") chunk_id = hit.node_id # node_id ist die Chunk-ID (pid)
logger.debug(f" [{i+1}] Final: Chunk={chunk_id} | Total-Score={hit.total_score:.4f} | Semantic={hit.semantic_score:.4f} | Edge={hit.edge_bonus:.4f}")
return QueryResponse(results=results, used_mode=used_mode, latency_ms=latency_ms) return QueryResponse(results=results, used_mode=used_mode, latency_ms=latency_ms)