H
Kevin Hu
commited on
Commit
·
73da86b
1
Parent(s):
f3bf833
Add template DB Assistant and exesql sql column description (#2054)
Browse files### What problem does this PR solve?
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
---------
Co-authored-by: Kevin Hu <[email protected]>
- agent/component/exesql.py +3 -3
- agent/templates/DB Assistant.json +681 -0
agent/component/exesql.py
CHANGED
@@ -82,9 +82,9 @@ class ExeSQL(ComponentBase, ABC):
|
|
82 |
continue
|
83 |
try:
|
84 |
query = db.execute_sql(single_sql)
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
except Exception as e:
|
89 |
sql_res.append({"content": "**Error**:" + str(e) + "\nError SQL Statement:" + single_sql})
|
90 |
pass
|
|
|
82 |
continue
|
83 |
try:
|
84 |
query = db.execute_sql(single_sql)
|
85 |
+
single_res = pd.DataFrame([i for i in query.fetchmany(size=self._param.top_n)])
|
86 |
+
single_res.columns = [i[0] for i in query.description]
|
87 |
+
sql_res.append({"content": "\nTotal: " + str(query.rowcount) + "\n" + single_res.to_markdown()})
|
88 |
except Exception as e:
|
89 |
sql_res.append({"content": "**Error**:" + str(e) + "\nError SQL Statement:" + single_sql})
|
90 |
pass
|
agent/templates/DB Assistant.json
ADDED
@@ -0,0 +1,681 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"id": 6,
|
3 |
+
"title": "DB Assistant",
|
4 |
+
"description": "Database query assistant. It converts questions into SQL statements and queries them in the database. You need to provide 3 kinds of knowledge base: 1. DDL data in the database. 2. Sample text questions converted to SQL statements. 3. A description of the database contents, including but not limited to: tables, records, and so on. You will also need to set up database configuration information: like IP Port ...",
|
5 |
+
"canvas_type": "chatbot",
|
6 |
+
"dsl": {
|
7 |
+
"answer": [],
|
8 |
+
"components": {
|
9 |
+
"Answer:SocialAdsWonder": {
|
10 |
+
"downstream": [
|
11 |
+
"Retrieval:WetNewsHunt",
|
12 |
+
"Retrieval:OpenWingsRepeat",
|
13 |
+
"Retrieval:StrongDrinksShare"
|
14 |
+
],
|
15 |
+
"obj": {
|
16 |
+
"component_name": "Answer",
|
17 |
+
"params": {}
|
18 |
+
},
|
19 |
+
"upstream": [
|
20 |
+
"begin",
|
21 |
+
"Switch:GreatTermsTeach"
|
22 |
+
]
|
23 |
+
},
|
24 |
+
"ExeSQL:CoolFactsChew": {
|
25 |
+
"downstream": [
|
26 |
+
"Switch:GreatTermsTeach"
|
27 |
+
],
|
28 |
+
"obj": {
|
29 |
+
"component_name": "ExeSQL",
|
30 |
+
"params": {
|
31 |
+
"database": "Your DB name",
|
32 |
+
"db_type": "mysql",
|
33 |
+
"host": "Your IP Port",
|
34 |
+
"loop": 3,
|
35 |
+
"password": "Your Password",
|
36 |
+
"port": 3306,
|
37 |
+
"top_n": 9,
|
38 |
+
"username": "Your username"
|
39 |
+
}
|
40 |
+
},
|
41 |
+
"upstream": [
|
42 |
+
"Generate:OliveDotsInvent",
|
43 |
+
"Generate:FloppyHairsFix"
|
44 |
+
]
|
45 |
+
},
|
46 |
+
"Generate:FloppyHairsFix": {
|
47 |
+
"downstream": [
|
48 |
+
"ExeSQL:CoolFactsChew"
|
49 |
+
],
|
50 |
+
"obj": {
|
51 |
+
"component_name": "Generate",
|
52 |
+
"params": {
|
53 |
+
"cite": true,
|
54 |
+
"frequency_penalty": 0.7,
|
55 |
+
"llm_id": "deepseek-chat",
|
56 |
+
"max_tokens": 512,
|
57 |
+
"message_history_window_size": 12,
|
58 |
+
"parameters": [
|
59 |
+
{
|
60 |
+
"component_id": "ExeSQL:CoolFactsChew",
|
61 |
+
"id": "979b8482-28af-4c18-98a6-810963d8f08c",
|
62 |
+
"key": "exesql_input"
|
63 |
+
}
|
64 |
+
],
|
65 |
+
"presence_penalty": 0.4,
|
66 |
+
"prompt": "## You are the Repair SQL Statement Helper, please modify the original SQL statement based on the SQL query error report.\n\n## The contents of the SQL query error report and the original SQL statement are as follows:\n{exesql_input}\n\n## Answer only the modified SQL statement. Please do not give any explanation, just answer the code.",
|
67 |
+
"temperature": 0.1,
|
68 |
+
"top_p": 0.3
|
69 |
+
}
|
70 |
+
},
|
71 |
+
"upstream": [
|
72 |
+
"Switch:GreatTermsTeach"
|
73 |
+
]
|
74 |
+
},
|
75 |
+
"Generate:OliveDotsInvent": {
|
76 |
+
"downstream": [
|
77 |
+
"ExeSQL:CoolFactsChew"
|
78 |
+
],
|
79 |
+
"obj": {
|
80 |
+
"component_name": "Generate",
|
81 |
+
"params": {
|
82 |
+
"cite": true,
|
83 |
+
"frequency_penalty": 0.7,
|
84 |
+
"llm_id": "deepseek-chat",
|
85 |
+
"max_tokens": 512,
|
86 |
+
"message_history_window_size": 12,
|
87 |
+
"parameters": [
|
88 |
+
{
|
89 |
+
"component_id": "Retrieval:StrongDrinksShare",
|
90 |
+
"id": "36c09e33-bad2-42fe-9a56-f136677bb405",
|
91 |
+
"key": "ddl_input"
|
92 |
+
},
|
93 |
+
{
|
94 |
+
"component_id": "Retrieval:OpenWingsRepeat",
|
95 |
+
"id": "e4cfe15e-64cd-4351-b49e-0da2f5c8ec34",
|
96 |
+
"key": "db_input"
|
97 |
+
},
|
98 |
+
{
|
99 |
+
"component_id": "Retrieval:WetNewsHunt",
|
100 |
+
"id": "946d8272-fc98-4040-a75f-502df7e4a42e",
|
101 |
+
"key": "sql_input"
|
102 |
+
}
|
103 |
+
],
|
104 |
+
"presence_penalty": 0.4,
|
105 |
+
"prompt": "\n##The user provides a question and you provide SQL. You will only respond with SQL code and not with any explanations.\n\n##You may use the following DDL statements as a reference for what tables might be available. Use responses to past questions also to guide you: {ddl_input}.\n\n##You may use the following documentation as a reference for what tables might be available. Use responses to past questions also to guide you: {db_input}.\n\n##You may use the following SQL statements as a reference for what tables might be available. Use responses to past questions also to guide you: {sql_input}.\n\n##Respond with only SQL code. Do not answer with any explanations -- just the code.",
|
106 |
+
"temperature": 0.1,
|
107 |
+
"top_p": 0.3
|
108 |
+
}
|
109 |
+
},
|
110 |
+
"upstream": [
|
111 |
+
"Retrieval:StrongDrinksShare",
|
112 |
+
"Retrieval:OpenWingsRepeat",
|
113 |
+
"Retrieval:WetNewsHunt"
|
114 |
+
]
|
115 |
+
},
|
116 |
+
"Retrieval:OpenWingsRepeat": {
|
117 |
+
"downstream": [
|
118 |
+
"Generate:OliveDotsInvent"
|
119 |
+
],
|
120 |
+
"obj": {
|
121 |
+
"component_name": "Retrieval",
|
122 |
+
"params": {
|
123 |
+
"kb_ids": [
|
124 |
+
"b510f8f45f6011ef904f0242ac160006"
|
125 |
+
],
|
126 |
+
"keywords_similarity_weight": 0.3,
|
127 |
+
"similarity_threshold": 0.2,
|
128 |
+
"top_n": 8
|
129 |
+
}
|
130 |
+
},
|
131 |
+
"upstream": [
|
132 |
+
"Answer:SocialAdsWonder"
|
133 |
+
]
|
134 |
+
},
|
135 |
+
"Retrieval:StrongDrinksShare": {
|
136 |
+
"downstream": [
|
137 |
+
"Generate:OliveDotsInvent"
|
138 |
+
],
|
139 |
+
"obj": {
|
140 |
+
"component_name": "Retrieval",
|
141 |
+
"params": {
|
142 |
+
"kb_ids": [
|
143 |
+
"9870268e5f6011efb8570242ac160006"
|
144 |
+
],
|
145 |
+
"keywords_similarity_weight": 0.1,
|
146 |
+
"similarity_threshold": 0.02,
|
147 |
+
"top_n": 18
|
148 |
+
}
|
149 |
+
},
|
150 |
+
"upstream": [
|
151 |
+
"Answer:SocialAdsWonder"
|
152 |
+
]
|
153 |
+
},
|
154 |
+
"Retrieval:WetNewsHunt": {
|
155 |
+
"downstream": [
|
156 |
+
"Generate:OliveDotsInvent"
|
157 |
+
],
|
158 |
+
"obj": {
|
159 |
+
"component_name": "Retrieval",
|
160 |
+
"params": {
|
161 |
+
"kb_ids": [
|
162 |
+
"dd401bcc5b9e11efae770242ac160006"
|
163 |
+
],
|
164 |
+
"keywords_similarity_weight": 0.3,
|
165 |
+
"similarity_threshold": 0.2,
|
166 |
+
"top_n": 8
|
167 |
+
}
|
168 |
+
},
|
169 |
+
"upstream": [
|
170 |
+
"Answer:SocialAdsWonder"
|
171 |
+
]
|
172 |
+
},
|
173 |
+
"Switch:GreatTermsTeach": {
|
174 |
+
"downstream": [
|
175 |
+
"Generate:FloppyHairsFix",
|
176 |
+
"Answer:SocialAdsWonder"
|
177 |
+
],
|
178 |
+
"obj": {
|
179 |
+
"component_name": "Switch",
|
180 |
+
"params": {
|
181 |
+
"conditions": [
|
182 |
+
{
|
183 |
+
"items": [
|
184 |
+
{
|
185 |
+
"cpn_id": "ExeSQL:CoolFactsChew",
|
186 |
+
"operator": "contains",
|
187 |
+
"value": "Error"
|
188 |
+
},
|
189 |
+
{
|
190 |
+
"cpn_id": "ExeSQL:CoolFactsChew",
|
191 |
+
"operator": "start with",
|
192 |
+
"value": "**Error**"
|
193 |
+
}
|
194 |
+
],
|
195 |
+
"logical_operator": "or",
|
196 |
+
"to": "Generate:FloppyHairsFix"
|
197 |
+
}
|
198 |
+
],
|
199 |
+
"end_cpn_id": "Answer:SocialAdsWonder"
|
200 |
+
}
|
201 |
+
},
|
202 |
+
"upstream": [
|
203 |
+
"ExeSQL:CoolFactsChew"
|
204 |
+
]
|
205 |
+
},
|
206 |
+
"begin": {
|
207 |
+
"downstream": [
|
208 |
+
"Answer:SocialAdsWonder"
|
209 |
+
],
|
210 |
+
"obj": {
|
211 |
+
"component_name": "Begin",
|
212 |
+
"params": {}
|
213 |
+
},
|
214 |
+
"upstream": []
|
215 |
+
}
|
216 |
+
},
|
217 |
+
"graph": {
|
218 |
+
"edges": [
|
219 |
+
{
|
220 |
+
"id": "reactflow__edge-begin-Answer:SocialAdsWonderc",
|
221 |
+
"markerEnd": "logo",
|
222 |
+
"source": "begin",
|
223 |
+
"sourceHandle": null,
|
224 |
+
"style": {
|
225 |
+
"stroke": "rgb(202 197 245)",
|
226 |
+
"strokeWidth": 2
|
227 |
+
},
|
228 |
+
"target": "Answer:SocialAdsWonder",
|
229 |
+
"targetHandle": "c",
|
230 |
+
"type": "buttonEdge"
|
231 |
+
},
|
232 |
+
{
|
233 |
+
"id": "reactflow__edge-Answer:SocialAdsWonderb-Retrieval:WetNewsHuntc",
|
234 |
+
"markerEnd": "logo",
|
235 |
+
"source": "Answer:SocialAdsWonder",
|
236 |
+
"sourceHandle": "b",
|
237 |
+
"style": {
|
238 |
+
"stroke": "rgb(202 197 245)",
|
239 |
+
"strokeWidth": 2
|
240 |
+
},
|
241 |
+
"target": "Retrieval:WetNewsHunt",
|
242 |
+
"targetHandle": "c",
|
243 |
+
"type": "buttonEdge"
|
244 |
+
},
|
245 |
+
{
|
246 |
+
"id": "reactflow__edge-Answer:SocialAdsWonderb-Retrieval:OpenWingsRepeatc",
|
247 |
+
"markerEnd": "logo",
|
248 |
+
"source": "Answer:SocialAdsWonder",
|
249 |
+
"sourceHandle": "b",
|
250 |
+
"style": {
|
251 |
+
"stroke": "rgb(202 197 245)",
|
252 |
+
"strokeWidth": 2
|
253 |
+
},
|
254 |
+
"target": "Retrieval:OpenWingsRepeat",
|
255 |
+
"targetHandle": "c",
|
256 |
+
"type": "buttonEdge"
|
257 |
+
},
|
258 |
+
{
|
259 |
+
"id": "reactflow__edge-Answer:SocialAdsWonderb-Retrieval:StrongDrinksSharec",
|
260 |
+
"markerEnd": "logo",
|
261 |
+
"source": "Answer:SocialAdsWonder",
|
262 |
+
"sourceHandle": "b",
|
263 |
+
"style": {
|
264 |
+
"stroke": "rgb(202 197 245)",
|
265 |
+
"strokeWidth": 2
|
266 |
+
},
|
267 |
+
"target": "Retrieval:StrongDrinksShare",
|
268 |
+
"targetHandle": "c",
|
269 |
+
"type": "buttonEdge"
|
270 |
+
},
|
271 |
+
{
|
272 |
+
"id": "reactflow__edge-Retrieval:StrongDrinksShareb-Generate:OliveDotsInventc",
|
273 |
+
"markerEnd": "logo",
|
274 |
+
"source": "Retrieval:StrongDrinksShare",
|
275 |
+
"sourceHandle": "b",
|
276 |
+
"style": {
|
277 |
+
"stroke": "rgb(202 197 245)",
|
278 |
+
"strokeWidth": 2
|
279 |
+
},
|
280 |
+
"target": "Generate:OliveDotsInvent",
|
281 |
+
"targetHandle": "c",
|
282 |
+
"type": "buttonEdge"
|
283 |
+
},
|
284 |
+
{
|
285 |
+
"id": "reactflow__edge-Retrieval:OpenWingsRepeatb-Generate:OliveDotsInventc",
|
286 |
+
"markerEnd": "logo",
|
287 |
+
"source": "Retrieval:OpenWingsRepeat",
|
288 |
+
"sourceHandle": "b",
|
289 |
+
"style": {
|
290 |
+
"stroke": "rgb(202 197 245)",
|
291 |
+
"strokeWidth": 2
|
292 |
+
},
|
293 |
+
"target": "Generate:OliveDotsInvent",
|
294 |
+
"targetHandle": "c",
|
295 |
+
"type": "buttonEdge"
|
296 |
+
},
|
297 |
+
{
|
298 |
+
"id": "reactflow__edge-Retrieval:WetNewsHuntb-Generate:OliveDotsInventc",
|
299 |
+
"markerEnd": "logo",
|
300 |
+
"source": "Retrieval:WetNewsHunt",
|
301 |
+
"sourceHandle": "b",
|
302 |
+
"style": {
|
303 |
+
"stroke": "rgb(202 197 245)",
|
304 |
+
"strokeWidth": 2
|
305 |
+
},
|
306 |
+
"target": "Generate:OliveDotsInvent",
|
307 |
+
"targetHandle": "c",
|
308 |
+
"type": "buttonEdge"
|
309 |
+
},
|
310 |
+
{
|
311 |
+
"id": "727a0747-826e-4b26-808f-724d054231b4",
|
312 |
+
"source": "Switch:GreatTermsTeach",
|
313 |
+
"sourceHandle": "Case 1",
|
314 |
+
"target": "Generate:FloppyHairsFix"
|
315 |
+
},
|
316 |
+
{
|
317 |
+
"id": "a2d65f9f-7fde-49f1-a23c-3bbcdfd1b236",
|
318 |
+
"source": "Switch:GreatTermsTeach",
|
319 |
+
"sourceHandle": "end_cpn_id",
|
320 |
+
"target": "Answer:SocialAdsWonder"
|
321 |
+
},
|
322 |
+
{
|
323 |
+
"id": "reactflow__edge-Generate:OliveDotsInventb-ExeSQL:CoolFactsChewd",
|
324 |
+
"markerEnd": "logo",
|
325 |
+
"source": "Generate:OliveDotsInvent",
|
326 |
+
"sourceHandle": "b",
|
327 |
+
"style": {
|
328 |
+
"stroke": "rgb(202 197 245)",
|
329 |
+
"strokeWidth": 2
|
330 |
+
},
|
331 |
+
"target": "ExeSQL:CoolFactsChew",
|
332 |
+
"targetHandle": "d",
|
333 |
+
"type": "buttonEdge"
|
334 |
+
},
|
335 |
+
{
|
336 |
+
"id": "reactflow__edge-ExeSQL:CoolFactsChewc-Switch:GreatTermsTeachb",
|
337 |
+
"markerEnd": "logo",
|
338 |
+
"source": "ExeSQL:CoolFactsChew",
|
339 |
+
"sourceHandle": "c",
|
340 |
+
"style": {
|
341 |
+
"stroke": "rgb(202 197 245)",
|
342 |
+
"strokeWidth": 2
|
343 |
+
},
|
344 |
+
"target": "Switch:GreatTermsTeach",
|
345 |
+
"targetHandle": "b",
|
346 |
+
"type": "buttonEdge"
|
347 |
+
},
|
348 |
+
{
|
349 |
+
"id": "reactflow__edge-Generate:FloppyHairsFixd-ExeSQL:CoolFactsChewb",
|
350 |
+
"markerEnd": "logo",
|
351 |
+
"source": "Generate:FloppyHairsFix",
|
352 |
+
"sourceHandle": "d",
|
353 |
+
"style": {
|
354 |
+
"stroke": "rgb(202 197 245)",
|
355 |
+
"strokeWidth": 2
|
356 |
+
},
|
357 |
+
"target": "ExeSQL:CoolFactsChew",
|
358 |
+
"targetHandle": "b",
|
359 |
+
"type": "buttonEdge"
|
360 |
+
}
|
361 |
+
],
|
362 |
+
"nodes": [
|
363 |
+
{
|
364 |
+
"data": {
|
365 |
+
"label": "Begin",
|
366 |
+
"name": "begin"
|
367 |
+
},
|
368 |
+
"dragging": false,
|
369 |
+
"height": 50,
|
370 |
+
"id": "begin",
|
371 |
+
"position": {
|
372 |
+
"x": -502.15446588701354,
|
373 |
+
"y": 151.09869460419435
|
374 |
+
},
|
375 |
+
"positionAbsolute": {
|
376 |
+
"x": -502.15446588701354,
|
377 |
+
"y": 151.09869460419435
|
378 |
+
},
|
379 |
+
"selected": false,
|
380 |
+
"sourcePosition": "left",
|
381 |
+
"targetPosition": "right",
|
382 |
+
"type": "beginNode",
|
383 |
+
"width": 50
|
384 |
+
},
|
385 |
+
{
|
386 |
+
"data": {
|
387 |
+
"form": {},
|
388 |
+
"label": "Answer",
|
389 |
+
"name": "interface"
|
390 |
+
},
|
391 |
+
"dragging": false,
|
392 |
+
"height": 100,
|
393 |
+
"id": "Answer:SocialAdsWonder",
|
394 |
+
"position": {
|
395 |
+
"x": -277.29339621802814,
|
396 |
+
"y": 126.32295980639057
|
397 |
+
},
|
398 |
+
"positionAbsolute": {
|
399 |
+
"x": -277.29339621802814,
|
400 |
+
"y": 126.32295980639057
|
401 |
+
},
|
402 |
+
"selected": false,
|
403 |
+
"sourcePosition": "right",
|
404 |
+
"targetPosition": "left",
|
405 |
+
"type": "logicNode",
|
406 |
+
"width": 100
|
407 |
+
},
|
408 |
+
{
|
409 |
+
"data": {
|
410 |
+
"form": {
|
411 |
+
"kb_ids": [
|
412 |
+
"dd401bcc5b9e11efae770242ac160006"
|
413 |
+
],
|
414 |
+
"keywords_similarity_weight": 0.3,
|
415 |
+
"similarity_threshold": 0.2,
|
416 |
+
"top_n": 8
|
417 |
+
},
|
418 |
+
"label": "Retrieval",
|
419 |
+
"name": "Q->SQL"
|
420 |
+
},
|
421 |
+
"dragging": false,
|
422 |
+
"height": 100,
|
423 |
+
"id": "Retrieval:WetNewsHunt",
|
424 |
+
"position": {
|
425 |
+
"x": -36.09564951314297,
|
426 |
+
"y": 126.87871017707147
|
427 |
+
},
|
428 |
+
"positionAbsolute": {
|
429 |
+
"x": -36.09564951314297,
|
430 |
+
"y": 126.87871017707147
|
431 |
+
},
|
432 |
+
"selected": false,
|
433 |
+
"sourcePosition": "right",
|
434 |
+
"targetPosition": "left",
|
435 |
+
"type": "logicNode",
|
436 |
+
"width": 100
|
437 |
+
},
|
438 |
+
{
|
439 |
+
"data": {
|
440 |
+
"form": {
|
441 |
+
"cite": true,
|
442 |
+
"frequencyPenaltyEnabled": true,
|
443 |
+
"frequency_penalty": 0.7,
|
444 |
+
"llm_id": "deepseek-chat",
|
445 |
+
"maxTokensEnabled": true,
|
446 |
+
"max_tokens": 256,
|
447 |
+
"message_history_window_size": 12,
|
448 |
+
"parameters": [
|
449 |
+
{
|
450 |
+
"component_id": "Retrieval:StrongDrinksShare",
|
451 |
+
"id": "36c09e33-bad2-42fe-9a56-f136677bb405",
|
452 |
+
"key": "ddl_input"
|
453 |
+
},
|
454 |
+
{
|
455 |
+
"component_id": "Retrieval:OpenWingsRepeat",
|
456 |
+
"id": "e4cfe15e-64cd-4351-b49e-0da2f5c8ec34",
|
457 |
+
"key": "db_input"
|
458 |
+
},
|
459 |
+
{
|
460 |
+
"component_id": "Retrieval:WetNewsHunt",
|
461 |
+
"id": "946d8272-fc98-4040-a75f-502df7e4a42e",
|
462 |
+
"key": "sql_input"
|
463 |
+
}
|
464 |
+
],
|
465 |
+
"presencePenaltyEnabled": true,
|
466 |
+
"presence_penalty": 0.4,
|
467 |
+
"prompt": "\n##The user provides a question and you provide SQL. You will only respond with SQL code and not with any explanations.\n\n##You may use the following DDL statements as a reference for what tables might be available. Use responses to past questions also to guide you: {ddl_input}.\n\n##You may use the following documentation as a reference for what tables might be available. Use responses to past questions also to guide you: {db_input}.\n\n##You may use the following SQL statements as a reference for what tables might be available. Use responses to past questions also to guide you: {sql_input}.\n\n##Respond with only SQL code. Do not answer with any explanations -- just the code.",
|
468 |
+
"temperature": 0.1,
|
469 |
+
"temperatureEnabled": true,
|
470 |
+
"topPEnabled": true,
|
471 |
+
"top_p": 0.3
|
472 |
+
},
|
473 |
+
"label": "Generate",
|
474 |
+
"name": "Generate SQL Statement LLM"
|
475 |
+
},
|
476 |
+
"dragging": false,
|
477 |
+
"height": 150,
|
478 |
+
"id": "Generate:OliveDotsInvent",
|
479 |
+
"position": {
|
480 |
+
"x": 228.17845935020443,
|
481 |
+
"y": 102.9434103991
|
482 |
+
},
|
483 |
+
"positionAbsolute": {
|
484 |
+
"x": 228.17845935020443,
|
485 |
+
"y": 102.9434103991
|
486 |
+
},
|
487 |
+
"selected": false,
|
488 |
+
"sourcePosition": "right",
|
489 |
+
"targetPosition": "left",
|
490 |
+
"type": "logicNode",
|
491 |
+
"width": 150
|
492 |
+
},
|
493 |
+
{
|
494 |
+
"data": {
|
495 |
+
"form": {
|
496 |
+
"kb_ids": [
|
497 |
+
"b510f8f45f6011ef904f0242ac160006"
|
498 |
+
],
|
499 |
+
"keywords_similarity_weight": 0.3,
|
500 |
+
"similarity_threshold": 0.2,
|
501 |
+
"top_n": 8
|
502 |
+
},
|
503 |
+
"label": "Retrieval",
|
504 |
+
"name": "DB Description"
|
505 |
+
},
|
506 |
+
"dragging": false,
|
507 |
+
"height": 100,
|
508 |
+
"id": "Retrieval:OpenWingsRepeat",
|
509 |
+
"position": {
|
510 |
+
"x": -37.01242367263157,
|
511 |
+
"y": 269.6456054919204
|
512 |
+
},
|
513 |
+
"positionAbsolute": {
|
514 |
+
"x": -37.01242367263157,
|
515 |
+
"y": 269.6456054919204
|
516 |
+
},
|
517 |
+
"selected": false,
|
518 |
+
"sourcePosition": "right",
|
519 |
+
"targetPosition": "left",
|
520 |
+
"type": "logicNode",
|
521 |
+
"width": 100
|
522 |
+
},
|
523 |
+
{
|
524 |
+
"data": {
|
525 |
+
"form": {
|
526 |
+
"kb_ids": [
|
527 |
+
"9870268e5f6011efb8570242ac160006"
|
528 |
+
],
|
529 |
+
"keywords_similarity_weight": 0.1,
|
530 |
+
"similarity_threshold": 0.02,
|
531 |
+
"top_n": 18
|
532 |
+
},
|
533 |
+
"label": "Retrieval",
|
534 |
+
"name": "DDL"
|
535 |
+
},
|
536 |
+
"dragging": false,
|
537 |
+
"height": 100,
|
538 |
+
"id": "Retrieval:StrongDrinksShare",
|
539 |
+
"position": {
|
540 |
+
"x": -34.942728410599784,
|
541 |
+
"y": -7.316435660083982
|
542 |
+
},
|
543 |
+
"positionAbsolute": {
|
544 |
+
"x": -34.942728410599784,
|
545 |
+
"y": -7.316435660083982
|
546 |
+
},
|
547 |
+
"selected": false,
|
548 |
+
"sourcePosition": "right",
|
549 |
+
"targetPosition": "left",
|
550 |
+
"type": "logicNode",
|
551 |
+
"width": 100
|
552 |
+
},
|
553 |
+
{
|
554 |
+
"data": {
|
555 |
+
"form": {
|
556 |
+
"database": "Your DB name",
|
557 |
+
"db_type": "mysql",
|
558 |
+
"host": "Your IP Port",
|
559 |
+
"loop": 3,
|
560 |
+
"password": "Your Password",
|
561 |
+
"port": 3306,
|
562 |
+
"top_n": 9,
|
563 |
+
"username": "Your username"
|
564 |
+
},
|
565 |
+
"label": "ExeSQL",
|
566 |
+
"name": "Execute SQL"
|
567 |
+
},
|
568 |
+
"dragging": false,
|
569 |
+
"height": 50,
|
570 |
+
"id": "ExeSQL:CoolFactsChew",
|
571 |
+
"position": {
|
572 |
+
"x": 370.19177674560433,
|
573 |
+
"y": 300.3411019618877
|
574 |
+
},
|
575 |
+
"positionAbsolute": {
|
576 |
+
"x": 370.19177674560433,
|
577 |
+
"y": 300.3411019618877
|
578 |
+
},
|
579 |
+
"selected": false,
|
580 |
+
"sourcePosition": "right",
|
581 |
+
"targetPosition": "left",
|
582 |
+
"type": "ragNode",
|
583 |
+
"width": 50
|
584 |
+
},
|
585 |
+
{
|
586 |
+
"data": {
|
587 |
+
"form": {
|
588 |
+
"conditions": [
|
589 |
+
{
|
590 |
+
"items": [
|
591 |
+
{
|
592 |
+
"cpn_id": "ExeSQL:CoolFactsChew",
|
593 |
+
"operator": "contains",
|
594 |
+
"value": "Error"
|
595 |
+
},
|
596 |
+
{
|
597 |
+
"cpn_id": "ExeSQL:CoolFactsChew",
|
598 |
+
"operator": "start with",
|
599 |
+
"value": "**Error**"
|
600 |
+
}
|
601 |
+
],
|
602 |
+
"logical_operator": "or",
|
603 |
+
"to": "Generate:FloppyHairsFix"
|
604 |
+
}
|
605 |
+
],
|
606 |
+
"end_cpn_id": "Answer:SocialAdsWonder"
|
607 |
+
},
|
608 |
+
"label": "Switch",
|
609 |
+
"name": "Analyze SQL Result"
|
610 |
+
},
|
611 |
+
"dragging": false,
|
612 |
+
"height": 100,
|
613 |
+
"id": "Switch:GreatTermsTeach",
|
614 |
+
"position": {
|
615 |
+
"x": -49.30094871211969,
|
616 |
+
"y": 481.12636846537964
|
617 |
+
},
|
618 |
+
"positionAbsolute": {
|
619 |
+
"x": -49.30094871211969,
|
620 |
+
"y": 481.12636846537964
|
621 |
+
},
|
622 |
+
"selected": false,
|
623 |
+
"sourcePosition": "right",
|
624 |
+
"targetPosition": "left",
|
625 |
+
"type": "categorizeNode",
|
626 |
+
"width": 100
|
627 |
+
},
|
628 |
+
{
|
629 |
+
"data": {
|
630 |
+
"form": {
|
631 |
+
"cite": true,
|
632 |
+
"frequencyPenaltyEnabled": true,
|
633 |
+
"frequency_penalty": 0.7,
|
634 |
+
"llm_id": "deepseek-chat",
|
635 |
+
"maxTokensEnabled": true,
|
636 |
+
"max_tokens": 256,
|
637 |
+
"message_history_window_size": 12,
|
638 |
+
"parameters": [
|
639 |
+
{
|
640 |
+
"component_id": "ExeSQL:CoolFactsChew",
|
641 |
+
"id": "979b8482-28af-4c18-98a6-810963d8f08c",
|
642 |
+
"key": "exesql_input"
|
643 |
+
}
|
644 |
+
],
|
645 |
+
"presencePenaltyEnabled": true,
|
646 |
+
"presence_penalty": 0.4,
|
647 |
+
"prompt": "## You are the Repair SQL Statement Helper, please modify the original SQL statement based on the SQL query error report.\n\n## The contents of the SQL query error report and the original SQL statement are as follows:\n{exesql_input}\n\n## Answer only the modified SQL statement. Please do not give any explanation, just answer the code.",
|
648 |
+
"temperature": 0.1,
|
649 |
+
"temperatureEnabled": true,
|
650 |
+
"topPEnabled": true,
|
651 |
+
"top_p": 0.3
|
652 |
+
},
|
653 |
+
"label": "Generate",
|
654 |
+
"name": "Fix SQL Statement LLM"
|
655 |
+
},
|
656 |
+
"dragging": false,
|
657 |
+
"height": 150,
|
658 |
+
"id": "Generate:FloppyHairsFix",
|
659 |
+
"position": {
|
660 |
+
"x": 550.7142554558844,
|
661 |
+
"y": 481.0269336166982
|
662 |
+
},
|
663 |
+
"positionAbsolute": {
|
664 |
+
"x": 550.7142554558844,
|
665 |
+
"y": 481.0269336166982
|
666 |
+
},
|
667 |
+
"selected": true,
|
668 |
+
"sourcePosition": "right",
|
669 |
+
"targetPosition": "left",
|
670 |
+
"type": "logicNode",
|
671 |
+
"width": 150
|
672 |
+
}
|
673 |
+
]
|
674 |
+
},
|
675 |
+
"history": [],
|
676 |
+
"messages": [],
|
677 |
+
"path": [],
|
678 |
+
"reference": []
|
679 |
+
},
|
680 |
+
"avatar": "data:image/png;base64,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"
|
681 |
+
}
|