AlioLeuchtmann commited on
Commit
279463b
·
verified ·
1 Parent(s): 9973311

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +58 -0
README.md CHANGED
@@ -56,6 +56,64 @@ CREATE TABLE generalinfo\n(\n id_restaurant INTEGER not null\n
56
  Generate the SQL after thinking step by step:\n <br>
57
  ```
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
  ### System Prompt:
61
 
 
56
  Generate the SQL after thinking step by step:\n <br>
57
  ```
58
 
59
+ ````python
60
+ def bird_gpt_template_no_format(question, commonsense, schema):
61
+ return f'''{schema}
62
+
63
+ -- External Knowledge: {commonsense}
64
+ -- Using valid SQLite and understanding External Knowledge, answer the following question for the tables provided above.
65
+ -- {question}
66
+ Generate the SQL after thinking step by step:
67
+ '''
68
+ ```
69
+
70
+ ### Generate Schema:
71
+
72
+ ```python
73
+ def generate_schema_prompt(db_path, num_rows=None):
74
+ # extract create ddls
75
+ '''
76
+ :param root_place:
77
+ :param db_name:
78
+ :return:
79
+ '''
80
+ full_schema_prompt_list = []
81
+ conn = sqlite3.connect(db_path)
82
+ # Create a cursor object
83
+ cursor = conn.cursor()
84
+ cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
85
+ tables = cursor.fetchall()
86
+ schemas = {}
87
+ for table in tables:
88
+ if table == 'sqlite_sequence':
89
+ continue
90
+ cursor.execute("SELECT sql FROM sqlite_master WHERE type='table' AND name='{}';".format(table[0]))
91
+ create_prompt = cursor.fetchone()[0]
92
+ schemas[table[0]] = create_prompt
93
+ if num_rows:
94
+ cur_table = table[0]
95
+ if cur_table in ['order', 'by', 'group','transaction'] or ' ' in str(cur_table).strip() or '-' in str(cur_table).strip():
96
+ cur_table = '"{}"'.format(cur_table)
97
+
98
+
99
+ cursor.execute("SELECT * FROM {} LIMIT {}".format(cur_table, num_rows))
100
+ column_names = [description[0] for description in cursor.description]
101
+ values = cursor.fetchall()
102
+ rows_prompt = nice_look_table(column_names=column_names, values=values)
103
+ verbose_prompt = "/* \n {} example rows: \n SELECT * FROM {} LIMIT {}; \n {} \n */".format(num_rows,
104
+ cur_table,
105
+ num_rows,
106
+ rows_prompt)
107
+ schemas[table[0]] = "{} \n {}".format(create_prompt, verbose_prompt)
108
+
109
+ for k, v in schemas.items():
110
+ full_schema_prompt_list.append(v)
111
+
112
+ schema_prompt = "\n\n".join(full_schema_prompt_list)
113
+
114
+ return schema_prompt
115
+ ```
116
+
117
 
118
  ### System Prompt:
119