- Vector Store: LanceDB (
~/TanaEmbeddings/vector_store) - Embedding Model:
models/gemini-embedding-001(Google AI) - Sync Schedule: Hourly via launchd (
com.kavia.tanaembeddings.sync)
When asked to "Search Tana" or "Find information":
-
Step 1: Semantic Lookup
- Run
python3 ~/TanaEmbeddings/search_tana.py "[query]" - This finds conceptual matches, even if words don't match exactly.
- Run
-
Step 2: Native Keyword Lookup (Fallback/Augment)
- Simultaneously use
tana.search_nodeswithtextContains. - This is essential for specific names, dates, or technical IDs.
- Simultaneously use
-
Step 3: Arbitration
- If Semantic search returns highly relevant nodes, prioritize them.
- If the user query is very specific (e.g., "Note from March 7"), prioritize Native search.
- Combine both into a single, clean response. Do not show "Technical IDs" unless asked.
- Polling: The background sync is hourly. Do not trigger manual syncs unless the user explicitly says "I just added something, find it now."
- Model: Stick to Google AI to stay within the user's Pro quota.