in use-cases/rag-pipeline/alloy-db-setup/src/db_setup.py [0:0]
def populate_table():
"""Populate the table"""
try:
# ETL Run
logger.info("Generate embeddings...")
asyncio.run(
table.create_and_populate(
database=catalog_db_name,
max_workers_value=max_workers_value,
processed_data_path=processed_data_path,
table_name=catalog_table_name,
)
)
logger.info("Embeddings generated successfully")
# Create Indexes for all embedding columns(text, image and multimodal)
logger.info("Create SCaNN indexes...")
for modality, embedding_column in embedding_columns.items():
index_name = index_names[modality]
table.create_embeddings_index(
database=catalog_db_name,
distance_function=DISTANCE_FUNCTION,
embedding_column=embedding_column,
index_name=index_name,
num_leaves=NUM_LEAVES_VALUE,
table_name=catalog_table_name,
)
logger.info("SCaNN indexes have been created successfully")
except Exception:
logger.exception("An unhandled exception occurred while populating the table")
raise