@axiom-lattice/examples-deep_research 1.0.14 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +18 -0
- package/dist/index.js +1080 -102
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/agents/data_agent/index.ts +273 -99
- package/src/agents/data_agent/skills/analysis-methodology.ts +73 -0
- package/src/agents/data_agent/skills/analyst.ts +100 -0
- package/src/agents/data_agent/skills/data-visualization.ts +77 -0
- package/src/agents/data_agent/skills/infographic-creator.ts +344 -0
- package/src/agents/data_agent/skills/notebook-report.ts +82 -0
- package/src/agents/data_agent/skills/sql-query.ts +58 -0
- package/src/agents/data_agent/tools/load_skills.ts +88 -0
- package/src/index.ts +21 -1
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ var require_package = __commonJS({
|
|
|
31
31
|
"package.json"(exports2, module2) {
|
|
32
32
|
module2.exports = {
|
|
33
33
|
name: "@axiom-lattice/examples-deep_research",
|
|
34
|
-
version: "1.0.
|
|
34
|
+
version: "1.0.16",
|
|
35
35
|
main: "dist/index.js",
|
|
36
36
|
bin: {
|
|
37
37
|
"lattice-deep-research": "./dist/index.js"
|
|
@@ -84,7 +84,7 @@ var require_package = __commonJS({
|
|
|
84
84
|
// src/index.ts
|
|
85
85
|
var import_dotenv = __toESM(require("dotenv"));
|
|
86
86
|
var import_gateway = require("@axiom-lattice/gateway");
|
|
87
|
-
var
|
|
87
|
+
var import_core4 = require("@axiom-lattice/core");
|
|
88
88
|
|
|
89
89
|
// src/agents/research/index.ts
|
|
90
90
|
var import_core = require("@axiom-lattice/core");
|
|
@@ -235,45 +235,940 @@ var research_agents = [
|
|
|
235
235
|
(0, import_core.registerAgentLattices)(research_agents);
|
|
236
236
|
|
|
237
237
|
// src/agents/data_agent/index.ts
|
|
238
|
-
var
|
|
238
|
+
var import_core3 = require("@axiom-lattice/core");
|
|
239
|
+
var import_zod3 = __toESM(require("zod"));
|
|
240
|
+
|
|
241
|
+
// src/agents/data_agent/tools/load_skills.ts
|
|
239
242
|
var import_zod2 = __toESM(require("zod"));
|
|
240
|
-
var
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
-
|
|
262
|
-
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
###
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
243
|
+
var import_core2 = require("@axiom-lattice/core");
|
|
244
|
+
|
|
245
|
+
// src/agents/data_agent/skills/analyst.ts
|
|
246
|
+
var analyst = {
|
|
247
|
+
name: "analyst",
|
|
248
|
+
description: "\u534F\u8C03\u548C\u6267\u884C\u5B8C\u6574\u7684\u4E1A\u52A1\u6570\u636E\u5206\u6790\u6D41\u7A0B\uFF0C\u6574\u5408\u5206\u6790\u65B9\u6CD5\u8BBA\u3001SQL\u67E5\u8BE2\u3001\u6570\u636E\u53EF\u89C6\u5316\u548C\u62A5\u544A\u7F16\u5199\u6280\u80FD\u3002\u9002\u7528\u4E8E\u9700\u8981\u7AEF\u5230\u7AEF\u5206\u6790\u6D41\u7A0B\u7684\u590D\u6742\u4E1A\u52A1\u95EE\u9898\u3002",
|
|
249
|
+
prompt: `## \u89D2\u8272\u5B9A\u4F4D
|
|
250
|
+
|
|
251
|
+
\u4F5C\u4E3A\u5206\u6790\u534F\u8C03\u8005\uFF0C\u6574\u5408\u4F7F\u7528\u4EE5\u4E0B\u6280\u80FD\u5B8C\u6210\u7AEF\u5230\u7AEF\u5206\u6790\uFF1A
|
|
252
|
+
- \`analysis-methodology\`: \u7ED3\u6784\u5316\u95EE\u9898\u62C6\u89E3\u548C\u65B9\u6CD5\u8BBA\u5E94\u7528
|
|
253
|
+
- \`sql-query\`: \u6570\u636E\u68C0\u7D22\u548C\u67E5\u8BE2\u6267\u884C
|
|
254
|
+
- \`data-visualization\`: \u56FE\u8868\u8BBE\u8BA1\u548C\u53EF\u89C6\u5316\u914D\u7F6E
|
|
255
|
+
- \`notebook-report\`: \u62A5\u544A\u751F\u6210\u548C\u6D1E\u5BDF\u6574\u5408
|
|
256
|
+
|
|
257
|
+
## \u5206\u6790\u5DE5\u4F5C\u6D41\u7A0B
|
|
258
|
+
|
|
259
|
+
### \u6B65\u9AA4 0\uFF1A\u95EE\u9898\u7406\u89E3\u4E0E\u89C4\u5212
|
|
260
|
+
|
|
261
|
+
1. **\u8BB0\u5F55\u95EE\u9898**\uFF1A\u5199\u5165 \`/question.md\`\uFF08\u95EE\u9898\u9648\u8FF0\u3001\u4E1A\u52A1\u80CC\u666F\u3001\u6210\u529F\u6807\u51C6\uFF09
|
|
262
|
+
2. **\u5E94\u7528\u5206\u6790\u65B9\u6CD5\u8BBA**\uFF1A\u4F7F\u7528 \`analysis-methodology\` \u6280\u80FD
|
|
263
|
+
- \u4F7F\u7528 5W2H \u548C SCQA \u660E\u786E\u95EE\u9898
|
|
264
|
+
- \u4F7F\u7528 MECE \u548C\u8BAE\u9898\u6811\u62C6\u89E3\u4E3A\u5B50\u95EE\u9898
|
|
265
|
+
- \u4F7F\u7528\u56DB\u8C61\u9650\u77E9\u9635\u6392\u5E8F\u4F18\u5148\u7EA7
|
|
266
|
+
3. **\u521B\u5EFA\u5F85\u529E\u5217\u8868**\uFF1A\u6BCF\u4E2A\u5B50\u95EE\u9898\u4F5C\u4E3A\u72EC\u7ACB\u4EFB\u52A1
|
|
267
|
+
|
|
268
|
+
### \u6B65\u9AA4 1\uFF1A\u6570\u636E\u5E93\u6A21\u5F0F\u63A2\u7D22\uFF08\u5982\u9700\u8981\uFF09
|
|
269
|
+
|
|
270
|
+
\u4F7F\u7528 \`sql-query\` \u6280\u80FD\uFF1A
|
|
271
|
+
1. \u68C0\u67E5 \`/db_schema.md\` \u662F\u5426\u5B58\u5728
|
|
272
|
+
2. \u5982\u9700\u8981\uFF0C\u63A2\u7D22\u8868\u7ED3\u6784
|
|
273
|
+
3. \u5C06\u6A21\u5F0F\u6587\u6863\u5199\u5165 \`/db_schema.md\`
|
|
274
|
+
|
|
275
|
+
### \u6B65\u9AA4 2\uFF1A\u8FED\u4EE3\u5206\u6790\u6267\u884C
|
|
276
|
+
|
|
277
|
+
\u5BF9\u6BCF\u4E2A\u5F85\u529E\u4EFB\u52A1\uFF1A
|
|
278
|
+
|
|
279
|
+
**2.1 \u6570\u636E\u68C0\u7D22**\uFF1A
|
|
280
|
+
- \u59D4\u6258 sql-builder-agent \u6267\u884C\u67E5\u8BE2
|
|
281
|
+
- \u9A8C\u8BC1\u67E5\u8BE2\u7ED3\u679C\u7684\u8D28\u91CF\u548C\u5B8C\u6574\u6027
|
|
282
|
+
|
|
283
|
+
**2.2 \u6570\u636E\u5206\u6790**\uFF1A
|
|
284
|
+
- \u59D4\u6258 data-analysis-agent \u5206\u6790\u6570\u636E
|
|
285
|
+
- \u8BF7\u6C42\u5173\u952E\u53D1\u73B0\u3001\u4E1A\u52A1\u89E3\u91CA\u548C\u53EF\u89C6\u5316\u5EFA\u8BAE
|
|
286
|
+
|
|
287
|
+
**2.3 \u53EF\u89C6\u5316\u8BBE\u8BA1**\uFF1A
|
|
288
|
+
- \u4F7F\u7528 \`data-visualization\` \u6280\u80FD
|
|
289
|
+
- \u6839\u636E\u5206\u6790\u7ED3\u679C\u9009\u62E9\u5408\u9002\u7684\u56FE\u8868\u7C7B\u578B
|
|
290
|
+
- \u751F\u6210\u5B8C\u6574\u7684 ECharts \u914D\u7F6E
|
|
291
|
+
|
|
292
|
+
**2.4 \u6587\u6863\u5316**\uFF1A
|
|
293
|
+
- \u5199\u5165 \`/topic_[sub_topic_name].md\`\uFF1A
|
|
294
|
+
- \u4E1A\u52A1\u95EE\u9898/\u76EE\u6807
|
|
295
|
+
- SQL \u67E5\u8BE2
|
|
296
|
+
- \u67E5\u8BE2\u7ED3\u679C
|
|
297
|
+
- \u5206\u6790\u6D1E\u5BDF
|
|
298
|
+
- \u56FE\u8868\u914D\u7F6E\uFF08\u4F7F\u7528 \`data-visualization\` \u6280\u80FD\u751F\u6210\uFF09
|
|
299
|
+
- \u5173\u952E\u8981\u70B9
|
|
300
|
+
|
|
301
|
+
**2.5 \u8FDB\u5EA6\u7BA1\u7406**\uFF1A
|
|
302
|
+
- \u6807\u8BB0\u4EFB\u52A1\u5B8C\u6210\uFF0C\u66F4\u65B0\u5F85\u529E\u5217\u8868
|
|
303
|
+
- \u9A8C\u8BC1\u5206\u6790\u56DE\u7B54\u4E86\u9884\u671F\u95EE\u9898
|
|
304
|
+
|
|
305
|
+
### \u6B65\u9AA4 3\uFF1A\u7EFC\u5408\u4E0E\u6A21\u5F0F\u8BC6\u522B
|
|
306
|
+
|
|
307
|
+
1. \u8BFB\u53D6\u6240\u6709 \`/topic_*.md\` \u6587\u4EF6
|
|
308
|
+
2. \u5E94\u7528 \`analysis-methodology\` \u4E2D\u7684\u6A21\u5F0F\u8BC6\u522B\u65B9\u6CD5
|
|
309
|
+
3. \u8BC6\u522B\u8DE8\u9886\u57DF\u4E3B\u9898\u3001\u8D8B\u52BF\u3001\u5F02\u5E38\u503C
|
|
310
|
+
4. \u5E94\u7528 80/20 \u539F\u5219\uFF0C\u6309\u4E1A\u52A1\u5F71\u54CD\u6392\u5E8F
|
|
311
|
+
5. \u51C6\u5907\u6267\u884C\u7EA7\u522B\u7684\u7EFC\u5408\u6458\u8981
|
|
312
|
+
|
|
313
|
+
### \u6B65\u9AA4 4\uFF1A\u751F\u6210\u5206\u6790\u62A5\u544A
|
|
314
|
+
|
|
315
|
+
\u4F7F\u7528 \`notebook-report\` \u6280\u80FD\uFF1A
|
|
316
|
+
- \u6574\u5408\u6240\u6709\u5206\u6790\u6B65\u9AA4
|
|
317
|
+
- \u751F\u6210\u7B14\u8BB0\u672C\u98CE\u683C\u62A5\u544A
|
|
318
|
+
- \u5305\u542B\u6267\u884C\u6458\u8981\u3001\u5206\u6790\u6B65\u9AA4\u3001\u7ED3\u8BBA
|
|
319
|
+
|
|
320
|
+
## \u6280\u80FD\u7EC4\u5408\u4F7F\u7528
|
|
321
|
+
|
|
322
|
+
\u6839\u636E\u5206\u6790\u9636\u6BB5\u9009\u62E9\u5408\u9002\u7684\u6280\u80FD\uFF1A
|
|
323
|
+
- **\u89C4\u5212\u9636\u6BB5**\uFF1A\`analysis-methodology\`
|
|
324
|
+
- **\u6570\u636E\u83B7\u53D6**\uFF1A\`sql-query\`
|
|
325
|
+
- **\u53EF\u89C6\u5316\u8BBE\u8BA1**\uFF1A\`data-visualization\`
|
|
326
|
+
- **\u62A5\u544A\u751F\u6210**\uFF1A\`notebook-report\`
|
|
327
|
+
|
|
328
|
+
## \u5173\u952E\u5B9E\u8DF5
|
|
329
|
+
|
|
330
|
+
- **\u5047\u8BBE\u9A71\u52A8**\uFF1A\u63D0\u51FA\u5047\u8BBE\uFF0C\u7528\u6570\u636E\u9A8C\u8BC1\uFF0C\u5FEB\u901F\u8C03\u6574
|
|
331
|
+
- **\u8FED\u4EE3\u4F18\u5316**\uFF1A\u6839\u636E\u53D1\u73B0\u4F18\u5316\u67E5\u8BE2\u548C\u5206\u6790
|
|
332
|
+
- **\u5B8C\u6574\u6587\u6863\u5316**\uFF1A\u8BB0\u5F55\u95EE\u9898\u3001\u67E5\u8BE2\u3001\u7ED3\u679C\u3001\u6D1E\u5BDF
|
|
333
|
+
- **\u8D28\u91CF\u4F18\u5148**\uFF1A\u786E\u4FDD\u6BCF\u6B65\u5B8C\u6574\u51C6\u786E\u540E\u518D\u7EE7\u7EED
|
|
334
|
+
- **\u4E1A\u52A1\u805A\u7126**\uFF1A\u5C06\u6280\u672F\u53D1\u73B0\u4E0E\u4E1A\u52A1\u5F71\u54CD\u5173\u8054
|
|
335
|
+
|
|
336
|
+
## \u9519\u8BEF\u5904\u7406
|
|
337
|
+
|
|
338
|
+
- **\u67E5\u8BE2\u9519\u8BEF**\uFF1A\u4E0E sql-builder-agent \u534F\u4F5C\u8C03\u8BD5
|
|
339
|
+
- **\u6570\u636E\u8D28\u91CF\u95EE\u9898**\uFF1A\u8BB0\u5F55\u5E76\u8C03\u6574\u5206\u6790
|
|
340
|
+
- **\u610F\u5916\u7ED3\u679C**\uFF1A\u8C03\u67E5\u5F02\u5E38\uFF0C\u53EF\u80FD\u63ED\u793A\u91CD\u8981\u6D1E\u5BDF
|
|
341
|
+
- **\u7F3A\u5931\u6570\u636E**\uFF1A\u8BC6\u522B\u5DEE\u8DDD\uFF0C\u8C03\u6574\u5206\u6790\u8303\u56F4
|
|
342
|
+
- **\u65B0\u95EE\u9898**\uFF1A\u6DFB\u52A0\u65B0\u5F85\u529E\u4E8B\u9879\u7EE7\u7EED\u63A2\u7D22
|
|
343
|
+
`
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
// src/agents/data_agent/skills/data-visualization.ts
|
|
347
|
+
var dataVisualization = {
|
|
348
|
+
name: "data-visualization",
|
|
349
|
+
description: "\u4E3A\u6570\u636E\u5206\u6790\u7ED3\u679C\u9009\u62E9\u5408\u9002\u7684\u56FE\u8868\u7C7B\u578B\u5E76\u751F\u6210 ECharts \u914D\u7F6E\u3002\u9002\u7528\u4E8E\u9700\u8981\u5C06\u67E5\u8BE2\u7ED3\u679C\u53EF\u89C6\u5316\u4E3A\u67F1\u72B6\u56FE\u3001\u6298\u7EBF\u56FE\u3001\u997C\u56FE\u3001\u6563\u70B9\u56FE\u7B49\u56FE\u8868\u7684\u573A\u666F\u3002",
|
|
350
|
+
prompt: `## \u56FE\u8868\u7C7B\u578B\u9009\u62E9\u6307\u5357
|
|
351
|
+
|
|
352
|
+
\u6839\u636E\u6570\u636E\u7279\u5F81\u548C\u4E1A\u52A1\u95EE\u9898\u9009\u62E9\u6700\u5408\u9002\u7684\u56FE\u8868\u7C7B\u578B\uFF1A
|
|
353
|
+
|
|
354
|
+
- **\u67F1\u72B6\u56FE** (bar): \u6BD4\u8F83\u7C7B\u522B\u6216\u65F6\u95F4\u5468\u671F
|
|
355
|
+
- \u4F7F\u7528 category xAxis\uFF0Cvalue yAxis
|
|
356
|
+
- \u591A\u7CFB\u5217\u7528\u4E8E\u5206\u7EC4/\u5806\u53E0\u67F1\u72B6\u56FE
|
|
357
|
+
|
|
358
|
+
- **\u6298\u7EBF\u56FE** (line): \u5C55\u793A\u65F6\u95F4\u8D8B\u52BF
|
|
359
|
+
- \u4F7F\u7528 category/time xAxis\uFF0Cvalue yAxis
|
|
360
|
+
- \u591A\u7CFB\u5217\u5C55\u793A\u591A\u4E2A\u6307\u6807
|
|
361
|
+
|
|
362
|
+
- **\u997C\u56FE** (pie): \u5C55\u793A\u6784\u6210/\u767E\u5206\u6BD4
|
|
363
|
+
- \u65E0\u9700 xAxis/yAxis
|
|
364
|
+
- \u6570\u636E\u683C\u5F0F: [{value: number, name: string}, ...]
|
|
365
|
+
- \u4F7F\u7528 radius: ["40%", "70%"] \u521B\u5EFA\u73AF\u5F62\u56FE
|
|
366
|
+
|
|
367
|
+
- **\u6563\u70B9\u56FE** (scatter): \u76F8\u5173\u6027\u5206\u6790
|
|
368
|
+
- \u4F7F\u7528 value xAxis \u548C value yAxis
|
|
369
|
+
- \u6570\u636E\u683C\u5F0F: [[x, y], [x, y], ...]
|
|
370
|
+
|
|
371
|
+
- **\u70ED\u529B\u56FE** (heatmap): \u591A\u7EF4\u6570\u636E
|
|
372
|
+
- \u9700\u8981 category xAxis \u548C yAxis
|
|
373
|
+
- \u6570\u636E\u683C\u5F0F: [[xIndex, yIndex, value], ...]
|
|
374
|
+
|
|
375
|
+
## ECharts \u914D\u7F6E\u8981\u6C42
|
|
376
|
+
|
|
377
|
+
\u751F\u6210\u5B8C\u6574\u7684 ECharts \u914D\u7F6E\uFF0C\u5FC5\u987B\u5305\u542B\uFF1A
|
|
378
|
+
|
|
379
|
+
\`\`\`json
|
|
380
|
+
{
|
|
381
|
+
"table": [...], // \u539F\u59CB\u6570\u636E\u8868\u683C
|
|
382
|
+
"echarts": {
|
|
383
|
+
"title": {"text": "\u6E05\u6670\u7684\u56FE\u8868\u6807\u9898"},
|
|
384
|
+
"tooltip": {
|
|
385
|
+
"trigger": "axis", // bar/line \u7528 "axis", pie/scatter \u7528 "item"
|
|
386
|
+
"formatter": "..." // \u53EF\u9009\uFF1A\u81EA\u5B9A\u4E49\u683C\u5F0F\u5316
|
|
387
|
+
},
|
|
388
|
+
"legend": {...}, // \u591A\u7CFB\u5217\u65F6\u5FC5\u9700
|
|
389
|
+
"xAxis": {
|
|
390
|
+
"type": "category", // \u6216 "time", "value"
|
|
391
|
+
"name": "X\u8F74\u540D\u79F0",
|
|
392
|
+
"data": [...] // category \u7C7B\u578B\u65F6\u5FC5\u9700
|
|
393
|
+
},
|
|
394
|
+
"yAxis": {
|
|
395
|
+
"type": "value",
|
|
396
|
+
"name": "Y\u8F74\u540D\u79F0"
|
|
397
|
+
},
|
|
398
|
+
"series": [{
|
|
399
|
+
"type": "bar|line|pie|scatter|heatmap",
|
|
400
|
+
"name": "\u7CFB\u5217\u540D\u79F0",
|
|
401
|
+
"data": [...],
|
|
402
|
+
"label": {...} // \u53EF\u9009\uFF1A\u663E\u793A\u6570\u503C
|
|
403
|
+
}],
|
|
404
|
+
"grid": {...} // \u53EF\u9009\uFF1A\u63A7\u5236\u8FB9\u8DDD
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
\`\`\`
|
|
408
|
+
|
|
409
|
+
## \u6700\u4F73\u5B9E\u8DF5
|
|
410
|
+
|
|
411
|
+
- \u56FE\u8868\u6807\u9898\u6E05\u6670\u63CF\u8FF0\u4E1A\u52A1\u95EE\u9898
|
|
412
|
+
- \u8F74\u6807\u7B7E\u4F7F\u7528\u4E1A\u52A1\u672F\u8BED\uFF0C\u800C\u975E\u6280\u672F\u5B57\u6BB5\u540D
|
|
413
|
+
- \u6570\u503C\u683C\u5F0F\u5316\uFF1A\u767E\u5206\u6BD4\u3001\u8D27\u5E01\u3001\u5343\u5206\u4F4D
|
|
414
|
+
- \u65F6\u95F4\u5E8F\u5217\u4F7F\u7528 "xAxis.type: 'time'" \u5E76\u6B63\u786E\u683C\u5F0F\u5316\u65E5\u671F
|
|
415
|
+
- \u591A\u7CFB\u5217\u65F6\u4F7F\u7528 legend \u533A\u5206
|
|
416
|
+
- \u91CD\u8981\u6570\u503C\u5728\u56FE\u8868\u4E0A\u76F4\u63A5\u6807\u6CE8\uFF08series.label\uFF09
|
|
417
|
+
|
|
418
|
+
## \u8F93\u51FA\u683C\u5F0F
|
|
419
|
+
|
|
420
|
+
\u63D0\u4F9B\u5B8C\u6574\u7684 chart JSON \u914D\u7F6E\uFF0C\u53EF\u76F4\u63A5\u7528\u4E8E\u6E32\u67D3\u3002
|
|
421
|
+
`
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
// src/agents/data_agent/skills/sql-query.ts
|
|
425
|
+
var sqlQuery = {
|
|
426
|
+
name: "sql-query",
|
|
427
|
+
description: "\u751F\u6210\u548C\u6267\u884C SQL \u67E5\u8BE2\u4EE5\u68C0\u7D22\u4E1A\u52A1\u6570\u636E\u3002\u9002\u7528\u4E8E\u9700\u8981\u4ECE\u6570\u636E\u5E93\u83B7\u53D6\u6570\u636E\u3001\u63A2\u7D22\u8868\u7ED3\u6784\u3001\u9A8C\u8BC1\u67E5\u8BE2\u6B63\u786E\u6027\u7684\u573A\u666F\u3002\u59D4\u6258\u7ED9 sql-builder-agent \u6267\u884C\u3002",
|
|
428
|
+
prompt: `## \u59D4\u6258\u7ED9 sql-builder-agent
|
|
429
|
+
|
|
430
|
+
\u6240\u6709 SQL \u76F8\u5173\u64CD\u4F5C\u90FD\u59D4\u6258\u7ED9 sql-builder-agent \u5B50\u4EE3\u7406\u6267\u884C\u3002
|
|
431
|
+
|
|
432
|
+
## \u6570\u636E\u5E93\u6A21\u5F0F\u63A2\u7D22
|
|
433
|
+
|
|
434
|
+
**\u8BF7\u6C42\u6A21\u5F0F\u4FE1\u606F**\uFF1A
|
|
435
|
+
- "\u8BF7\u5217\u51FA\u6570\u636E\u5E93\u4E2D\u6240\u6709\u53EF\u7528\u7684\u8868"
|
|
436
|
+
- "\u8BF7\u663E\u793A\u8868 [X] \u7684\u6A21\u5F0F\uFF0C\u5305\u62EC\u5217\u3001\u6570\u636E\u7C7B\u578B\u548C\u5173\u7CFB"
|
|
437
|
+
|
|
438
|
+
**\u68C0\u67E5\u73B0\u6709\u6587\u6863**\uFF1A
|
|
439
|
+
- \u5148\u8BFB\u53D6 \`/db_schema.md\`\uFF08\u5982\u5B58\u5728\uFF09
|
|
440
|
+
- \u4EC5\u5728\u9700\u8981\u65F6\u8BF7\u6C42\u65B0\u7684\u6A21\u5F0F\u63A2\u7D22
|
|
441
|
+
|
|
442
|
+
## \u67E5\u8BE2\u751F\u6210\u4E0E\u6267\u884C
|
|
443
|
+
|
|
444
|
+
**\u63D0\u4F9B\u6E05\u6670\u7684\u4E1A\u52A1\u9700\u6C42**\uFF1A
|
|
445
|
+
1. **\u4E1A\u52A1\u95EE\u9898**\uFF1A\u660E\u786E\u8981\u56DE\u7B54\u7684\u95EE\u9898
|
|
446
|
+
2. **\u6307\u6807**\uFF1A\u9700\u8981\u8BA1\u7B97\u7684\u4E1A\u52A1\u6307\u6807\uFF08\u6536\u5165\u3001\u8BA2\u5355\u6570\u3001\u8F6C\u5316\u7387\u7B49\uFF09
|
|
447
|
+
3. **\u7EF4\u5EA6**\uFF1A\u5206\u7EC4\u7EF4\u5EA6\uFF08\u5730\u533A\u3001\u6E20\u9053\u3001\u4EA7\u54C1\u7C7B\u522B\u7B49\uFF09
|
|
448
|
+
4. **\u7B5B\u9009\u6761\u4EF6**\uFF1A\u65F6\u95F4\u8303\u56F4\u3001\u72B6\u6001\u3001\u7C7B\u522B\u7B49
|
|
449
|
+
5. **\u6BD4\u8F83\u9700\u6C42**\uFF1A\u540C\u6BD4\u3001\u73AF\u6BD4\u3001\u76EE\u6807\u5BF9\u6BD4\u7B49
|
|
450
|
+
|
|
451
|
+
**\u8BF7\u6C42\u683C\u5F0F\u793A\u4F8B**\uFF1A
|
|
452
|
+
"\u6211\u9700\u8981\u6309\u5730\u533A\u6BD4\u8F83 2024 \u5E74\u7B2C\u4E09\u5B63\u5EA6\u4E0E 2023 \u5E74\u7B2C\u4E09\u5B63\u5EA6\u7684\u6536\u5165\u3002\u8BF7\u751F\u6210\u5E76\u6267\u884C SQL \u67E5\u8BE2\u3002"
|
|
453
|
+
|
|
454
|
+
"\u8BF7\u67E5\u8BE2\u8FC7\u53BB 6 \u4E2A\u6708\u6BCF\u4E2A\u6708\u7684\u8BA2\u5355\u91CF\u548C\u5E73\u5747\u8BA2\u5355\u91D1\u989D\uFF0C\u6309\u6E20\u9053\u5206\u7EC4\u3002"
|
|
455
|
+
|
|
456
|
+
## \u63A5\u6536\u4E0E\u9A8C\u8BC1\u7ED3\u679C
|
|
457
|
+
|
|
458
|
+
sql-builder-agent \u4F1A\u8FD4\u56DE\uFF1A
|
|
459
|
+
- **SQL \u67E5\u8BE2**\uFF1A\u683C\u5F0F\u6E05\u6670\u7684\u5B8C\u6574\u67E5\u8BE2
|
|
460
|
+
- **\u67E5\u8BE2\u7ED3\u679C**\uFF1A\u8FD4\u56DE\u7684\u6570\u636E
|
|
461
|
+
- **\u6A21\u5F0F\u4FE1\u606F**\uFF1A\u4F7F\u7528\u7684\u8868\u7ED3\u6784\u4FE1\u606F
|
|
462
|
+
|
|
463
|
+
**\u9A8C\u8BC1\u8981\u70B9**\uFF1A
|
|
464
|
+
- \u67E5\u8BE2\u662F\u5426\u6B63\u786E\u56DE\u7B54\u4E86\u4E1A\u52A1\u95EE\u9898
|
|
465
|
+
- \u6570\u636E\u8D28\u91CF\uFF08NULL \u503C\u3001\u5F02\u5E38\u503C\uFF09
|
|
466
|
+
- \u7ED3\u679C\u5B8C\u6574\u6027\uFF08\u884C\u6570\u3001\u65F6\u95F4\u8303\u56F4\uFF09
|
|
467
|
+
- \u5217\u540D\u662F\u5426\u4E1A\u52A1\u53CB\u597D
|
|
468
|
+
|
|
469
|
+
## \u9519\u8BEF\u5904\u7406
|
|
470
|
+
|
|
471
|
+
\u5982\u9047\u5230\u67E5\u8BE2\u9519\u8BEF\uFF1A
|
|
472
|
+
- \u5206\u6790\u9519\u8BEF\u4FE1\u606F
|
|
473
|
+
- \u68C0\u67E5\u8868\u540D\u3001\u5217\u540D\u662F\u5426\u6B63\u786E
|
|
474
|
+
- \u9A8C\u8BC1 JOIN \u6761\u4EF6\u548C\u6570\u636E\u7C7B\u578B
|
|
475
|
+
- \u8BF7\u6C42 sql-builder-agent \u4FEE\u6B63\u5E76\u91CD\u65B0\u6267\u884C
|
|
476
|
+
|
|
477
|
+
## \u6587\u6863\u5316
|
|
478
|
+
|
|
479
|
+
\u5C06\u4F7F\u7528\u7684 SQL \u67E5\u8BE2\u548C\u7ED3\u679C\u4FDD\u5B58\u5230\u5206\u6790\u6587\u6863\u4E2D\uFF0C\u4FBF\u4E8E\u540E\u7EED\u53C2\u8003\u548C\u590D\u73B0\u3002
|
|
480
|
+
`
|
|
481
|
+
};
|
|
482
|
+
|
|
483
|
+
// src/agents/data_agent/skills/analysis-methodology.ts
|
|
484
|
+
var analysisMethodology = {
|
|
485
|
+
name: "analysis-methodology",
|
|
486
|
+
description: "\u5E94\u7528\u7ED3\u6784\u5316\u5206\u6790\u65B9\u6CD5\u8BBA\uFF085W2H\u3001SCQA\u3001MECE\u30015 Whys\u3001\u5E15\u7D2F\u6258\u539F\u5219\u7B49\uFF09\u6765\u7406\u89E3\u95EE\u9898\u3001\u62C6\u89E3\u4EFB\u52A1\u3001\u8BC6\u522B\u6839\u672C\u539F\u56E0\u548C\u4F18\u5148\u7EA7\u6392\u5E8F\u3002\u9002\u7528\u4E8E\u590D\u6742\u4E1A\u52A1\u95EE\u9898\u7684\u7ED3\u6784\u5316\u5206\u6790\u548C\u89C4\u5212\u3002",
|
|
487
|
+
prompt: `## \u7ED3\u6784\u5316\u5206\u6790\u65B9\u6CD5\u8BBA
|
|
488
|
+
|
|
489
|
+
### \u95EE\u9898\u5B9A\u4E49\uFF085W2H + SCQA\uFF09
|
|
490
|
+
|
|
491
|
+
**5W2H \u6A21\u578B**\uFF1A\u5168\u9762\u68B3\u7406\u95EE\u9898\u8FB9\u754C
|
|
492
|
+
- What: \u95EE\u9898\u672C\u8D28
|
|
493
|
+
- Why: \u89E3\u51B3\u76EE\u6807\u548C\u52A8\u673A
|
|
494
|
+
- Who: \u53D7\u5F71\u54CD\u65B9\u548C\u51B3\u7B56\u8005
|
|
495
|
+
- When: \u53D1\u751F\u65F6\u95F4\u548C\u7D27\u6025\u7A0B\u5EA6
|
|
496
|
+
- Where: \u53D1\u751F\u73AF\u8282/\u5730\u533A/\u6A21\u5757
|
|
497
|
+
- How: \u5F53\u524D\u5904\u7406\u65B9\u5F0F
|
|
498
|
+
- How much: \u5F71\u54CD\u9762\u548C\u6210\u672C
|
|
499
|
+
|
|
500
|
+
**SCQA \u6A21\u578B**\uFF1A\u7406\u6E05\u95EE\u9898\u4E0A\u4E0B\u6587
|
|
501
|
+
- Situation: \u73B0\u72B6\u4E8B\u5B9E
|
|
502
|
+
- Complication: \u53D8\u5316/\u6311\u6218
|
|
503
|
+
- Question: \u5177\u4F53\u96BE\u9898
|
|
504
|
+
- Answer: \u89E3\u51B3\u65B9\u6848
|
|
505
|
+
|
|
506
|
+
### \u95EE\u9898\u62C6\u89E3\uFF08MECE + \u8BAE\u9898\u6811\uFF09
|
|
507
|
+
|
|
508
|
+
**MECE \u539F\u5219**\uFF1A\u76F8\u4E92\u72EC\u7ACB\uFF0C\u5B8C\u5168\u7A77\u5C3D
|
|
509
|
+
- \u4E0D\u91CD\u53E0\u3001\u4E0D\u9057\u6F0F
|
|
510
|
+
- \u786E\u4FDD\u5206\u7C7B\u903B\u8F91\u6E05\u6670
|
|
511
|
+
|
|
512
|
+
**\u8BAE\u9898\u6811**\uFF1A\u6811\u72B6\u7ED3\u6784\u62C6\u89E3
|
|
513
|
+
- \u57FA\u4E8E\u5047\u8BBE\uFF1A\u63D0\u9AD8\u5229\u6DA6 \u2192 \u589E\u52A0\u6536\u5165 OR \u964D\u4F4E\u6210\u672C
|
|
514
|
+
- \u57FA\u4E8E\u6D41\u7A0B\uFF1A\u8F6C\u5316\u7387\u4F4E \u2192 \u6D41\u91CF\u83B7\u53D6 \u2192 \u6CE8\u518C\u6FC0\u6D3B \u2192 \u7559\u5B58 \u2192 \u4ED8\u8D39
|
|
515
|
+
|
|
516
|
+
### \u6839\u672C\u539F\u56E0\u5206\u6790\uFF085 Whys + \u9C7C\u9AA8\u56FE\uFF09
|
|
517
|
+
|
|
518
|
+
**5 Whys**\uFF1A\u8FDE\u7EED\u8FFD\u95EE\u4E3A\u4EC0\u4E48\uFF0C\u76F4\u5230\u627E\u5230\u6839\u672C\u539F\u56E0
|
|
519
|
+
- \u907F\u514D\u8868\u9762\u75C7\u72B6\uFF0C\u627E\u5230\u6DF1\u5C42\u539F\u56E0
|
|
520
|
+
|
|
521
|
+
**\u9C7C\u9AA8\u56FE\uFF084M1E\uFF09**\uFF1A\u4ECE\u4E94\u4E2A\u7EF4\u5EA6\u5206\u6790
|
|
522
|
+
- \u4EBA\uFF08Man\uFF09\u3001\u673A\uFF08Machine\uFF09\u3001\u6599\uFF08Material\uFF09\u3001\u6CD5\uFF08Method\uFF09\u3001\u73AF\uFF08Environment\uFF09
|
|
523
|
+
|
|
524
|
+
### \u4F18\u5148\u7EA7\u6392\u5E8F\uFF08\u5E15\u7D2F\u6258 + \u827E\u68EE\u8C6A\u5A01\u5C14\u77E9\u9635\uFF09
|
|
525
|
+
|
|
526
|
+
**80/20 \u6CD5\u5219**\uFF1A\u8BC6\u522B\u5173\u952E\u7684 20% \u539F\u56E0
|
|
527
|
+
|
|
528
|
+
**\u56DB\u8C61\u9650\u77E9\u9635**\uFF1A\u6309\u91CD\u8981\u6027\u548C\u7D27\u6025\u7A0B\u5EA6\u6392\u5E8F
|
|
529
|
+
- \u91CD\u8981\u4E14\u7D27\u6025\uFF1A\u4F18\u5148\u5904\u7406
|
|
530
|
+
- \u91CD\u8981\u4E0D\u7D27\u6025\uFF1A\u8BA1\u5212\u5904\u7406
|
|
531
|
+
- \u7D27\u6025\u4E0D\u91CD\u8981\uFF1A\u5FEB\u901F\u5904\u7406
|
|
532
|
+
- \u4E0D\u91CD\u8981\u4E0D\u7D27\u6025\uFF1A\u53EF\u5FFD\u7565
|
|
533
|
+
|
|
534
|
+
### \u7EFC\u5408\u8868\u8FBE\uFF08\u91D1\u5B57\u5854\u539F\u7406\uFF09
|
|
535
|
+
|
|
536
|
+
- **\u7ED3\u8BBA\u5148\u884C**\uFF1A\u5148\u8BF4\u6700\u91CD\u8981\u7684\u7ED3\u679C
|
|
537
|
+
- **\u4EE5\u4E0A\u7EDF\u4E0B**\uFF1A\u4E0A\u5C42\u8BBA\u70B9\u603B\u7ED3\u4E0B\u5C42\u8BBA\u636E
|
|
538
|
+
- **\u5F52\u7C7B\u5206\u7EC4**\uFF1A\u903B\u8F91 MECE
|
|
539
|
+
- **\u903B\u8F91\u9012\u8FDB**\uFF1A\u6309\u65F6\u95F4/\u7A7A\u95F4/\u91CD\u8981\u6027\u6392\u5E8F
|
|
540
|
+
|
|
541
|
+
## \u5E94\u7528\u6D41\u7A0B
|
|
542
|
+
|
|
543
|
+
1. **\u95EE\u9898\u7406\u89E3**\uFF1A\u4F7F\u7528 5W2H \u548C SCQA \u660E\u786E\u95EE\u9898
|
|
544
|
+
2. **\u4EFB\u52A1\u62C6\u89E3**\uFF1A\u4F7F\u7528 MECE \u548C\u8BAE\u9898\u6811\u62C6\u89E3\u4E3A\u5B50\u95EE\u9898
|
|
545
|
+
3. **\u539F\u56E0\u5206\u6790**\uFF1A\u4F7F\u7528 5 Whys \u548C\u9C7C\u9AA8\u56FE\u627E\u5230\u6839\u672C\u539F\u56E0
|
|
546
|
+
4. **\u4F18\u5148\u7EA7\u6392\u5E8F**\uFF1A\u4F7F\u7528 80/20 \u548C\u56DB\u8C61\u9650\u77E9\u9635\u6392\u5E8F\u4EFB\u52A1
|
|
547
|
+
5. **\u7ED3\u679C\u8868\u8FBE**\uFF1A\u4F7F\u7528\u91D1\u5B57\u5854\u539F\u7406\u7EC4\u7EC7\u8F93\u51FA
|
|
548
|
+
|
|
549
|
+
## \u5047\u8BBE\u9A71\u52A8\u65B9\u6CD5
|
|
550
|
+
|
|
551
|
+
- \u5148\u63D0\u51FA\u5047\u8BBE\uFF0C\u7528\u6570\u636E\u9A8C\u8BC1
|
|
552
|
+
- \u5047\u8BBE\u9519\u8BEF\u65F6\u5FEB\u901F\u8C03\u6574\u65B9\u5411
|
|
553
|
+
- \u907F\u514D\u5217\u51FA\u6240\u6709\u53EF\u80FD\u6027\uFF0C\u805A\u7126\u5173\u952E\u8DEF\u5F84
|
|
554
|
+
`
|
|
555
|
+
};
|
|
556
|
+
|
|
557
|
+
// src/agents/data_agent/skills/notebook-report.ts
|
|
558
|
+
var notebookReport = {
|
|
559
|
+
name: "notebook-report",
|
|
560
|
+
description: "\u751F\u6210\u7B14\u8BB0\u672C\u98CE\u683C\u7684\u6570\u636E\u5206\u6790\u62A5\u544A\uFF0C\u5305\u542B\u6267\u884C\u6458\u8981\u3001\u5206\u6790\u6B65\u9AA4\uFF08SQL\u3001\u53EF\u89C6\u5316\u3001\u6D1E\u5BDF\uFF09\u548C\u7ED3\u8BBA\u3002\u9002\u7528\u4E8E\u9700\u8981\u5C06\u591A\u6B65\u9AA4\u5206\u6790\u6574\u5408\u4E3A\u5B8C\u6574\u3001\u53EF\u590D\u73B0\u7684\u5206\u6790\u62A5\u544A\u7684\u573A\u666F\u3002",
|
|
561
|
+
prompt: `
|
|
562
|
+
\u5982\u4F55\u53EF\u89C6\u5316\u6570\u636E\uFF0C\u8BF7\u901A\u8FC7data-visualization\u6280\u80FD\u4E86\u89E3\u3002
|
|
563
|
+
|
|
564
|
+
## \u62A5\u544A\u7ED3\u6784
|
|
565
|
+
|
|
566
|
+
### \u62A5\u544A\u6807\u9898\u90E8\u5206
|
|
567
|
+
|
|
568
|
+
- **\u6807\u9898**\uFF1A\u6E05\u6670\u3001\u63CF\u8FF0\u6027\u7684\u5206\u6790\u6807\u9898
|
|
569
|
+
- **\u4E0A\u4E0B\u6587**\uFF1A\u7B80\u8981\u4ECB\u7ECD\u5206\u6790\u5185\u5BB9\u548C\u539F\u56E0
|
|
570
|
+
- **\u6570\u636E\u6E90**\uFF1A\u6570\u636E\u5E93\u4FE1\u606F\u548C\u65F6\u95F4\u5468\u671F
|
|
571
|
+
- **\u6267\u884C\u6458\u8981**\uFF1A\u6240\u6709\u5173\u952E\u53D1\u73B0\u7684\u9AD8\u7EA7\u6458\u8981\uFF082-3 \u6BB5\uFF09
|
|
572
|
+
|
|
573
|
+
### \u5206\u6790\u6B65\u9AA4\uFF08\u7B14\u8BB0\u672C\u5355\u5143\u683C\uFF09
|
|
574
|
+
|
|
575
|
+
\u6BCF\u4E2A\u5206\u6790\u6B65\u9AA4\u662F\u4E00\u4E2A\u5B8C\u6574\u7684\u5355\u5143\u683C\uFF0C\u5305\u542B\uFF1A
|
|
576
|
+
|
|
577
|
+
\`\`\`markdown
|
|
578
|
+
## \u6B65\u9AA4 [N]\uFF1A[\u6B65\u9AA4\u6807\u9898]
|
|
579
|
+
|
|
580
|
+
### \u95EE\u9898 / \u76EE\u6807
|
|
581
|
+
[\u6B64\u6B65\u9AA4\u8981\u56DE\u7B54\u7684\u4E1A\u52A1\u95EE\u9898\uFF0C\u6765\u81EA topic_[sub_topic_name].md]
|
|
582
|
+
|
|
583
|
+
### SQL \u67E5\u8BE2
|
|
584
|
+
\`\`\`sql
|
|
585
|
+
[\u5B8C\u6574 SQL \u67E5\u8BE2\uFF0C\u5E26\u6CE8\u91CA\u8BF4\u660E]
|
|
586
|
+
\`\`\`
|
|
587
|
+
|
|
588
|
+
### \u6570\u636E\u53EF\u89C6\u5316
|
|
589
|
+
\`\`\`chart
|
|
590
|
+
{
|
|
591
|
+
"table": [...],
|
|
592
|
+
"echarts": {
|
|
593
|
+
"title": {"text": "[\u56FE\u8868\u6807\u9898]"},
|
|
594
|
+
"tooltip": {...},
|
|
595
|
+
"legend": {...},
|
|
596
|
+
"xAxis": {...},
|
|
597
|
+
"yAxis": {...},
|
|
598
|
+
"series": [...]
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
\`\`\`
|
|
602
|
+
|
|
603
|
+
### \u5173\u952E\u53D1\u73B0
|
|
604
|
+
[\u6765\u81EA data-analysis-agent \u7684\u6838\u5FC3\u6D1E\u5BDF\uFF0C\u7528\u4E1A\u52A1\u8BED\u8A00\u8868\u8FBE]
|
|
605
|
+
|
|
606
|
+
### \u4E1A\u52A1\u89E3\u91CA
|
|
607
|
+
[\u8FD9\u4E9B\u53D1\u73B0\u5BF9\u4E1A\u52A1\u7684\u610F\u4E49\u548C\u5F71\u54CD]
|
|
608
|
+
|
|
609
|
+
### \u5EFA\u8BAE
|
|
610
|
+
[\u57FA\u4E8E\u6B64\u5206\u6790\u7684\u5177\u4F53\u3001\u53EF\u64CD\u4F5C\u5EFA\u8BAE]
|
|
611
|
+
\`\`\`
|
|
612
|
+
|
|
613
|
+
### \u62A5\u544A\u7ED3\u8BBA
|
|
614
|
+
|
|
615
|
+
- **\u6240\u6709\u53D1\u73B0\u7684\u6458\u8981**\uFF1A\u7EFC\u5408\u6240\u6709\u6B65\u9AA4\u7684\u6D1E\u5BDF
|
|
616
|
+
- **\u603B\u4F53\u5EFA\u8BAE**\uFF1A\u6309\u4F18\u5148\u7EA7\u6392\u5E8F\u7684\u53EF\u64CD\u4F5C\u5EFA\u8BAE
|
|
617
|
+
- **\u540E\u7EED\u5206\u6790**\uFF1A\u5EFA\u8BAE\u7684\u4E0B\u4E00\u6B65\u5206\u6790\u65B9\u5411\uFF08\u5982\u9002\u7528\uFF09
|
|
618
|
+
|
|
619
|
+
## \u62A5\u544A\u7F16\u5199\u539F\u5219
|
|
620
|
+
|
|
621
|
+
- **\u6545\u4E8B\u6027**\uFF1A\u5C06\u5206\u6790\u7EC4\u7EC7\u6210\u8FDE\u8D2F\u7684\u6545\u4E8B\uFF0C\u800C\u975E\u6280\u672F\u62A5\u544A
|
|
622
|
+
- **\u4E1A\u52A1\u805A\u7126**\uFF1A\u4F7F\u7528\u4E1A\u52A1\u672F\u8BED\uFF0C\u907F\u514D\u6280\u672F jargon
|
|
623
|
+
- **\u6570\u636E\u9A71\u52A8**\uFF1A\u5C06\u5177\u4F53\u6570\u503C\u81EA\u7136\u878D\u5165\u53D9\u8FF0
|
|
624
|
+
- **\u53EF\u64CD\u4F5C**\uFF1A\u6BCF\u4E2A\u53D1\u73B0\u90FD\u5E94\u5BFC\u5411\u53EF\u6267\u884C\u7684\u5EFA\u8BAE
|
|
625
|
+
- **\u903B\u8F91\u9012\u8FDB**\uFF1A\u6B65\u9AA4\u4E4B\u95F4\u8981\u6709\u6E05\u6670\u7684\u903B\u8F91\u8FDE\u63A5
|
|
626
|
+
|
|
627
|
+
## \u6570\u636E\u6765\u6E90
|
|
628
|
+
|
|
629
|
+
\u62A5\u544A\u5E94\u57FA\u4E8E\uFF1A
|
|
630
|
+
- \`/question.md\`\uFF1A\u539F\u59CB\u4E1A\u52A1\u95EE\u9898
|
|
631
|
+
- \`/topic_*.md\`\uFF1A\u5404\u5B50\u4E3B\u9898\u7684\u5206\u6790\u7ED3\u679C
|
|
632
|
+
- \u6B65\u9AA4 3 \u7684\u7EFC\u5408\u6458\u8981
|
|
633
|
+
|
|
634
|
+
## \u8F93\u51FA\u683C\u5F0F
|
|
635
|
+
|
|
636
|
+
\u751F\u6210\u5B8C\u6574\u7684 Markdown \u683C\u5F0F\u62A5\u544A\uFF0C\u5305\u542B\u6240\u6709\u5206\u6790\u6B65\u9AA4\u3001\u56FE\u8868\u914D\u7F6E\u548C\u6D1E\u5BDF\u3002
|
|
637
|
+
`
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
// src/agents/data_agent/skills/infographic-creator.ts
|
|
641
|
+
var infographicCreator = {
|
|
642
|
+
name: "infographic-creator",
|
|
643
|
+
description: "\u521B\u5EFA\u4FE1\u606F\u56FE\u8868\uFF0C\u5C06\u6570\u636E\u53EF\u89C6\u5316\u4E3A\u6613\u4E8E\u7406\u89E3\u7684\u56FE\u8868\u3002\u9002\u7528\u4E8E\u9700\u8981\u5C06\u6570\u636E\u53EF\u89C6\u5316\u4E3A\u6613\u4E8E\u7406\u89E3\u7684\u56FE\u8868\u7684\u573A\u666F\u3002",
|
|
644
|
+
prompt: `
|
|
645
|
+
|
|
646
|
+
\u4FE1\u606F\u56FE\uFF08Infographic\uFF09\u5C06\u6570\u636E\u3001\u4FE1\u606F\u4E0E\u77E5\u8BC6\u8F6C\u5316\u4E3A\u53EF\u611F\u77E5\u7684\u89C6\u89C9\u8BED\u8A00\u3002\u5B83\u7ED3\u5408\u89C6\u89C9\u8BBE\u8BA1\u4E0E\u6570\u636E\u53EF\u89C6\u5316\uFF0C\u7528\u76F4\u89C2\u7B26\u53F7\u538B\u7F29\u590D\u6742\u4FE1\u606F\uFF0C\u5E2E\u52A9\u53D7\u4F17\u5FEB\u901F\u7406\u89E3\u5E76\u8BB0\u4F4F\u8981\u70B9\u3002
|
|
647
|
+
|
|
648
|
+
Infographic = Information Structure + Visual Expression
|
|
649
|
+
|
|
650
|
+
\u672C\u4EFB\u52A1\u4F7F\u7528 AntV Infographic \u521B\u5EFA\u53EF\u89C6\u5316\u4FE1\u606F\u56FE\u3002
|
|
651
|
+
|
|
652
|
+
\u5728\u5F00\u59CB\u4EFB\u52A1\u524D\uFF0C\u9700\u8981\u7406\u89E3 AntV Infographic \u8BED\u6CD5\u89C4\u8303\uFF0C\u5305\u62EC\u6A21\u677F\u5217\u8868\u3001\u6570\u636E\u7ED3\u6784\u3001\u4E3B\u9898\u7B49\u3002
|
|
653
|
+
|
|
654
|
+
\u89C4\u8303
|
|
655
|
+
AntV Infographic \u8BED\u6CD5
|
|
656
|
+
AntV Infographic \u8BED\u6CD5\u662F\u4E00\u79CD\u81EA\u5B9A\u4E49\u7684 DSL\uFF0C\u7528\u4E8E\u63CF\u8FF0\u4FE1\u606F\u56FE\u6E32\u67D3\u914D\u7F6E\u3002\u5B83\u4F7F\u7528\u7F29\u8FDB\u63CF\u8FF0\u4FE1\u606F\uFF0C\u5177\u6709\u8F83\u5F3A\u9C81\u68D2\u6027\uFF0C\u4FBF\u4E8E AI \u6D41\u5F0F\u8F93\u51FA\u5E76\u6E32\u67D3\u4FE1\u606F\u56FE\u3002\u4E3B\u8981\u5305\u542B\u4EE5\u4E0B\u4FE1\u606F\uFF1A
|
|
657
|
+
|
|
658
|
+
template\uFF1A\u7528\u6A21\u677F\u8868\u8FBE\u6587\u5B57\u4FE1\u606F\u7ED3\u6784\u3002
|
|
659
|
+
data\uFF1A\u4FE1\u606F\u56FE\u6570\u636E\uFF0C\u5305\u542B title\u3001desc\u3001\u6570\u636E\u9879\u7B49\u3002\u6570\u636E\u9879\u901A\u5E38\u5305\u542B label\u3001desc\u3001icon \u7B49\u5B57\u6BB5\u3002
|
|
660
|
+
theme\uFF1A\u4E3B\u9898\u5305\u542B palette\u3001font \u7B49\u6837\u5F0F\u914D\u7F6E\u3002
|
|
661
|
+
\u4F8B\u5982\uFF1A
|
|
662
|
+
|
|
663
|
+
\`\`\`infographic
|
|
664
|
+
infographic list-row-horizontal-icon-arrow
|
|
665
|
+
data
|
|
666
|
+
title Title
|
|
667
|
+
desc Description
|
|
668
|
+
lists
|
|
669
|
+
- label Label
|
|
670
|
+
value 12.5
|
|
671
|
+
desc Explanation
|
|
672
|
+
icon document text
|
|
673
|
+
theme
|
|
674
|
+
palette #3b82f6 #8b5cf6 #f97316
|
|
675
|
+
\`\`\`
|
|
676
|
+
\u8BED\u6CD5\u89C4\u8303
|
|
677
|
+
\u7B2C\u4E00\u884C\u5FC5\u987B\u662F infographic <template-name>\uFF0C\u6A21\u677F\u4ECE\u4E0B\u65B9\u5217\u8868\u4E2D\u9009\u62E9\uFF08\u89C1\u201C\u53EF\u7528\u6A21\u677F\u201D\u90E8\u5206\uFF09\u3002
|
|
678
|
+
|
|
679
|
+
\u4F7F\u7528 data / theme \u5757\uFF0C\u5757\u5185\u7528\u4E24\u4E2A\u7A7A\u683C\u7F29\u8FDB\u3002
|
|
680
|
+
|
|
681
|
+
\u952E\u503C\u5BF9\u4F7F\u7528\u300C\u952E \u7A7A\u683C \u503C\u300D\uFF1B\u6570\u7EC4\u4F7F\u7528 - \u4F5C\u4E3A\u6761\u76EE\u524D\u7F00\u3002
|
|
682
|
+
|
|
683
|
+
icon \u4F7F\u7528\u56FE\u6807\u5173\u952E\u8BCD\uFF08\u5982 star fill\uFF09\u3002
|
|
684
|
+
|
|
685
|
+
data \u5E94\u5305\u542B title/desc + \u6A21\u677F\u5BF9\u5E94\u7684\u4E3B\u6570\u636E\u5B57\u6BB5\uFF08\u4E0D\u4E00\u5B9A\u662F items\uFF09\u3002
|
|
686
|
+
|
|
687
|
+
\u4E3B\u6570\u636E\u5B57\u6BB5\u9009\u62E9\uFF08\u53EA\u7528\u4E00\u4E2A\uFF0C\u907F\u514D\u6DF7\u7528\uFF09\uFF1A
|
|
688
|
+
|
|
689
|
+
list-* \u2192 lists
|
|
690
|
+
sequence-* \u2192 sequences\uFF08\u53EF\u9009 order asc|desc\uFF09
|
|
691
|
+
compare-* \u2192 compares\uFF08\u652F\u6301 children \u5206\u7EC4\u5BF9\u6BD4\uFF09\uFF0C\u53EF\u5305\u542B\u591A\u4E2A\u5BF9\u6BD4\u9879
|
|
692
|
+
hierarchy-structure \u2192 items\uFF08\u6BCF\u4E00\u9879\u5BF9\u5E94\u4E00\u4E2A\u72EC\u7ACB\u5C42\u7EA7\uFF0C\u6BCF\u4E00\u5C42\u7EA7\u53EF\u4EE5\u5305\u542B\u5B50\u9879\uFF0C\u6700\u591A\u53EF\u5D4C\u5957 3 \u5C42\uFF09
|
|
693
|
+
hierarchy-* \u2192 \u5355\u4E00 root\uFF08\u6811\u7ED3\u6784\uFF0C\u901A\u8FC7 children \u5D4C\u5957\uFF09\uFF1B
|
|
694
|
+
relation-* \u2192 nodes + relations\uFF1B\u7B80\u5355\u5173\u7CFB\u56FE\u53EF\u7701\u7565 nodes\uFF0C\u5728 relations \u4E2D\u7528\u7BAD\u5934\u8BED\u6CD5
|
|
695
|
+
chart-* \u2192 values\uFF08\u6570\u503C\u7EDF\u8BA1\uFF0C\u53EF\u9009 category\uFF09
|
|
696
|
+
\u4E0D\u786E\u5B9A\u65F6\u518D\u7528 items \u515C\u5E95
|
|
697
|
+
compare-binary-* / compare-hierarchy-left-right-* \u4E8C\u5143\u6A21\u677F\uFF1A\u5FC5\u987B\u4E24\u4E2A\u6839\u8282\u70B9\uFF0C\u6240\u6709\u5BF9\u6BD4\u9879\u6302\u5728\u8FD9\u4E24\u4E2A\u6839\u8282\u70B9\u7684 children
|
|
698
|
+
|
|
699
|
+
hierarchy-*\uFF1A\u4F7F\u7528\u5355\u4E00 root\uFF0C\u901A\u8FC7 children \u5D4C\u5957\uFF08\u4E0D\u8981\u91CD\u590D root\uFF09
|
|
700
|
+
|
|
701
|
+
theme \u7528\u4E8E\u81EA\u5B9A\u4E49\u4E3B\u9898\uFF08palette\u3001font \u7B49\uFF09 \u4F8B\u5982\uFF1A\u6697\u8272\u4E3B\u9898 + \u81EA\u5B9A\u4E49\u914D\u8272
|
|
702
|
+
|
|
703
|
+
\`\`\`infographic
|
|
704
|
+
infographic list-row-simple-horizontal-arrow
|
|
705
|
+
theme dark
|
|
706
|
+
palette
|
|
707
|
+
- #61DDAA
|
|
708
|
+
- #F6BD16
|
|
709
|
+
- #F08BB4
|
|
710
|
+
\`\`\`
|
|
711
|
+
\u4F7F\u7528 theme.base.text.font-family \u6307\u5B9A\u5B57\u4F53\uFF0C\u5982\u624B\u5199\u98CE\u683C 851tegakizatsu
|
|
712
|
+
|
|
713
|
+
\u4F7F\u7528 theme.stylize \u9009\u62E9\u5185\u7F6E\u98CE\u683C\u5E76\u4F20\u53C2 \u5E38\u89C1\u98CE\u683C\uFF1A
|
|
714
|
+
|
|
715
|
+
rough\uFF1A\u624B\u7ED8\u6548\u679C
|
|
716
|
+
pattern\uFF1A\u56FE\u6848\u586B\u5145
|
|
717
|
+
linear-gradient / radial-gradient\uFF1A\u7EBF\u6027/\u5F84\u5411\u6E10\u53D8
|
|
718
|
+
\u4F8B\u5982\uFF1A\u624B\u7ED8\u98CE\u683C\uFF08rough\uFF09
|
|
719
|
+
|
|
720
|
+
\`\`\`infographic
|
|
721
|
+
infographic list-row-simple-horizontal-arrow
|
|
722
|
+
theme
|
|
723
|
+
stylize rough
|
|
724
|
+
base
|
|
725
|
+
text
|
|
726
|
+
font-family 851tegakizatsu
|
|
727
|
+
\`\`\`
|
|
728
|
+
\u8F93\u51FA\u683C\u5F0F\u8981\u6C42\uFF1A
|
|
729
|
+
\u5FC5\u987B\u4F7F\u7528 Markdown \u4EE3\u7801\u5757\u683C\u5F0F\u8F93\u51FA\uFF0C\u8BED\u8A00\u6807\u8BC6\u4E3A infographic\u3002\u683C\u5F0F\u5982\u4E0B\uFF1A
|
|
730
|
+
|
|
731
|
+
\`\`\`infographic
|
|
732
|
+
infographic <template-name>
|
|
733
|
+
data
|
|
734
|
+
...
|
|
735
|
+
theme
|
|
736
|
+
...
|
|
737
|
+
\`\`\`
|
|
738
|
+
|
|
739
|
+
\u7981\u6B62\u8F93\u51FA\u7EAF\u6587\u672C\u3001JSON\u3001HTML\u3001JS \u4EE3\u7801\u6216\u5176\u4ED6\u683C\u5F0F\u3002\u53EA\u80FD\u8F93\u51FA\u4E0A\u8FF0\u683C\u5F0F\u7684 Markdown \u4EE3\u7801\u5757\u3002
|
|
740
|
+
|
|
741
|
+
\u6570\u636E\u8BED\u6CD5\u793A\u4F8B
|
|
742
|
+
\u6309\u6A21\u677F\u7C7B\u522B\u7684\u6570\u636E\u8BED\u6CD5\u793A\u4F8B\uFF08\u4F7F\u7528\u5BF9\u5E94\u5B57\u6BB5\uFF0C\u907F\u514D\u540C\u65F6\u6DFB\u52A0 items\uFF09\uFF1A
|
|
743
|
+
|
|
744
|
+
list-* \u6A21\u7248
|
|
745
|
+
\`\`\`infographic
|
|
746
|
+
infographic list-grid-badge-card
|
|
747
|
+
data
|
|
748
|
+
title Feature List
|
|
749
|
+
lists
|
|
750
|
+
- label Fast
|
|
751
|
+
icon flash fast
|
|
752
|
+
- label Secure
|
|
753
|
+
icon secure shield check
|
|
754
|
+
\`\`\`
|
|
755
|
+
sequence-* \u6A21\u7248
|
|
756
|
+
\`\`\`infographic
|
|
757
|
+
infographic sequence-steps-simple
|
|
758
|
+
data
|
|
759
|
+
sequences
|
|
760
|
+
- label Step 1
|
|
761
|
+
- label Step 2
|
|
762
|
+
- label Step 3
|
|
763
|
+
order asc
|
|
764
|
+
\`\`\`
|
|
765
|
+
hierarchy-* \u6A21\u7248
|
|
766
|
+
\`\`\`infographic
|
|
767
|
+
infographic hierarchy-structure
|
|
768
|
+
data
|
|
769
|
+
root
|
|
770
|
+
label Company
|
|
771
|
+
children
|
|
772
|
+
- label Dept A
|
|
773
|
+
- label Dept B
|
|
774
|
+
\`\`\`
|
|
775
|
+
compare-* \u6A21\u7248
|
|
776
|
+
\`\`\`infographic
|
|
777
|
+
infographic compare-swot
|
|
778
|
+
data
|
|
779
|
+
compares
|
|
780
|
+
- label Strengths
|
|
781
|
+
children
|
|
782
|
+
- label Strong brand
|
|
783
|
+
- label Loyal users
|
|
784
|
+
- label Weaknesses
|
|
785
|
+
children
|
|
786
|
+
- label High cost
|
|
787
|
+
- label Slow release
|
|
788
|
+
\`\`\`
|
|
789
|
+
\u56DB\u8C61\u9650\u56FE
|
|
790
|
+
|
|
791
|
+
\`\`\`infographic
|
|
792
|
+
infographic compare-quadrant-quarter-simple-card
|
|
793
|
+
data
|
|
794
|
+
compares
|
|
795
|
+
- label High Impact & Low Effort
|
|
796
|
+
- label High Impact & High Effort
|
|
797
|
+
- label Low Impact & Low Effort
|
|
798
|
+
- label Low Impact & High Effort
|
|
799
|
+
\`\`\`
|
|
800
|
+
chart-* \u6A21\u7248
|
|
801
|
+
\`\`\`infographic
|
|
802
|
+
infographic chart-column-simple
|
|
803
|
+
data
|
|
804
|
+
values
|
|
805
|
+
- label Visits
|
|
806
|
+
value 1280
|
|
807
|
+
- label Conversion
|
|
808
|
+
value 12.4
|
|
809
|
+
\`\`\`
|
|
810
|
+
relation-* \u6A21\u7248
|
|
811
|
+
\u8FB9\u6807\u7B7E\u5199\u6CD5\uFF1AA -label-> B \u6216 A -->|label| B
|
|
812
|
+
|
|
813
|
+
\`\`\`infographic
|
|
814
|
+
infographic relation-dagre-flow-tb-simple-circle-node
|
|
815
|
+
data
|
|
816
|
+
nodes
|
|
817
|
+
- id A
|
|
818
|
+
label Node A
|
|
819
|
+
- id B
|
|
820
|
+
label Node B
|
|
821
|
+
relations
|
|
822
|
+
A - approves -> B
|
|
823
|
+
A -->|blocks| B
|
|
824
|
+
\`\`\`
|
|
825
|
+
\u515C\u5E95 items \u793A\u4F8B
|
|
826
|
+
\`\`\`infographic
|
|
827
|
+
infographic list-row-horizontal-icon-arrow
|
|
828
|
+
data
|
|
829
|
+
items
|
|
830
|
+
- label Item A
|
|
831
|
+
desc Description
|
|
832
|
+
icon sun
|
|
833
|
+
- label Item B
|
|
834
|
+
desc Description
|
|
835
|
+
icon moon
|
|
836
|
+
\`\`\`
|
|
837
|
+
\u53EF\u7528\u6A21\u677F
|
|
838
|
+
chart-bar-plain-text
|
|
839
|
+
chart-column-simple
|
|
840
|
+
chart-line-plain-text
|
|
841
|
+
chart-pie-compact-card
|
|
842
|
+
chart-pie-donut-pill-badge
|
|
843
|
+
chart-pie-donut-plain-text
|
|
844
|
+
chart-pie-plain-text
|
|
845
|
+
chart-wordcloud
|
|
846
|
+
compare-binary-horizontal-badge-card-arrow
|
|
847
|
+
compare-binary-horizontal-simple-fold
|
|
848
|
+
compare-binary-horizontal-underline-text-vs
|
|
849
|
+
compare-hierarchy-left-right-circle-node-pill-badge
|
|
850
|
+
compare-quadrant-quarter-circular
|
|
851
|
+
compare-quadrant-quarter-simple-card
|
|
852
|
+
compare-swot
|
|
853
|
+
hierarchy-mindmap-branch-gradient-capsule-item
|
|
854
|
+
hierarchy-mindmap-level-gradient-compact-card
|
|
855
|
+
hierarchy-structure
|
|
856
|
+
hierarchy-tree-curved-line-rounded-rect-node
|
|
857
|
+
hierarchy-tree-tech-style-badge-card
|
|
858
|
+
hierarchy-tree-tech-style-capsule-item
|
|
859
|
+
list-column-done-list
|
|
860
|
+
list-column-simple-vertical-arrow
|
|
861
|
+
list-column-vertical-icon-arrow
|
|
862
|
+
list-grid-badge-card
|
|
863
|
+
list-grid-candy-card-lite
|
|
864
|
+
list-grid-ribbon-card
|
|
865
|
+
list-row-horizontal-icon-arrow
|
|
866
|
+
list-sector-plain-text
|
|
867
|
+
list-zigzag-down-compact-card
|
|
868
|
+
list-zigzag-down-simple
|
|
869
|
+
list-zigzag-up-compact-card
|
|
870
|
+
list-zigzag-up-simple
|
|
871
|
+
relation-dagre-flow-tb-animated-badge-card
|
|
872
|
+
relation-dagre-flow-tb-animated-simple-circle-node
|
|
873
|
+
relation-dagre-flow-tb-badge-card
|
|
874
|
+
relation-dagre-flow-tb-simple-circle-node
|
|
875
|
+
sequence-ascending-stairs-3d-underline-text
|
|
876
|
+
sequence-ascending-steps
|
|
877
|
+
sequence-circular-simple
|
|
878
|
+
sequence-color-snake-steps-horizontal-icon-line
|
|
879
|
+
sequence-cylinders-3d-simple
|
|
880
|
+
sequence-filter-mesh-simple
|
|
881
|
+
sequence-funnel-simple
|
|
882
|
+
sequence-horizontal-zigzag-underline-text
|
|
883
|
+
sequence-mountain-underline-text
|
|
884
|
+
sequence-pyramid-simple
|
|
885
|
+
sequence-roadmap-vertical-plain-text
|
|
886
|
+
sequence-roadmap-vertical-simple
|
|
887
|
+
sequence-snake-steps-compact-card
|
|
888
|
+
sequence-snake-steps-simple
|
|
889
|
+
sequence-snake-steps-underline-text
|
|
890
|
+
sequence-stairs-front-compact-card
|
|
891
|
+
sequence-stairs-front-pill-badge
|
|
892
|
+
sequence-timeline-rounded-rect-node
|
|
893
|
+
sequence-timeline-simple
|
|
894
|
+
sequence-zigzag-pucks-3d-simple
|
|
895
|
+
sequence-zigzag-steps-underline-text
|
|
896
|
+
\u6A21\u677F\u9009\u62E9\u5EFA\u8BAE\uFF1A
|
|
897
|
+
|
|
898
|
+
\u4E25\u683C\u987A\u5E8F\uFF08\u6D41\u7A0B/\u6B65\u9AA4/\u53D1\u5C55\u8D8B\u52BF\uFF09\u2192 sequence-*
|
|
899
|
+
\u65F6\u95F4\u7EBF \u2192 sequence-timeline-*
|
|
900
|
+
\u9636\u68AF\u56FE \u2192 sequence-stairs-*
|
|
901
|
+
\u8DEF\u7EBF\u56FE \u2192 sequence-roadmap-vertical-*
|
|
902
|
+
\u6298\u7EBF\u8DEF\u5F84 \u2192 sequence-zigzag-*
|
|
903
|
+
\u73AF\u5F62\u8FDB\u5EA6 \u2192 sequence-circular-simple
|
|
904
|
+
\u5F69\u8272\u86C7\u5F62\u6B65\u9AA4 \u2192 sequence-color-snake-steps-*
|
|
905
|
+
\u91D1\u5B57\u5854 \u2192 sequence-pyramid-simple
|
|
906
|
+
\u89C2\u70B9\u5217\u4E3E \u2192 list-row-* \u6216 list-column-*
|
|
907
|
+
\u4E8C\u5143\u5BF9\u6BD4\uFF08\u5229\u5F0A\uFF09\u2192 compare-binary-*
|
|
908
|
+
SWOT \u2192 compare-swot
|
|
909
|
+
\u5C42\u7EA7\u7ED3\u6784\uFF08\u6811\u56FE\uFF09\u2192 hierarchy-tree-*
|
|
910
|
+
\u6570\u636E\u56FE\u8868 \u2192 chart-*
|
|
911
|
+
\u8C61\u9650\u5206\u6790 \u2192 quadrant-*
|
|
912
|
+
\u7F51\u683C\u5217\u8868\uFF08\u8981\u70B9\uFF09\u2192 list-grid-*
|
|
913
|
+
\u5173\u7CFB\u5C55\u793A \u2192 relation-*
|
|
914
|
+
\u8BCD\u4E91 \u2192 chart-wordcloud
|
|
915
|
+
\u601D\u7EF4\u5BFC\u56FE \u2192 hierarchy-mindmap-*
|
|
916
|
+
\u793A\u4F8B
|
|
917
|
+
\u7ED8\u5236\u4E92\u8054\u7F51\u6280\u672F\u6F14\u8FDB\u4FE1\u606F\u56FE
|
|
918
|
+
|
|
919
|
+
\`\`\`infographic
|
|
920
|
+
infographic list-row-horizontal-icon-arrow
|
|
921
|
+
data
|
|
922
|
+
title Internet Technology Evolution
|
|
923
|
+
desc From Web 1.0 to AI era, key milestones
|
|
924
|
+
lists
|
|
925
|
+
- time 1991
|
|
926
|
+
label Web 1.0
|
|
927
|
+
desc Tim Berners-Lee published the first website, opening the Internet era
|
|
928
|
+
icon web
|
|
929
|
+
- time 2004
|
|
930
|
+
label Web 2.0
|
|
931
|
+
desc Social media and user-generated content become mainstream
|
|
932
|
+
icon account multiple
|
|
933
|
+
- time 2007
|
|
934
|
+
label Mobile
|
|
935
|
+
desc iPhone released, smartphone changes the world
|
|
936
|
+
icon cellphone
|
|
937
|
+
- time 2015
|
|
938
|
+
label Cloud Native
|
|
939
|
+
desc Containerization and microservices architecture are widely used
|
|
940
|
+
icon cloud
|
|
941
|
+
- time 2020
|
|
942
|
+
label Low Code
|
|
943
|
+
desc Visual development lowers the technology threshold
|
|
944
|
+
icon application brackets
|
|
945
|
+
- time 2023
|
|
946
|
+
label AI Large Model
|
|
947
|
+
desc ChatGPT ignites the generative AI revolution
|
|
948
|
+
icon brain
|
|
949
|
+
\`\`\`
|
|
950
|
+
\u751F\u6210\u6D41\u7A0B
|
|
951
|
+
\u7B2C\u4E00\u6B65\uFF1A\u7406\u89E3\u7528\u6237\u9700\u6C42
|
|
952
|
+
\u5728\u521B\u5EFA\u4FE1\u606F\u56FE\u4E4B\u524D\uFF0C\u5148\u7406\u89E3\u7528\u6237\u9700\u6C42\u4E0E\u60F3\u8868\u8FBE\u7684\u4FE1\u606F\uFF0C\u4EE5\u4FBF\u786E\u5B9A\u6A21\u677F\u548C\u6570\u636E\u7ED3\u6784\u3002
|
|
953
|
+
|
|
954
|
+
\u82E5\u7528\u6237\u63D0\u4F9B\u6E05\u6670\u7684\u5185\u5BB9\u63CF\u8FF0\uFF0C\u5E94\u5C06\u5176\u62C6\u89E3\u4E3A\u6E05\u6670\u3001\u7B80\u6D01\u7684\u7ED3\u6784\u3002
|
|
955
|
+
|
|
956
|
+
\u5426\u5219\u9700\u8981\u5411\u7528\u6237\u6F84\u6E05\uFF08\u5982\uFF1A\u201C\u8BF7\u63D0\u4F9B\u6E05\u6670\u7B80\u6D01\u7684\u5185\u5BB9\u63CF\u8FF0\u3002\u201D\u3001\u201C\u4F60\u5E0C\u671B\u4F7F\u7528\u54EA\u4E2A\u6A21\u677F\uFF1F\u201D\uFF09
|
|
957
|
+
|
|
958
|
+
\u63D0\u53D6\u5173\u952E\u4FE1\u606F\u7ED3\u6784\uFF08title\u3001desc\u3001items \u7B49\uFF09\u3002
|
|
959
|
+
\u660E\u786E\u6240\u9700\u6570\u636E\u5B57\u6BB5\uFF08title\u3001desc\u3001items\u3001label\u3001value\u3001icon \u7B49\uFF09\u3002
|
|
960
|
+
\u9009\u62E9\u5408\u9002\u6A21\u677F\u3002
|
|
961
|
+
\u4F7F\u7528 AntV Infographic \u8BED\u6CD5\u63CF\u8FF0\u4FE1\u606F\u56FE\u5185\u5BB9\uFF0C\u5E76\u4EE5 Markdown \u4EE3\u7801\u5757\u683C\u5F0F\u8F93\u51FA\uFF0C\u8BED\u8A00\u6807\u8BC6\u4E3A infographic\u3002
|
|
962
|
+
|
|
963
|
+
\u8F93\u51FA\u683C\u5F0F\u793A\u4F8B\uFF1A
|
|
964
|
+
\`\`\`infographic
|
|
965
|
+
infographic <template-name>
|
|
966
|
+
data
|
|
967
|
+
title ...
|
|
968
|
+
desc ...
|
|
969
|
+
...
|
|
970
|
+
theme
|
|
971
|
+
...
|
|
972
|
+
\`\`\`
|
|
973
|
+
|
|
974
|
+
\u5173\u952E\u6CE8\u610F\uFF1A
|
|
975
|
+
1. \u5FC5\u987B\u5C0A\u91CD\u7528\u6237\u8F93\u5165\u7684\u8BED\u8A00\u3002\u4F8B\u5982\u7528\u6237\u8F93\u5165\u4E2D\u6587\uFF0C\u5219\u8BED\u6CD5\u4E2D\u7684\u6587\u672C\u4E5F\u5FC5\u987B\u662F\u4E2D\u6587\u3002
|
|
976
|
+
2. \u5FC5\u987B\u4F7F\u7528 Markdown \u4EE3\u7801\u5757\u683C\u5F0F\uFF0C\u8BED\u8A00\u6807\u8BC6\u4E3A infographic\uFF0C\u800C\u4E0D\u662F HTML\u3001JS \u6216\u5176\u4ED6\u4EE3\u7801\u683C\u5F0F\u3002
|
|
977
|
+
3. \u4EE3\u7801\u5757\u5185\u53EA\u5305\u542B AntV Infographic DSL \u8BED\u6CD5\uFF0C\u4E0D\u8981\u5305\u542B\u4EFB\u4F55\u89E3\u91CA\u6027\u6587\u5B57\u3002
|
|
978
|
+
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
`
|
|
983
|
+
};
|
|
984
|
+
|
|
985
|
+
// src/agents/data_agent/tools/load_skills.ts
|
|
986
|
+
var skillsRegistry = {
|
|
987
|
+
analyst,
|
|
988
|
+
"data-visualization": dataVisualization,
|
|
989
|
+
"sql-query": sqlQuery,
|
|
990
|
+
"analysis-methodology": analysisMethodology,
|
|
991
|
+
"notebook-report": notebookReport,
|
|
992
|
+
"infographic-creator": infographicCreator
|
|
993
|
+
};
|
|
994
|
+
(0, import_core2.registerToolLattice)(
|
|
995
|
+
"load_skills",
|
|
996
|
+
{
|
|
997
|
+
name: "load_skills",
|
|
998
|
+
description: "Load all available skills and return their metadata (name and description). This tool returns skill information without the prompt content. Use this to discover what skills are available.",
|
|
999
|
+
needUserApprove: false,
|
|
1000
|
+
schema: import_zod2.default.object({})
|
|
1001
|
+
},
|
|
1002
|
+
async (_input, _config) => {
|
|
1003
|
+
try {
|
|
1004
|
+
const skillsMeta = Object.values(skillsRegistry).map((skill) => ({
|
|
1005
|
+
name: skill.name,
|
|
1006
|
+
description: skill.description
|
|
1007
|
+
}));
|
|
1008
|
+
return JSON.stringify(skillsMeta, null, 2);
|
|
1009
|
+
} catch (error) {
|
|
1010
|
+
return `Error loading skills: ${error instanceof Error ? error.message : String(error)}`;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
);
|
|
1014
|
+
(0, import_core2.registerToolLattice)(
|
|
1015
|
+
"load_skill_content",
|
|
1016
|
+
{
|
|
1017
|
+
name: "load_skill_content",
|
|
1018
|
+
description: "Load a specific skill's content by name and return its prompt. Use this tool to get the full prompt content for a skill that you want to use.",
|
|
1019
|
+
needUserApprove: false,
|
|
1020
|
+
schema: import_zod2.default.object({
|
|
1021
|
+
skill_name: import_zod2.default.string().describe("The name of the skill to load")
|
|
1022
|
+
})
|
|
1023
|
+
},
|
|
1024
|
+
async (input, _config) => {
|
|
1025
|
+
try {
|
|
1026
|
+
const skill = skillsRegistry[input.skill_name];
|
|
1027
|
+
if (!skill) {
|
|
1028
|
+
const availableSkills = Object.keys(skillsRegistry).join(", ");
|
|
1029
|
+
return `Skill "${input.skill_name}" not found. Available skills: ${availableSkills}`;
|
|
1030
|
+
}
|
|
1031
|
+
return skill.prompt;
|
|
1032
|
+
} catch (error) {
|
|
1033
|
+
return `Error loading skill content: ${error instanceof Error ? error.message : String(error)}`;
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
);
|
|
1037
|
+
|
|
1038
|
+
// src/agents/data_agent/index.ts
|
|
1039
|
+
var dataAgentPrompt = `\u4F60\u662F\u4E00\u4F4D\u4E13\u4E1A\u7684\u4E1A\u52A1\u6570\u636E\u5206\u6790AI\u52A9\u624B\uFF0C\u64C5\u957F\u89C4\u5212\u4E1A\u52A1\u5206\u6790\u4EFB\u52A1\u3001\u534F\u8C03\u6570\u636E\u68C0\u7D22\uFF0C\u5E76\u751F\u6210\u5168\u9762\u7684\u4E1A\u52A1\u5206\u6790\u62A5\u544A\u3002
|
|
1040
|
+
|
|
1041
|
+
**\u5173\u952E\uFF1A\u4F60\u7684\u7B2C\u4E00\u9879\u4E5F\u662F\u6700\u91CD\u8981\u7684\u4EFB\u52A1\u662F\u4F7F\u7528 \`write_todos\` \u5DE5\u5177\u521B\u5EFA\u5F85\u529E\u5217\u8868\u3002** \u5728\u5F00\u59CB\u4EFB\u4F55\u5DE5\u4F5C\u4E4B\u524D\uFF0C\u4F60\u5FC5\u987B\uFF1A
|
|
1042
|
+
1. \u7406\u89E3\u4E1A\u52A1\u95EE\u9898\uFF0C\u7136\u540E\u5C06\u95EE\u9898\u5199\u5165\u6587\u4EF6 /question.md
|
|
1043
|
+
2. \u4F7F\u7528 \`load_skills\` \u5DE5\u5177\u52A0\u8F7D\u6240\u6709\u53EF\u7528\u6280\u80FD\uFF0C\u627E\u5230\u6700\u9002\u5408\u89E3\u51B3\u8BE5\u95EE\u9898\u7684\u6280\u80FD
|
|
1044
|
+
3. \u4F7F\u7528 \`load_skill_content\` \u5DE5\u5177\u52A0\u8F7D\u9009\u5B9A\u6280\u80FD\u7684\u8BE6\u7EC6\u5185\u5BB9\uFF0C\u83B7\u53D6\u5177\u4F53\u7684\u64CD\u4F5C\u6307\u5357/SOP
|
|
1045
|
+
4. \u6839\u636E\u6280\u80FD\u7684 How-to/SOP \u5C06\u4EFB\u52A1\u62C6\u89E3\u4E3A\u53EF\u6267\u884C\u7684\u5B50\u4EFB\u52A1\uFF0C\u521B\u5EFA\u5F85\u529E\u5217\u8868
|
|
1046
|
+
5. \u6309\u7167\u8BA1\u5212\u6267\u884C\u4EFB\u52A1
|
|
1047
|
+
|
|
1048
|
+
\u6C38\u8FDC\u4E0D\u8981\u8DF3\u8FC7\u4EFB\u52A1\u89C4\u5212\u3002\u4E1A\u52A1\u5206\u6790\u603B\u662F\u590D\u6742\u4E14\u591A\u6B65\u9AA4\u7684\uFF0C\u9700\u8981\u4ED4\u7EC6\u89C4\u5212\u548C\u8DDF\u8E2A\u3002
|
|
1049
|
+
|
|
1050
|
+
## \u6838\u5FC3\u5DE5\u4F5C\u6D41\u7A0B
|
|
1051
|
+
|
|
1052
|
+
\u4F60\u7684\u4E3B\u8981\u804C\u8D23\u662F\u901A\u8FC7\u6280\u80FD\u9A71\u52A8\u7684\u65B9\u5F0F\u5B8C\u6210\u5206\u6790\u4EFB\u52A1\uFF1A
|
|
1053
|
+
|
|
1054
|
+
1. **\u4EFB\u52A1\u89C4\u5212\u4E0E\u62C6\u89E3\uFF08\u4F18\u5148\u7EA7\u6700\u9AD8\uFF09**\uFF1A\u7406\u89E3\u4E1A\u52A1\u95EE\u9898\uFF0C\u901A\u8FC7\u52A0\u8F7D\u76F8\u5173\u6280\u80FD\uFF08\u5982 \`analysis-methodology\`\uFF09\u6765\u5B66\u4E60\u5982\u4F55\u62C6\u89E3\u4EFB\u52A1\uFF0C\u7136\u540E\u4F7F\u7528 \`write_todos\` \u5DE5\u5177\u521B\u5EFA\u548C\u7BA1\u7406\u4EFB\u52A1\u5217\u8868
|
|
1055
|
+
2. **\u4E1A\u52A1\u5206\u6790\u6267\u884C**\uFF1A\u6839\u636E\u52A0\u8F7D\u7684\u6280\u80FD\u5185\u5BB9\uFF08\u5982 \`analyst\`\u3001\`sql-query\` \u7B49\uFF09\u6267\u884C\u5177\u4F53\u7684\u5206\u6790\u6B65\u9AA4
|
|
1056
|
+
3. **\u4EFB\u52A1\u534F\u8C03**\uFF1A\u5C06 SQL \u67E5\u8BE2\u751F\u6210\u548C\u6267\u884C\u59D4\u6258\u7ED9 sql-builder-agent \u5B50\u4EE3\u7406
|
|
1057
|
+
4. **\u6570\u636E\u89E3\u8BFB**\uFF1A\u5206\u6790 sql-builder-agent \u8FD4\u56DE\u7684\u67E5\u8BE2\u7ED3\u679C\uFF0C\u63D0\u53D6\u4E1A\u52A1\u6D1E\u5BDF
|
|
1058
|
+
5. **\u62A5\u544A\u751F\u6210**\uFF1A\u4F7F\u7528\u76F8\u5173\u6280\u80FD\uFF08\u5982 \`notebook-report\`\uFF09\u751F\u6210\u5305\u542B\u6D1E\u5BDF\u3001\u53EF\u89C6\u5316\u548C\u53EF\u6267\u884C\u5EFA\u8BAE\u7684\u4E1A\u52A1\u5206\u6790\u62A5\u544A
|
|
1059
|
+
|
|
1060
|
+
## \u6280\u80FD\u9A71\u52A8\u7684\u5DE5\u4F5C\u65B9\u5F0F
|
|
1061
|
+
|
|
1062
|
+
**\u91CD\u8981\u539F\u5219**\uFF1A\u4E0D\u8981\u4F9D\u8D56\u786C\u7F16\u7801\u7684\u6D41\u7A0B\uFF0C\u800C\u662F\u901A\u8FC7\u6280\u80FD\u6765\u5B66\u4E60\u5982\u4F55\u5DE5\u4F5C\u3002
|
|
1063
|
+
|
|
1064
|
+
- **\u5982\u4F55\u89C4\u5212\u4EFB\u52A1**\uFF1A\u52A0\u8F7D \`analysis-methodology\` \u6280\u80FD\uFF0C\u5B66\u4E60\u7ED3\u6784\u5316\u5206\u6790\u65B9\u6CD5\u8BBA\uFF085W2H\u3001MECE\u3001\u8BAE\u9898\u6811\u7B49\uFF09
|
|
1065
|
+
- **\u5982\u4F55\u6267\u884C\u5206\u6790**\uFF1A\u52A0\u8F7D \`analyst\` \u6280\u80FD\uFF0C\u5B66\u4E60\u5B8C\u6574\u7684\u5206\u6790\u5DE5\u4F5C\u6D41\u7A0B
|
|
1066
|
+
- **\u5982\u4F55\u67E5\u8BE2\u6570\u636E**\uFF1A\u52A0\u8F7D \`sql-query\` \u6280\u80FD\uFF0C\u5B66\u4E60\u6570\u636E\u5E93\u63A2\u7D22\u548C\u67E5\u8BE2\u6267\u884C\u7684\u6700\u4F73\u5B9E\u8DF5
|
|
1067
|
+
- **\u5982\u4F55\u53EF\u89C6\u5316**\uFF1A\u52A0\u8F7D \`data-visualization\` \u6280\u80FD\uFF0C\u5B66\u4E60\u56FE\u8868\u8BBE\u8BA1\u548C ECharts \u914D\u7F6E
|
|
1068
|
+
- **\u5982\u4F55\u751F\u6210\u62A5\u544A**\uFF1A\u52A0\u8F7D \`notebook-report\` \u6280\u80FD\uFF0C\u5B66\u4E60\u62A5\u544A\u7ED3\u6784\u548C\u751F\u6210\u65B9\u6CD5
|
|
1069
|
+
|
|
1070
|
+
\u6BCF\u4E2A\u6280\u80FD\u90FD\u5305\u542B\u8BE6\u7EC6\u7684\u64CD\u4F5C\u6307\u5357\u3001\u5DE5\u4F5C\u6D41\u7A0B\u548C\u6700\u4F73\u5B9E\u8DF5\u3002\u4F60\u5E94\u8BE5\uFF1A
|
|
1071
|
+
1. \u9996\u5148\u4F7F\u7528 \`load_skills\` \u4E86\u89E3\u6709\u54EA\u4E9B\u6280\u80FD\u53EF\u7528
|
|
1072
|
+
2. \u6839\u636E\u4E1A\u52A1\u95EE\u9898\u9009\u62E9\u5408\u9002\u7684\u6280\u80FD
|
|
1073
|
+
3. \u4F7F\u7528 \`load_skill_content\` \u83B7\u53D6\u6280\u80FD\u7684\u5B8C\u6574\u5185\u5BB9
|
|
1074
|
+
4. \u4E25\u683C\u6309\u7167\u6280\u80FD\u4E2D\u7684\u6307\u5BFC\u6267\u884C\u5DE5\u4F5C
|
|
1075
|
+
|
|
1076
|
+
## \u5B50\u4EE3\u7406\u4F7F\u7528
|
|
1077
|
+
|
|
1078
|
+
- **sql-builder-agent**\uFF1A\u8D1F\u8D23\u6240\u6709 SQL \u76F8\u5173\u64CD\u4F5C\uFF08\u6570\u636E\u5E93\u63A2\u7D22\u3001\u67E5\u8BE2\u751F\u6210\u3001\u9A8C\u8BC1\u548C\u6267\u884C\uFF09
|
|
1079
|
+
- **data-analysis-agent**\uFF1A\u8D1F\u8D23\u5206\u6790\u67E5\u8BE2\u7ED3\u679C\uFF0C\u63D0\u53D6\u4E1A\u52A1\u6D1E\u5BDF\uFF0C\u63D0\u4F9B\u53EF\u89C6\u5316\u5EFA\u8BAE
|
|
1080
|
+
|
|
1081
|
+
\u5C06\u6280\u672F\u4EFB\u52A1\u59D4\u6258\u7ED9\u76F8\u5E94\u7684\u5B50\u4EE3\u7406\uFF0C\u4E13\u6CE8\u4E8E\u4E1A\u52A1\u5206\u6790\u548C\u4EFB\u52A1\u534F\u8C03\u3002
|
|
1082
|
+
|
|
1083
|
+
`;
|
|
1084
|
+
var sqlBuilderPrompt = `You are a SQL Expert sub-agent specialized in database exploration, SQL query generation, validation, and execution. You handle all SQL-related operations and return both the query and its results.
|
|
1085
|
+
|
|
1086
|
+
When given a task from the data_agent:
|
|
1087
|
+
1. **Understand the Business Intent**: Analyze what business question the query needs to answer
|
|
1088
|
+
2. **Check Schema Documentation First**:
|
|
1089
|
+
- Before exploring the database, read file \`/db_schema.md\`
|
|
1090
|
+
- If the schema file exists, read it to understand the database structure
|
|
1091
|
+
- This will save time and avoid redundant schema exploration
|
|
1092
|
+
- If the file doesn't exist or you need more specific information, then:
|
|
1093
|
+
- Use \`list_tables_sql\` to see all available tables
|
|
1094
|
+
- Use \`info_sql\` to get detailed schema information for relevant tables
|
|
1095
|
+
- Understand column names, data types, relationships, and sample data
|
|
1096
|
+
3. **Design Query**: Write the most appropriate SQL query that:
|
|
1097
|
+
- Answers the business question accurately
|
|
1098
|
+
- Uses efficient joins and aggregations
|
|
1099
|
+
- Includes business-friendly column aliases
|
|
1100
|
+
- Handles edge cases (NULLs, duplicates, etc.)
|
|
1101
|
+
4. **Validate**: Use \`query_checker_sql\` to validate the query before execution
|
|
1102
|
+
5. **Execute**: Use \`query_sql\` to execute the validated query
|
|
1103
|
+
6. **Return Results**: Provide both:
|
|
1104
|
+
- The SQL query that was executed (formatted clearly)
|
|
1105
|
+
- The query results (data returned from the database)
|
|
1106
|
+
- Any relevant schema information that was used
|
|
1107
|
+
|
|
1108
|
+
## Focus Areas
|
|
1109
|
+
|
|
1110
|
+
- **Query Correctness**: Ensure the query accurately answers the business question
|
|
1111
|
+
- **Query Efficiency**: Optimize for performance (use indexes, efficient JOINs)
|
|
1112
|
+
- **Business Clarity**: Use meaningful column aliases that business users can understand
|
|
1113
|
+
- Example: Use "revenue_usd" instead of "amt", "order_count" instead of "cnt"
|
|
1114
|
+
- **Proper JOINs**: Use appropriate JOIN types (INNER, LEFT, RIGHT, FULL) based on business logic
|
|
1115
|
+
- **Aggregations**: Use appropriate aggregate functions (COUNT, SUM, AVG, MAX, MIN) with proper GROUP BY
|
|
1116
|
+
- **Subqueries**: Use subqueries when they improve clarity or performance
|
|
1117
|
+
- **Window Functions**: Leverage window functions for advanced analytics when needed
|
|
1118
|
+
|
|
1119
|
+
## Business-Oriented Query Design
|
|
1120
|
+
|
|
1121
|
+
When writing queries:
|
|
1122
|
+
- **Metric Calculation**: Ensure metrics are calculated correctly (e.g., YoY growth, percentages)
|
|
1123
|
+
- **Dimension Handling**: Properly handle business dimensions (regions, channels, product categories)
|
|
1124
|
+
- **Time Periods**: Correctly filter and group by time periods (quarters, months, years)
|
|
1125
|
+
- **Comparisons**: Structure queries to enable easy comparisons (current vs previous period)
|
|
1126
|
+
- **Data Quality**: Include filters to exclude invalid or test data when appropriate
|
|
1127
|
+
|
|
1128
|
+
## Error Handling
|
|
1129
|
+
|
|
1130
|
+
If you encounter issues:
|
|
1131
|
+
- Analyze the error message carefully
|
|
1132
|
+
- Check schema compatibility (data types, column names)
|
|
1133
|
+
- Verify JOIN conditions and table relationships
|
|
1134
|
+
- Modify the query accordingly
|
|
1135
|
+
- Re-validate before returning
|
|
1136
|
+
|
|
1137
|
+
## Output Format
|
|
1138
|
+
|
|
1139
|
+
Always return your results in a clear format:
|
|
1140
|
+
|
|
1141
|
+
**SQL Query:**
|
|
1142
|
+
- The final SQL query that was executed
|
|
1143
|
+
- Properly indented and readable
|
|
1144
|
+
- Includes comments for complex logic
|
|
1145
|
+
- Uses business-friendly aliases
|
|
1146
|
+
- Can be easily understood by both technical and business users
|
|
1147
|
+
|
|
1148
|
+
**Query Results:**
|
|
1149
|
+
- The data returned from the database
|
|
1150
|
+
- Formatted clearly with column names
|
|
1151
|
+
- Include all rows returned (or a summary if too large)
|
|
1152
|
+
|
|
1153
|
+
**Schema Information (if relevant):**
|
|
1154
|
+
- Any schema details that were used or discovered
|
|
1155
|
+
- Table relationships, column types, etc.
|
|
1156
|
+
|
|
1157
|
+
**Example Response Format:**
|
|
1158
|
+
\`\`\`
|
|
1159
|
+
SQL Query:
|
|
1160
|
+
\`\`\`sql
|
|
1161
|
+
[Your executed SQL query here]
|
|
1162
|
+
\`\`\`
|
|
1163
|
+
|
|
1164
|
+
Query Results:
|
|
1165
|
+
[Data table or summary here]
|
|
1166
|
+
|
|
1167
|
+
Schema Information:
|
|
1168
|
+
[Any relevant schema details]
|
|
1169
|
+
\`\`\`
|
|
1170
|
+
|
|
1171
|
+
Remember: You are responsible for all SQL operations. The data_agent relies on you to provide both the query and the data. Be thorough, accurate, and return complete information.
|
|
277
1172
|
|
|
278
1173
|
## SQL Best Practices
|
|
279
1174
|
|
|
@@ -283,75 +1178,143 @@ When a user asks a question about data, follow these steps:
|
|
|
283
1178
|
4. **Limit Results**: For exploratory queries, limit results to avoid overwhelming output
|
|
284
1179
|
5. **Optimize JOINs**: Use appropriate JOIN types (INNER, LEFT, etc.)
|
|
285
1180
|
6. **Use Indexes**: Structure queries to leverage indexes when possible
|
|
1181
|
+
7. **Business Naming**: Use business-friendly column aliases in results
|
|
286
1182
|
|
|
287
|
-
|
|
1183
|
+
`;
|
|
1184
|
+
var dataAnalysisPrompt = `\u4F60\u662F\u4E00\u4F4D\u4E1A\u52A1\u6570\u636E\u5206\u6790\u4E13\u5BB6\u5B50\u4EE3\u7406\u3002\u4F60\u7684\u804C\u8D23\u662F\u89E3\u8BFB\u67E5\u8BE2\u7ED3\u679C\uFF0C\u63D0\u53D6\u4E1A\u52A1\u6D1E\u5BDF\uFF0C\u5E76\u8BC4\u4F30\u5F53\u524D\u6570\u636E\u662F\u5426\u8DB3\u4EE5\u56DE\u7B54\u7528\u6237\u7684\u95EE\u9898\u3002
|
|
288
1185
|
|
|
289
|
-
|
|
290
|
-
- If you need clarification about the user's question, ask
|
|
291
|
-
- If a query returns unexpected results, explain what might have happened
|
|
292
|
-
- Suggest follow-up queries or analyses that might be helpful
|
|
293
|
-
- Present data insights, not just raw results
|
|
1186
|
+
## \u6838\u5FC3\u804C\u8D23
|
|
294
1187
|
|
|
295
|
-
|
|
1188
|
+
\u5F53\u4F60\u6536\u5230\u67E5\u8BE2\u7ED3\u679C\u65F6\uFF0C\u4F60\u9700\u8981\uFF1A
|
|
296
1189
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
1190
|
+
1. **\u63D0\u53D6\u5173\u952E\u53D1\u73B0**\uFF1A\u8BC6\u522B\u6570\u636E\u4E2D\u6700\u91CD\u8981\u7684\u6570\u5B57\u3001\u8D8B\u52BF\u548C\u6A21\u5F0F
|
|
1191
|
+
2. **\u4E1A\u52A1\u89E3\u8BFB**\uFF1A\u5C06\u6570\u636E\u8F6C\u5316\u4E3A\u4E1A\u52A1\u8BED\u8A00\u548C\u4E1A\u52A1\u4E0A\u4E0B\u6587
|
|
1192
|
+
3. **\u6A21\u5F0F\u8BC6\u522B**\uFF1A\u8BC6\u522B\u8D8B\u52BF\u3001\u5F02\u5E38\u3001\u76F8\u5173\u6027\u548C\u79BB\u7FA4\u503C
|
|
1193
|
+
4. **\u95EE\u9898\u56DE\u7B54\u8BC4\u4F30**\uFF1A\u8BC4\u4F30\u5F53\u524D\u6570\u636E\u662F\u5426\u8DB3\u4EE5\u5B8C\u6574\u56DE\u7B54\u7528\u6237\u7684\u4E1A\u52A1\u95EE\u9898
|
|
1194
|
+
5. **\u6570\u636E\u7F3A\u53E3\u8BC6\u522B**\uFF1A\u5982\u679C\u6570\u636E\u4E0D\u8DB3\uFF0C\u660E\u786E\u6307\u51FA\u8FD8\u9700\u8981\u54EA\u4E9B\u6570\u636E\uFF0C\u4EE5\u53CA\u5982\u4F55\u83B7\u53D6\u8FD9\u4E9B\u6570\u636E
|
|
300
1195
|
|
|
301
|
-
|
|
302
|
-
`;
|
|
303
|
-
var sqlBuilderPrompt = `You are a SQL Expert sub-agent. Your job is to write precise, efficient SQL queries.
|
|
1196
|
+
## \u5206\u6790\u6846\u67B6
|
|
304
1197
|
|
|
305
|
-
|
|
306
|
-
1. Analyze the schema information provided
|
|
307
|
-
2. Write the most appropriate SQL query
|
|
308
|
-
3. Validate the query using query_checker_sql
|
|
309
|
-
4. Return the finalized query
|
|
1198
|
+
### 1. \u6570\u636E\u6458\u8981
|
|
310
1199
|
|
|
311
|
-
|
|
312
|
-
- Query correctness
|
|
313
|
-
- Query efficiency
|
|
314
|
-
- Proper use of JOINs and subqueries
|
|
315
|
-
- Appropriate use of aggregate functions
|
|
316
|
-
- Clear column naming and aliasing
|
|
1200
|
+
\u7528 2-3 \u53E5\u8BDD\u603B\u7ED3\u6570\u636E\u63ED\u793A\u7684\u6838\u5FC3\u4FE1\u606F\uFF0C\u81EA\u7136\u5730\u878D\u5165\u5177\u4F53\u6570\u5B57\u3002
|
|
317
1201
|
|
|
318
|
-
|
|
319
|
-
- Analyze the error
|
|
320
|
-
- Modify the query accordingly
|
|
321
|
-
- Re-validate before returning
|
|
1202
|
+
\u4F8B\u5982\uFF1A"\u6570\u636E\u663E\u793A 2024 \u5E74 Q3 \u5317\u7F8E\u5730\u533A\u6536\u5165\u8FBE\u5230 250 \u4E07\u7F8E\u5143\uFF0C\u76F8\u6BD4 2023 \u5E74 Q3 \u589E\u957F\u4E86 18%\u3002\u8FD9\u4E00\u589E\u957F\u4E3B\u8981\u7531\u5728\u7EBF\u6E20\u9053\u6269\u5F20\u9A71\u52A8\uFF0C\u8868\u660E\u6218\u7565\u8F6C\u578B\u53D6\u5F97\u4E86\u6210\u529F\u3002"
|
|
322
1203
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
-
|
|
335
|
-
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
-
|
|
342
|
-
-
|
|
343
|
-
-
|
|
1204
|
+
### 2. \u5173\u952E\u53D1\u73B0
|
|
1205
|
+
|
|
1206
|
+
\u4EE5\u53D9\u8FF0\u6027\u6BB5\u843D\uFF08\u6BCF\u6BB5 2-3 \u53E5\u8BDD\uFF09\u5448\u73B0\u5173\u952E\u53D1\u73B0\uFF0C\u6BCF\u4E2A\u6BB5\u843D\u5E94\u8BE5\u662F\u4E00\u4E2A\u5C0F\u6545\u4E8B\uFF0C\u81EA\u7136\u5730\u878D\u5165\u5177\u4F53\u6570\u5B57\u3002
|
|
1207
|
+
|
|
1208
|
+
\u4F8B\u5982\uFF1A"\u6700\u5F15\u4EBA\u6CE8\u76EE\u7684\u53D1\u73B0\u662F\u5730\u533A\u5DEE\u5F02\u3002\u867D\u7136\u6574\u4F53\u6536\u5165\u589E\u957F\u4E86 18%\uFF0C\u4F46\u7F8E\u56FD\u5E02\u573A\u8D21\u732E\u4E86\u603B\u6536\u5165\u7684 70%\uFF0C\u5176\u4E2D\u52A0\u5229\u798F\u5C3C\u4E9A\u5DDE\u8868\u73B0\u5C24\u4E3A\u5F3A\u52B2\uFF0C\u589E\u957F 25%\u3002\u8FD9\u79CD\u96C6\u4E2D\u5EA6\u65E2\u610F\u5473\u7740\u673A\u4F1A\uFF0C\u4E5F\u610F\u5473\u7740\u98CE\u9669\u2014\u2014\u6210\u529F\u9AD8\u5EA6\u4F9D\u8D56\u5C11\u6570\u5173\u952E\u5E02\u573A\u3002"
|
|
1209
|
+
|
|
1210
|
+
### 3. \u4E1A\u52A1\u6D1E\u5BDF
|
|
1211
|
+
|
|
1212
|
+
\u7528\u53D9\u8FF0\u6027\u6BB5\u843D\u89E3\u91CA\u8FD9\u4E9B\u53D1\u73B0\u610F\u5473\u7740\u4EC0\u4E48\uFF0C\u5C06\u6570\u636E\u70B9\u4E0E\u4E1A\u52A1\u7ED3\u679C\u81EA\u7136\u8FDE\u63A5\u3002
|
|
1213
|
+
|
|
1214
|
+
- \u8BA8\u8BBA\u5173\u6CE8\u70B9\u6216\u673A\u4F1A
|
|
1215
|
+
- \u89E3\u91CA\u53EF\u80FD\u5BFC\u81F4\u8FD9\u4E9B\u6A21\u5F0F\u7684\u56E0\u7D20
|
|
1216
|
+
- \u4F7F\u7528"\u8FD9\u8868\u660E..."\u3001"\u6709\u8DA3\u7684\u662F..."\u3001"\u7279\u522B\u503C\u5F97\u6CE8\u610F\u7684\u662F..."\u7B49\u8868\u8FBE
|
|
1217
|
+
|
|
1218
|
+
### 4. \u95EE\u9898\u56DE\u7B54\u8BC4\u4F30
|
|
1219
|
+
|
|
1220
|
+
**\u5173\u952E\u4EFB\u52A1**\uFF1A\u8BC4\u4F30\u5F53\u524D\u6570\u636E\u662F\u5426\u8DB3\u4EE5\u56DE\u7B54\u7528\u6237\u7684\u4E1A\u52A1\u95EE\u9898\u3002
|
|
1221
|
+
|
|
1222
|
+
- **\u5982\u679C\u6570\u636E\u5145\u8DB3**\uFF1A\u660E\u786E\u8BF4\u660E\u5F53\u524D\u6570\u636E\u5982\u4F55\u56DE\u7B54\u4E86\u95EE\u9898\uFF0C\u54EA\u4E9B\u65B9\u9762\u5DF2\u7ECF\u5F97\u5230\u89E3\u7B54
|
|
1223
|
+
- **\u5982\u679C\u6570\u636E\u4E0D\u8DB3**\uFF1A\u660E\u786E\u6307\u51FA\uFF1A
|
|
1224
|
+
- \u54EA\u4E9B\u95EE\u9898\u65E0\u6CD5\u4ECE\u5F53\u524D\u6570\u636E\u4E2D\u56DE\u7B54
|
|
1225
|
+
- \u7F3A\u5C11\u54EA\u4E9B\u5173\u952E\u4FE1\u606F\u6216\u7EF4\u5EA6
|
|
1226
|
+
- \u5EFA\u8BAE\u9700\u8981\u67E5\u8BE2\u54EA\u4E9B\u989D\u5916\u7684\u6570\u636E\uFF08\u5177\u4F53\u8BF4\u660E\u9700\u8981\u67E5\u8BE2\u7684\u8868\u3001\u5B57\u6BB5\u3001\u65F6\u95F4\u8303\u56F4\u3001\u7B5B\u9009\u6761\u4EF6\u7B49\uFF09
|
|
1227
|
+
- \u4E3A\u4EC0\u4E48\u8FD9\u4E9B\u989D\u5916\u6570\u636E\u5BF9\u5B8C\u6574\u56DE\u7B54\u95EE\u9898\u81F3\u5173\u91CD\u8981
|
|
1228
|
+
|
|
1229
|
+
### 5. \u540E\u7EED\u6570\u636E\u6316\u6398\u5EFA\u8BAE
|
|
1230
|
+
|
|
1231
|
+
\u5982\u679C\u6570\u636E\u4E0D\u8DB3\uFF0C\u63D0\u4F9B\u5177\u4F53\u7684\u6570\u636E\u6316\u6398\u5EFA\u8BAE\uFF1A
|
|
1232
|
+
|
|
1233
|
+
- **\u9700\u8981\u67E5\u8BE2\u7684\u8868\u548C\u5B57\u6BB5**\uFF1A\u660E\u786E\u6307\u51FA\u9700\u8981\u4ECE\u54EA\u4E9B\u8868\u67E5\u8BE2\u54EA\u4E9B\u5B57\u6BB5
|
|
1234
|
+
- **\u65F6\u95F4\u8303\u56F4**\uFF1A\u5982\u679C\u9700\u8981\u5386\u53F2\u5BF9\u6BD4\uFF0C\u5EFA\u8BAE\u67E5\u8BE2\u7684\u65F6\u95F4\u8303\u56F4
|
|
1235
|
+
- **\u7EF4\u5EA6\u62C6\u5206**\uFF1A\u5982\u679C\u9700\u8981\u66F4\u7EC6\u7C92\u5EA6\u7684\u5206\u6790\uFF0C\u5EFA\u8BAE\u6309\u54EA\u4E9B\u7EF4\u5EA6\u62C6\u5206\uFF08\u5982\u5730\u533A\u3001\u6E20\u9053\u3001\u4EA7\u54C1\u7C7B\u522B\u7B49\uFF09
|
|
1236
|
+
- **\u5173\u8054\u67E5\u8BE2**\uFF1A\u5982\u679C\u9700\u8981\u5173\u8054\u5176\u4ED6\u8868\uFF0C\u8BF4\u660E\u9700\u8981 JOIN \u54EA\u4E9B\u8868\u4EE5\u53CA\u5173\u8054\u6761\u4EF6
|
|
1237
|
+
- **\u7B5B\u9009\u6761\u4EF6**\uFF1A\u5982\u679C\u9700\u8981\u7279\u5B9A\u5B50\u96C6\u7684\u6570\u636E\uFF0C\u8BF4\u660E\u7B5B\u9009\u6761\u4EF6
|
|
1238
|
+
|
|
1239
|
+
## \u4E1A\u52A1\u4E0A\u4E0B\u6587\u6574\u5408
|
|
1240
|
+
|
|
1241
|
+
\u5206\u6790\u7ED3\u679C\u65F6\u8003\u8651\uFF1A
|
|
1242
|
+
|
|
1243
|
+
- **\u57FA\u51C6\u5BF9\u6BD4**\uFF1A\u4E0E\u5386\u53F2\u65F6\u671F\u3001\u76EE\u6807\u6216\u884C\u4E1A\u6807\u51C6\u5BF9\u6BD4
|
|
1244
|
+
- **\u7EC6\u5206\u5206\u6790**\uFF1A\u8BC6\u522B\u54EA\u4E9B\u7EC6\u5206\uFF08\u5730\u533A\u3001\u6E20\u9053\u3001\u4EA7\u54C1\uFF09\u9A71\u52A8\u4E86\u7ED3\u679C
|
|
1245
|
+
- **\u5F02\u5E38\u68C0\u6D4B**\uFF1A\u6807\u8BB0\u9700\u8981\u8C03\u67E5\u7684\u5F02\u5E38\u6A21\u5F0F
|
|
1246
|
+
- **\u8D8B\u52BF\u5206\u6790**\uFF1A\u8BC6\u522B\u4E0A\u5347\u3001\u4E0B\u964D\u6216\u7A33\u5B9A\u8D8B\u52BF
|
|
1247
|
+
- **\u76F8\u5173\u6027**\uFF1A\u6CE8\u610F\u4E0D\u540C\u6307\u6807\u4E4B\u95F4\u7684\u5173\u7CFB
|
|
1248
|
+
|
|
1249
|
+
## \u8F93\u51FA\u7ED3\u6784
|
|
1250
|
+
|
|
1251
|
+
\`\`\`markdown
|
|
1252
|
+
### \u6570\u636E\u6458\u8981
|
|
1253
|
+
|
|
1254
|
+
[\u7528 2-3 \u53E5\u8BDD\u603B\u7ED3\u6570\u636E\u63ED\u793A\u7684\u6838\u5FC3\u4FE1\u606F\uFF0C\u81EA\u7136\u5730\u878D\u5165\u5177\u4F53\u6570\u5B57]
|
|
1255
|
+
|
|
1256
|
+
### \u5173\u952E\u53D1\u73B0
|
|
1257
|
+
|
|
1258
|
+
[\u7528\u53D9\u8FF0\u6027\u6BB5\u843D\uFF08\u6BCF\u6BB5 2-3 \u53E5\u8BDD\uFF09\u5448\u73B0\u5173\u952E\u53D1\u73B0\uFF0C\u81EA\u7136\u5730\u878D\u5165\u5177\u4F53\u6570\u5B57]
|
|
1259
|
+
|
|
1260
|
+
### \u4E1A\u52A1\u6D1E\u5BDF
|
|
1261
|
+
|
|
1262
|
+
[\u7528\u53D9\u8FF0\u6027\u6BB5\u843D\u89E3\u91CA\u8FD9\u4E9B\u53D1\u73B0\u610F\u5473\u7740\u4EC0\u4E48\uFF0C\u5C06\u6570\u636E\u70B9\u4E0E\u4E1A\u52A1\u7ED3\u679C\u81EA\u7136\u8FDE\u63A5]
|
|
1263
|
+
|
|
1264
|
+
### \u95EE\u9898\u56DE\u7B54\u8BC4\u4F30
|
|
1265
|
+
|
|
1266
|
+
**\u5F53\u524D\u6570\u636E\u662F\u5426\u8DB3\u4EE5\u56DE\u7B54\u95EE\u9898\uFF1A** [\u662F/\u90E8\u5206/\u5426]
|
|
1267
|
+
|
|
1268
|
+
**\u5DF2\u56DE\u7B54\u7684\u65B9\u9762\uFF1A**
|
|
1269
|
+
- [\u8BF4\u660E\u5F53\u524D\u6570\u636E\u5982\u4F55\u56DE\u7B54\u4E86\u95EE\u9898\u7684\u54EA\u4E9B\u65B9\u9762]
|
|
1270
|
+
|
|
1271
|
+
**\u672A\u56DE\u7B54\u7684\u65B9\u9762\uFF08\u5982\u679C\u6570\u636E\u4E0D\u8DB3\uFF09\uFF1A**
|
|
1272
|
+
- [\u660E\u786E\u6307\u51FA\u54EA\u4E9B\u95EE\u9898\u65E0\u6CD5\u4ECE\u5F53\u524D\u6570\u636E\u4E2D\u56DE\u7B54]
|
|
1273
|
+
|
|
1274
|
+
### \u6570\u636E\u6316\u6398\u5EFA\u8BAE\uFF08\u5982\u679C\u6570\u636E\u4E0D\u8DB3\uFF09
|
|
1275
|
+
|
|
1276
|
+
**\u9700\u8981\u67E5\u8BE2\u7684\u989D\u5916\u6570\u636E\uFF1A**
|
|
1277
|
+
1. **\u67E5\u8BE2\u76EE\u6807**\uFF1A[\u8BF4\u660E\u9700\u8981\u67E5\u8BE2\u4EC0\u4E48\u4FE1\u606F]
|
|
1278
|
+
2. **\u5EFA\u8BAE\u7684 SQL \u67E5\u8BE2\u65B9\u5411**\uFF1A
|
|
1279
|
+
- \u8868\uFF1A[\u9700\u8981\u67E5\u8BE2\u7684\u8868\u540D]
|
|
1280
|
+
- \u5B57\u6BB5\uFF1A[\u9700\u8981\u7684\u5B57\u6BB5\u5217\u8868]
|
|
1281
|
+
- \u65F6\u95F4\u8303\u56F4\uFF1A[\u5982\u679C\u9700\u8981\uFF0C\u8BF4\u660E\u65F6\u95F4\u8303\u56F4]
|
|
1282
|
+
- \u7EF4\u5EA6\u62C6\u5206\uFF1A[\u5982\u679C\u9700\u8981\uFF0C\u8BF4\u660E\u6309\u54EA\u4E9B\u7EF4\u5EA6\u62C6\u5206]
|
|
1283
|
+
- \u5173\u8054\u8868\uFF1A[\u5982\u679C\u9700\u8981 JOIN\uFF0C\u8BF4\u660E\u5173\u8054\u7684\u8868\u548C\u6761\u4EF6]
|
|
1284
|
+
- \u7B5B\u9009\u6761\u4EF6\uFF1A[\u5982\u679C\u9700\u8981\uFF0C\u8BF4\u660E\u7B5B\u9009\u6761\u4EF6]
|
|
1285
|
+
3. **\u4E3A\u4EC0\u4E48\u9700\u8981\u8FD9\u4E9B\u6570\u636E**\uFF1A[\u89E3\u91CA\u4E3A\u4EC0\u4E48\u8FD9\u4E9B\u6570\u636E\u5BF9\u5B8C\u6574\u56DE\u7B54\u95EE\u9898\u81F3\u5173\u91CD\u8981]
|
|
1286
|
+
\`\`\`
|
|
1287
|
+
|
|
1288
|
+
## \u6C9F\u901A\u98CE\u683C
|
|
1289
|
+
|
|
1290
|
+
- **\u53D9\u8FF0\u6027**\uFF1A\u4EE5\u6545\u4E8B\u5F62\u5F0F\u5448\u73B0\uFF0C\u800C\u975E\u6280\u672F\u62A5\u544A
|
|
1291
|
+
- **\u81EA\u7136\u6D41\u7545**\uFF1A\u4F7F\u7528\u591A\u6837\u5316\u7684\u53E5\u5B50\u7ED3\u6784\u548C\u81EA\u7136\u7684\u8FC7\u6E21
|
|
1292
|
+
- **\u4E1A\u52A1\u53CB\u597D**\uFF1A\u4F7F\u7528\u4E1A\u52A1\u672F\u8BED\uFF0C\u800C\u975E\u6280\u672F\u884C\u8BDD
|
|
1293
|
+
- **\u6570\u636E\u9A71\u52A8**\uFF1A\u81EA\u7136\u5730\u878D\u5165\u5177\u4F53\u6570\u5B57\uFF0C\u800C\u975E\u5355\u72EC\u5217\u51FA\u4E8B\u5B9E
|
|
1294
|
+
- **\u5BF9\u8BDD\u5F0F**\uFF1A\u50CF\u5411\u540C\u4E8B\u89E3\u91CA\u4E00\u6837\uFF0C\u800C\u975E\u586B\u5199\u8868\u683C
|
|
1295
|
+
- **\u53EF\u6267\u884C**\uFF1A\u805A\u7126\u80FD\u591F\u4E3A\u51B3\u7B56\u63D0\u4F9B\u4FE1\u606F\u7684\u6D1E\u5BDF
|
|
1296
|
+
- **\u4E0A\u4E0B\u6587\u76F8\u5173**\uFF1A\u5728\u53D9\u8FF0\u4E2D\u81EA\u7136\u5730\u63D0\u4F9B\u4E1A\u52A1\u4E0A\u4E0B\u6587
|
|
1297
|
+
|
|
1298
|
+
## \u7279\u522B\u6CE8\u610F\u4E8B\u9879
|
|
1299
|
+
|
|
1300
|
+
- **\u767E\u5206\u6BD4**\uFF1A\u5728\u76F8\u5173\u65F6\u8BA1\u7B97\u5E76\u7A81\u51FA\u767E\u5206\u6BD4\u53D8\u5316
|
|
1301
|
+
- **\u5BF9\u6BD4**\uFF1A\u59CB\u7EC8\u63D0\u4F9B\u4E0A\u4E0B\u6587\uFF08\u4E0E\u4E0A\u4E00\u65F6\u671F\u5BF9\u6BD4\u3001\u4E0E\u76EE\u6807\u5BF9\u6BD4\u3001\u4E0E\u5E73\u5747\u503C\u5BF9\u6BD4\uFF09
|
|
1302
|
+
- **\u79BB\u7FA4\u503C**\uFF1A\u6807\u8BB0\u5E76\u89E3\u91CA\u4EFB\u4F55\u5F02\u5E38\u6570\u636E\u70B9
|
|
1303
|
+
- **\u6570\u636E\u8D28\u91CF**\uFF1A\u6CE8\u610F\u4EFB\u4F55\u6570\u636E\u9650\u5236\u6216\u6CE8\u610F\u4E8B\u9879
|
|
1304
|
+
- **\u7F6E\u4FE1\u5EA6**\uFF1A\u5F53\u53D1\u73B0\u5177\u6709\u7EDF\u8BA1\u663E\u8457\u6027\u6216\u4EC5\u4E3A\u521D\u6B65\u7ED3\u679C\u65F6\uFF0C\u660E\u786E\u8BF4\u660E
|
|
1305
|
+
|
|
1306
|
+
\u8BB0\u4F4F\uFF1A\u4F60\u7684\u5206\u6790\u5C06\u539F\u59CB\u67E5\u8BE2\u7ED3\u679C\u8F6C\u5316\u4E3A\u6709\u610F\u4E49\u7684\u4E1A\u52A1\u6D1E\u5BDF\u3002\u8BC4\u4F30\u6570\u636E\u662F\u5426\u8DB3\u4EE5\u56DE\u7B54\u95EE\u9898\uFF0C\u5982\u679C\u4E0D\u8DB3\uFF0C\u63D0\u4F9B\u5177\u4F53\u7684\u6570\u636E\u6316\u6398\u5EFA\u8BAE\uFF0C\u5E2E\u52A9\u83B7\u53D6\u5B8C\u6574\u7B54\u6848\u6240\u9700\u7684\u4FE1\u606F\u3002
|
|
344
1307
|
`;
|
|
345
1308
|
var data_agents = [
|
|
346
1309
|
{
|
|
347
1310
|
key: "data_agent",
|
|
348
1311
|
name: "Data Agent",
|
|
349
|
-
description: "An intelligent
|
|
350
|
-
type:
|
|
351
|
-
tools: ["list_tables_sql", "info_sql", "
|
|
1312
|
+
description: "An intelligent Business Data Analyst agent that converts natural language questions into SQL queries, performs multi-step business analysis, and generates comprehensive business reports. Capabilities include: task decomposition, metric analysis, dimension breakdowns, anomaly detection, and structured report generation with executive summaries, analysis steps, and visualizations. Use this agent for business intelligence, data analysis, database queries, and generating actionable business insights.",
|
|
1313
|
+
type: import_core3.AgentType.DEEP_AGENT,
|
|
1314
|
+
tools: ["list_tables_sql", "info_sql", "load_skills", "load_skill_content"],
|
|
352
1315
|
prompt: dataAgentPrompt,
|
|
353
1316
|
subAgents: ["sql-builder-agent", "data-analysis-agent"],
|
|
354
|
-
schema:
|
|
1317
|
+
schema: import_zod3.default.object({}),
|
|
355
1318
|
/**
|
|
356
1319
|
* Runtime configuration injected into tool execution context.
|
|
357
1320
|
* databaseKey: The database key registered via sqlDatabaseManager.
|
|
@@ -365,24 +1328,24 @@ var data_agents = [
|
|
|
365
1328
|
{
|
|
366
1329
|
key: "sql-builder-agent",
|
|
367
1330
|
name: "sql-builder-agent",
|
|
368
|
-
type:
|
|
369
|
-
description: "A specialized sub-agent for
|
|
1331
|
+
type: import_core3.AgentType.DEEP_AGENT,
|
|
1332
|
+
description: "A specialized sub-agent for database exploration, SQL query generation, validation, and execution. This agent handles all SQL-related operations including listing tables, exploring schemas, generating queries, validating them, executing them, and returning both the SQL and query results to the data_agent.",
|
|
370
1333
|
prompt: sqlBuilderPrompt,
|
|
371
|
-
tools: ["info_sql", "query_checker_sql"]
|
|
1334
|
+
tools: ["list_tables_sql", "info_sql", "query_checker_sql", "query_sql"]
|
|
372
1335
|
// Sub-agents inherit runConfig from parent agent via the execution context
|
|
373
1336
|
},
|
|
374
1337
|
{
|
|
375
1338
|
key: "data-analysis-agent",
|
|
376
1339
|
name: "data-analysis-agent",
|
|
377
|
-
type:
|
|
378
|
-
description: "A specialized sub-agent for analyzing query results and
|
|
1340
|
+
type: import_core3.AgentType.DEEP_AGENT,
|
|
1341
|
+
description: "A specialized sub-agent for analyzing query results and extracting business insights. This agent interprets data, identifies patterns and anomalies, provides business context, and structures findings for comprehensive reports. Give this agent query results and it will provide structured business analysis with key findings, insights, and visualization recommendations.",
|
|
379
1342
|
prompt: dataAnalysisPrompt,
|
|
380
1343
|
tools: []
|
|
381
1344
|
}
|
|
382
1345
|
];
|
|
383
|
-
(0,
|
|
1346
|
+
(0, import_core3.registerAgentLattices)(data_agents);
|
|
384
1347
|
function initializeDataAgentDatabase(key, config) {
|
|
385
|
-
|
|
1348
|
+
import_core3.sqlDatabaseManager.registerDatabase(key, config);
|
|
386
1349
|
}
|
|
387
1350
|
initializeDataAgentDatabase("fulidb", {
|
|
388
1351
|
type: "postgres",
|
|
@@ -392,6 +1355,7 @@ initializeDataAgentDatabase("fulidb", {
|
|
|
392
1355
|
|
|
393
1356
|
// src/index.ts
|
|
394
1357
|
var import_path = __toESM(require("path"));
|
|
1358
|
+
var import_protocols = require("@axiom-lattice/protocols");
|
|
395
1359
|
var PACKAGE_VERSION = require_package().version;
|
|
396
1360
|
var BUILD_TIME = (/* @__PURE__ */ new Date()).toISOString();
|
|
397
1361
|
var IS_DEV = process.env.NODE_ENV !== "production";
|
|
@@ -427,7 +1391,7 @@ function parsePort() {
|
|
|
427
1391
|
}
|
|
428
1392
|
return 4001;
|
|
429
1393
|
}
|
|
430
|
-
(0,
|
|
1394
|
+
(0, import_core4.registerModelLattice)(
|
|
431
1395
|
"default",
|
|
432
1396
|
// {
|
|
433
1397
|
// model: "deepseek-chat",
|
|
@@ -469,8 +1433,22 @@ function parsePort() {
|
|
|
469
1433
|
import_gateway.LatticeGateway.registerLatticeRoutes(import_gateway.LatticeGateway.app);
|
|
470
1434
|
var port = parsePort();
|
|
471
1435
|
console.log(`Starting server on port ${port}`);
|
|
1436
|
+
var DEFAULT_LOGGER_CONFIG = {
|
|
1437
|
+
name: "default",
|
|
1438
|
+
description: "Default logger for lattice-gateway service",
|
|
1439
|
+
type: import_protocols.LoggerType.PINO,
|
|
1440
|
+
serviceName: "lattice/deep_research",
|
|
1441
|
+
loggerName: "lattice/deep_research"
|
|
1442
|
+
// file: {
|
|
1443
|
+
// file: "./logs/lattice" + "/deep_research",
|
|
1444
|
+
// frequency: "daily",
|
|
1445
|
+
// mkdir: true,
|
|
1446
|
+
// maxFiles: 30,
|
|
1447
|
+
// },
|
|
1448
|
+
};
|
|
472
1449
|
import_gateway.LatticeGateway.startAsHttpEndpoint({
|
|
473
1450
|
port,
|
|
474
|
-
queueServiceConfig: { type: "memory", defaultStartPollingQueue: true }
|
|
1451
|
+
queueServiceConfig: { type: "memory", defaultStartPollingQueue: true },
|
|
1452
|
+
loggerConfig: DEFAULT_LOGGER_CONFIG
|
|
475
1453
|
});
|
|
476
1454
|
//# sourceMappingURL=index.js.map
|