UI/dbai_src/dbai.py [140:174]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                   columns_info=columns_info
                                                   )
            metadata[table_id]["table_description"] = gemini.generate_content(
                prompt
                ).text

        return metadata

    def api_list_tables(self):
        """Gemini Tool for listing all tables info. """
        # api_response = client.list_tables(DATASET_ID)
        # api_response = str([table.table_id for table in api_response])
        try:
            api_response = self.metadata
        except Exception:  # pylint: disable=broad-except
            api_response = self.tables_list
        return api_response

    def api_get_table_metadata(self, table_id):
        """Gemini Tool to fetch metadata for the given Table"""
        try:
            table_metadata = str(self.metadata[table_id])
        except Exception:  # pylint: disable=broad-except
            # if table_id is in form of dataset_id.table_id
            # then remove dataset_id
            table_metadata = str(self.metadata[table_id.split('.')[-1]])
        return table_metadata

    def execute_sql_query(self, query):
        """Gemini Tool to execute given SQL and return execution result. """
        job_config = bigquery.QueryJobConfig(
            default_dataset=f'{self.proj_id}.{self.dataset_id}'
            )
        try:
            cleaned_query = query.replace("\\n", " ").replace("\n", "")
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



dbai_src/dbai.py [139:175]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                columns_info=columns_info
                )
            metadata[table_id]["table_description"] = gemini.generate_content(
                prompt
                ).text

        return metadata

    def api_list_tables(self):
        """Gemini Tool for listing all tables info. """
        # api_response = client.list_tables(DATASET_ID)
        # api_response = str([table.table_id for table in api_response])
        try:
            api_response = self.metadata
        except Exception:  # pylint: disable=broad-except
            api_response = self.tables_list
        return api_response

    def api_get_table_metadata(self, table_id):
        """Gemini Tool to fetch metadata for the given Table"""
        try:
            table_metadata = str(self.metadata[table_id])
        except Exception:  # pylint: disable=broad-except
            # if table_id is in form of dataset_id.table_id
            # then remove dataset_id
            table_metadata = str(self.metadata[table_id.split('.')[-1]])
        return table_metadata

    def execute_sql_query(self, query):
        """Gemini Tool to execute given SQL and return execution result. """
        job_config = bigquery.QueryJobConfig(
            default_dataset=f'{self.proj_id}.{self.dataset_id}'
            )
        try:
            # cleaned_query = query.replace(
            #     "\\n", " ").replace("\n", "").replace("\\", "")
            cleaned_query = query.replace("\\n", " ").replace("\n", "")
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



