Wire up query history: localStorage session persistence + sidebar UI

This commit is contained in:
2026-08-14 17:44:36 +07:00
parent 9be5819710
commit 057d4ed9dc
23 changed files with 1231 additions and 30 deletions
+9 -4
View File
@@ -137,7 +137,7 @@ def build_runtime(settings: Settings):
effective_metrics = metrics or NullMetrics()
configure_telemetry(settings, effective_metrics)
if settings.embedding_provider == "disabled":
return None, None, PostgresTraceRepository(settings.postgres_dsn), metrics
return None, None, PostgresTraceRepository(settings.postgres_dsn), metrics, None
if settings.embedding_provider != "cohere-v4":
raise ValueError(
"No production query embedder is configured. Supported values: "
@@ -169,8 +169,13 @@ def build_runtime(settings: Settings):
# drug identity through `LlmQueryUnderstander` against the same catalog.
resolver = CatalogDrugResolver(aliases)
reranker = _build_reranker(settings)
# Returned on its own below (Feature-List #4/#23's section-list and
# verbatim-section-text endpoints) — both are plain payload-filtered
# Qdrant reads with no LLM/generation involved, so they read straight
# from this adapter rather than through `RetrievalService`/`RagAgent`.
qdrant_retriever = QdrantRetriever(client, settings.qdrant_collection, embedder)
retrieval = InstrumentedRetrievalService(
QdrantRetriever(client, settings.qdrant_collection, embedder),
qdrant_retriever,
QdrantParentStore(client, settings.qdrant_collection),
EvidencePolicy(minimum_score=settings.evidence_minimum_score),
section_resolver=section_resolver,
@@ -195,7 +200,7 @@ def build_runtime(settings: Settings):
# understanding either, so there is no conversational/agent
# capability to offer. Answer-only (retrieval-verified, no
# generation) still works through `answers` directly.
return answers, None, trace_writer, metrics
return answers, None, trace_writer, metrics, qdrant_retriever
agent = InstrumentedRagAgent(
understander=InstrumentedQueryUnderstander(
LlmQueryUnderstander(generator, _catalog_names(aliases), resolver)
@@ -208,4 +213,4 @@ def build_runtime(settings: Settings):
store=PostgresConversationStore(settings.postgres_dsn),
metrics=effective_metrics,
)
return answers, agent, trace_writer, metrics
return answers, agent, trace_writer, metrics, qdrant_retriever