def populate_table()

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