notebook
This commit is contained in:
+12
-5
@@ -411,7 +411,8 @@ def search(
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
# ── Full-text search ──
|
# ── Full-text search ──
|
||||||
conditions = ["deleted = FALSE", "fts @@ plainto_tsquery('simple', %s)"]
|
conditions = ["deleted = FALSE",
|
||||||
|
"fts @@ plainto_tsquery('simple', kb_immutable_unaccent(%s))"]
|
||||||
params: list[Any] = [query]
|
params: list[Any] = [query]
|
||||||
|
|
||||||
if types:
|
if types:
|
||||||
@@ -427,14 +428,17 @@ def search(
|
|||||||
conditions.append("importance >= %s")
|
conditions.append("importance >= %s")
|
||||||
params.append(min_importance)
|
params.append(min_importance)
|
||||||
if not include_sessions:
|
if not include_sessions:
|
||||||
conditions.append("mem_type != 'summary' OR session_id IS NOT NULL")
|
# Vyřaď session summaries (summary + session_id), ale ponech
|
||||||
|
# samostatné summary záznamy. POZOR na závorky — bez nich by se
|
||||||
|
# OR navázalo na celý WHERE a obešlo všechny ostatní filtry.
|
||||||
|
conditions.append("(mem_type != 'summary' OR session_id IS NULL)")
|
||||||
|
|
||||||
where = " AND ".join(conditions)
|
where = " AND ".join(conditions)
|
||||||
rows = conn.execute(
|
rows = conn.execute(
|
||||||
f"""
|
f"""
|
||||||
SELECT id, mem_type, title, content, summary, tags,
|
SELECT id, mem_type, title, content, summary, tags,
|
||||||
project, source, session_id, importance, created_at,
|
project, source, session_id, importance, created_at,
|
||||||
ts_rank(fts, plainto_tsquery('simple', %s)) AS score
|
ts_rank(fts, plainto_tsquery('simple', kb_immutable_unaccent(%s))) AS score
|
||||||
FROM kb_memories
|
FROM kb_memories
|
||||||
WHERE {where}
|
WHERE {where}
|
||||||
ORDER BY score DESC, importance DESC
|
ORDER BY score DESC, importance DESC
|
||||||
@@ -446,8 +450,11 @@ def search(
|
|||||||
fts_ids = {r["id"] for r in rows}
|
fts_ids = {r["id"] for r in rows}
|
||||||
results = [_row_to_dict(r) for r in rows]
|
results = [_row_to_dict(r) for r in rows]
|
||||||
|
|
||||||
# ── Vector search (pouze pokud semantic=True) ──
|
# ── Vector search ──
|
||||||
query_emb = get_embedding(query) if semantic else None
|
# Spustí se když semantic=True, NEBO jako automatický fallback,
|
||||||
|
# pokud full-text nic nenašel (synonyma / významová shoda).
|
||||||
|
need_semantic = semantic or not rows
|
||||||
|
query_emb = get_embedding(query) if need_semantic else None
|
||||||
if query_emb:
|
if query_emb:
|
||||||
try:
|
try:
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
- [Pracovat v maintree](feedback_worktree.md) — vždy pracuj v `U:/janssen/`, ne ve worktree větvích
|
- [Pracovat v maintree](feedback_worktree.md) — vždy pracuj v `U:/janssen/`, ne ve worktree větvích
|
||||||
- [Proaktivně navrhuj lepší API](feedback_proactive_suggestions.md) — když vidím optimalizovatelný kus pipeline a znám lepší standard (delta, CDC, webhooks…), nabídnu to, ne čekám
|
- [Proaktivně navrhuj lepší API](feedback_proactive_suggestions.md) — když vidím optimalizovatelný kus pipeline a znám lepší standard (delta, CDC, webhooks…), nabídnu to, ne čekám
|
||||||
|
- [Průběžně komentovat postup](feedback_narrate_progress.md) — nemizet do tichých tool callů, psát co dělám a proč
|
||||||
- [Statistiky emailů přes MCP, ne SSH](feedback_use_mcp_emaily.md) — pro dotazy nad `emaily` db první volba MCP `emaily`, ne paramiko gymnastika
|
- [Statistiky emailů přes MCP, ne SSH](feedback_use_mcp_emaily.md) — pro dotazy nad `emaily` db první volba MCP `emaily`, ne paramiko gymnastika
|
||||||
- [Projekt Covance UCO3001](project_covance.md) — report vzorků studie 77242113UCO3001, skript `create_report.py`, zdroj + logika OK statusů
|
- [Projekt Covance UCO3001](project_covance.md) — report vzorků studie 77242113UCO3001, skript `create_report.py`, zdroj + logika OK statusů
|
||||||
- [EDC import do MongoDB](project_edc_mongo.md) — skript `medidata/edc_import.py`, import Data Listing + QueryDetails CSV do MongoDB (192.168.1.76), kolekce `queries` + `queries_snapshots` pro tracking vývoje queries v čase
|
- [EDC import do MongoDB](project_edc_mongo.md) — skript `medidata/edc_import.py`, import Data Listing + QueryDetails CSV do MongoDB (192.168.1.76), kolekce `queries` + `queries_snapshots` pro tracking vývoje queries v čase
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
name: feedback_narrate_progress
|
||||||
|
description: "Průběžně komentovat co dělám, nemizet na dlouho do tichých tool callů"
|
||||||
|
metadata:
|
||||||
|
node_type: memory
|
||||||
|
type: feedback
|
||||||
|
originSessionId: 82eef5d6-e90f-4973-8006-61d79b0c640f
|
||||||
|
---
|
||||||
|
|
||||||
|
Uživatel psychicky špatně snáší dlouhé ticho během práce. Když něco dělám déle (víc tool callů, SSH, delší příkaz), průběžně píšu co zrovna dělám a proč — krátká věta před každou akcí — místo dlouhého tichého bloku, po kterém se ptá „co se děje?".
|
||||||
|
|
||||||
|
**Why:** Bez průběžného komentáře neví, jestli pracuju nebo to zamrzlo, a stresuje ho to.
|
||||||
|
|
||||||
|
**How to apply:** Před delší akcí napiš jednu větu co se chystám udělat. U sekvence tool callů krátce hlásej postup. Nenech ho čekat naslepo. Souvisí s [[feedback_proactive_suggestions]].
|
||||||
@@ -30,4 +30,6 @@ Klíčové: `msal`, `asn1crypto`, `pymongo`, `psycopg`, `extract-msg`, `beautifu
|
|||||||
|
|
||||||
**Logy:** `/mnt/user/Scripts/logs/pipeline_YYYYMMDD_HHMM.log`, symlink `pipeline_latest.log`, retence 30 dní.
|
**Logy:** `/mnt/user/Scripts/logs/pipeline_YYYYMMDD_HHMM.log`, symlink `pipeline_latest.log`, retence 30 dní.
|
||||||
|
|
||||||
|
**Centrální logging (2026-06-09):** wrapper `0_run_pipeline` posílá do Grafana Loki (přes [[central-logging]] gateway) **každý řádek konzole** každého kroku — `app="email_pipeline"`, pole `logger=step.<id>`. Klient `central_logging*.py` zkopírován do `/scripts/`. Token+gateway NEjsou v kontejneru — dány přes `os.environ.setdefault` přímo ve wrapperu (kroky je dědí jako subprocesy). Grafana dotaz: `{app="email_pipeline"}`.
|
||||||
|
|
||||||
Souvisí s [[graph-email-import]], [[project-mcp-emaily]].
|
Souvisí s [[graph-email-import]], [[project-mcp-emaily]].
|
||||||
|
|||||||
Reference in New Issue
Block a user