File size: 1,009 Bytes
4851501
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
Update Embeddings for Semantic Search

Refreshes the embeddings.json index with any new tables in the catalog.
"""

import sys
import asyncio
import logging
from pathlib import Path

# Add project root to path
sys.path.append(str(Path(__file__).parent.parent.parent))

from backend.core.data_catalog import get_data_catalog
from backend.core.semantic_search import get_semantic_search

def update_embeddings():
    print("="*60)
    # Reload catalog to ensure latest
    catalog = get_data_catalog()
    catalog.load_catalog()
    
    search_service = get_semantic_search()
    
    print(f"Catalog size: {len(catalog.catalog)} tables")
    print(f"Existing embeddings: {len(search_service.embeddings)}")
    
    print("\nGenerating embeddings for new tables...")
    new_count = search_service.embed_all_tables(catalog.catalog)
    
    print(f"\n✅ Embedded {new_count} new tables.")
    print(f"Total embedded: {len(search_service.embeddings)}")

if __name__ == "__main__":
    update_embeddings()