def save_config()

in scripts/save_config.py [0:0]


def save_config(embedding_model,
                description_model,
                vector_store,
                logging,
                kgq_examples,
                use_session_history,
                use_column_samples,
                PROJECT_ID,
                pg_region, 
                pg_instance, 
                pg_database, 
                pg_user, 
                pg_password,
                bq_dataset_region,
                bq_opendataqna_dataset_name, 
                bq_log_table_name,
                firestore_region): 
    
    config = configparser.ConfigParser()

    if is_root_dir():
        current_dir = os.getcwd()
        config.read(current_dir + '/config.ini')
        root_dir = current_dir
    else:
        root_dir = os.path.abspath(os.path.join(os.getcwd(), '..'))
        config.read(root_dir+'/config.ini')

    if not 'root_dir' in locals():  # If not found in any parent dir
        raise FileNotFoundError("config.ini not found in current or parent directories.")


    config['GCP']['PROJECT_ID'] = PROJECT_ID
    # config['CONFIG']['DATA_SOURCE'] = data_source
    config['CONFIG']['VECTOR_STORE'] = vector_store
    config['CONFIG']['EMBEDDING_MODEL'] = embedding_model
    config['CONFIG']['DESCRIPTION_MODEL'] = description_model
    config['CONFIG']['FIRESTORE_REGION'] = firestore_region


    # Save the parameters based on Vector Store Choices
    if vector_store == 'cloudsql-pgvector':
        config['PGCLOUDSQL']['PG_INSTANCE'] = pg_instance
        config['PGCLOUDSQL']['PG_DATABASE'] = pg_database
        config['PGCLOUDSQL']['PG_USER'] = pg_user
        config['PGCLOUDSQL']['PG_PASSWORD'] = pg_password
        config['PGCLOUDSQL']['PG_REGION'] = pg_region
        # config['PGCLOUDSQL']['PG_SCHEMA'] = pg_schema

    if vector_store := 'bigquery':
        config['BIGQUERY']['BQ_DATASET_REGION'] = bq_dataset_region
        config['BIGQUERY']['BQ_OPENDATAQNA_DATASET_NAME'] = bq_opendataqna_dataset_name
        config['BIGQUERY']['BQ_LOG_TABLE_NAME'] = bq_log_table_name

    if logging: 
        config['CONFIG']['LOGGING'] = 'yes'
        config['BIGQUERY']['BQ_LOG_TABLE_NAME'] = bq_log_table_name

    else: 
        config['CONFIG']['LOGGING'] = 'no'

    if kgq_examples: 
        config['CONFIG']['KGQ_EXAMPLES'] = 'yes'

    else: 
        config['CONFIG']['KGQ_EXAMPLES'] = 'no'

    if use_session_history:
        config['CONFIG']['USE_SESSION_HISTORY'] = 'yes'

    else:
        config['CONFIG']['USE_SESSION_HISTORY'] = 'no'

    if use_column_samples:
        config['CONFIG']['USE_COLUMN_SAMPLES'] = 'yes'

    else:
        config['CONFIG']['USE_COLUMN_SAMPLES'] = 'no'


    with open(root_dir+'/config.ini', 'w') as configfile:  
        config.write(configfile)

    print('All configuration paramaters saved to file!')