Default search without Voyage AI — semantic=False by default
Full-text search is the default (fast, no API calls). Pass semantic=True explicitly when vector similarity is needed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -388,10 +388,12 @@ def search(
|
|||||||
limit: int = 10,
|
limit: int = 10,
|
||||||
min_importance: float = 0.0,
|
min_importance: float = 0.0,
|
||||||
include_sessions: bool = False,
|
include_sessions: bool = False,
|
||||||
|
semantic: bool = False,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""
|
"""
|
||||||
Hybridní vyhledávání v paměti.
|
Vyhledávání v paměti.
|
||||||
Kombinuje full-text (vždy) + vektorové sémantické (pokud embeddingy dostupné).
|
Default: full-text (tsvector) — rychlé, bez API volání.
|
||||||
|
semantic=True: přidá vektorové sémantické vyhledávání přes Voyage AI (pomalejší).
|
||||||
|
|
||||||
query: přirozený jazyk nebo klíčová slova
|
query: přirozený jazyk nebo klíčová slova
|
||||||
types: ['fact','decision','preference','summary','document','email','project','person']
|
types: ['fact','decision','preference','summary','document','email','project','person']
|
||||||
@@ -444,8 +446,8 @@ 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 (nativní pgvector, <=> cosine distance) ──
|
# ── Vector search (pouze pokud semantic=True) ──
|
||||||
query_emb = get_embedding(query)
|
query_emb = get_embedding(query) if semantic else None
|
||||||
if query_emb:
|
if query_emb:
|
||||||
try:
|
try:
|
||||||
import numpy as np
|
import numpy as np
|
||||||
@@ -520,6 +522,7 @@ def get_context(
|
|||||||
project: Optional[str] = None,
|
project: Optional[str] = None,
|
||||||
limit: int = 8,
|
limit: int = 8,
|
||||||
include_preferences: bool = True,
|
include_preferences: bool = True,
|
||||||
|
semantic: bool = False,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""
|
"""
|
||||||
Vrátí nejrelevantnější paměti pro daný kontext/téma.
|
Vrátí nejrelevantnější paměti pro daný kontext/téma.
|
||||||
@@ -537,6 +540,7 @@ def get_context(
|
|||||||
project=project,
|
project=project,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
min_importance=0.3,
|
min_importance=0.3,
|
||||||
|
semantic=semantic,
|
||||||
)
|
)
|
||||||
parts.append("=== RELEVANTNÍ PAMĚTI ===\n" + main_result)
|
parts.append("=== RELEVANTNÍ PAMĚTI ===\n" + main_result)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user