(self, db_type: Union[str, DB], enable_query_limit: bool = True)
| 233 | sqlbot_name: str = "SQLBot" |
| 234 | |
| 235 | def sql_sys_question(self, db_type: Union[str, DB], enable_query_limit: bool = True): |
| 236 | templates: dict[str, str] = {} |
| 237 | _sql_template = get_sql_example_template(db_type) |
| 238 | _base_template = get_sql_template() |
| 239 | _process_check = _sql_template.get('process_check') if _sql_template.get('process_check') else _base_template[ |
| 240 | 'process_check'] |
| 241 | _query_limit = _base_template['query_limit'] if enable_query_limit else _base_template['no_query_limit'] |
| 242 | _other_rule = _sql_template['other_rule'].format(multi_table_condition=_base_template['multi_table_condition']) |
| 243 | _base_sql_rules = _sql_template['quot_rule'] + _query_limit + _sql_template['limit_rule'] + _other_rule |
| 244 | _sql_examples = _sql_template['basic_example'] |
| 245 | _example_engine = _sql_template['example_engine'] |
| 246 | _example_answer_1 = _sql_template['example_answer_1_with_limit'] if enable_query_limit else _sql_template[ |
| 247 | 'example_answer_1'] |
| 248 | _example_answer_2 = _sql_template['example_answer_2_with_limit'] if enable_query_limit else _sql_template[ |
| 249 | 'example_answer_2'] |
| 250 | _example_answer_3 = _sql_template['example_answer_3_with_limit'] if enable_query_limit else _sql_template[ |
| 251 | 'example_answer_3'] |
| 252 | |
| 253 | templates['system'] = _base_template['system'].format(lang=self.lang, process_check=_process_check, sqlbot_name=self.sqlbot_name) |
| 254 | templates['rules'] = _base_template['generate_rules'].format(lang=self.lang, |
| 255 | sqlbot_name = self.sqlbot_name, |
| 256 | base_sql_rules=_base_sql_rules, |
| 257 | basic_sql_examples=_sql_examples, |
| 258 | example_engine=_example_engine, |
| 259 | example_answer_1=_example_answer_1, |
| 260 | example_answer_2=_example_answer_2, |
| 261 | example_answer_3=_example_answer_3) |
| 262 | templates['schema'] = _base_template['generate_basic_info'].format(engine=self.engine, schema=self.db_schema, sample_data=self.sample_data) |
| 263 | |
| 264 | if self.terminologies: |
| 265 | templates['terminologies'] = _base_template['generate_terminologies_info'].format( |
| 266 | terminologies=self.terminologies) |
| 267 | |
| 268 | if self.data_training: |
| 269 | templates['data_training'] = _base_template['generate_data_training_info'].format( |
| 270 | data_training=self.data_training) |
| 271 | |
| 272 | if self.custom_prompt: |
| 273 | templates['custom_prompt'] = _base_template['generate_custom_prompt_info'].format( |
| 274 | custom_prompt=self.custom_prompt) |
| 275 | |
| 276 | return templates |
| 277 | |
| 278 | def sql_user_question(self, current_time: str, change_title: bool): |
| 279 | _question = self.question |
no test coverage detected