MCPcopy Index your code
hub / github.com/dataease/SQLBot / sql_sys_question

Method sql_sys_question

backend/apps/chat/models/chat_model.py:235–276  ·  view source on GitHub ↗
(self, db_type: Union[str, DB], enable_query_limit: bool = True)

Source from the content-addressed store, hash-verified

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

Callers 1

init_messagesMethod · 0.80

Calls 4

get_sql_example_templateFunction · 0.90
get_sql_templateFunction · 0.90
formatMethod · 0.80
getMethod · 0.65

Tested by

no test coverage detected