@nine-lab/nine-connector 0.1.10 โ†’ 0.1.11

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/README.md CHANGED
@@ -1,67 +1,60 @@
1
1
  cat <<EOF > README.md
2
2
  # @nine-lab/nine-connector ๐Ÿš€
3
3
 
4
- ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ SQL ์ƒ์„ฑ ์—”์ง„(NineQuery)๊ณผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” **AI ์ „์šฉ DB ์ปค๋„ฅํ„ฐ ์„œ๋น„์Šค**์ž…๋‹ˆ๋‹ค.
4
+ ์ž์—ฐ์–ด ๊ธฐ๋ฐ˜ SQL ์ƒ์„ฑ ์—”์ง„(NineQuery)๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์ด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” **AI ์ „์šฉ DB ์ปค๋„ฅํ„ฐ ์„œ๋น„์Šค**์ž…๋‹ˆ๋‹ค.
5
5
 
6
- AI๊ฐ€ ์ƒ์„ฑํ•œ SQL์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ(Schema)๋ฅผ AI์—๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ API ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
6
+ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์„ ๋ถ„์„ํ•˜์—ฌ ์ตœ์ ์˜ ํ…Œ์ด๋ธ”์„ ํ•„ํ„ฐ๋งํ•˜๊ณ , ์•ˆ์ „ํ•œ SQL์„ ์ƒ์„ฑํ•˜์—ฌ ์ฆ‰์‹œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ†ตํ•ฉ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
7
7
 
8
8
  ---
9
9
 
10
10
  ## ๐ŸŒŸ ์ฃผ์š” ๊ธฐ๋Šฅ
11
11
 
12
- * **Multi-DB ์ง€์›**: MySQL, PostgreSQL, MariaDB์™€ ์ฆ‰์‹œ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
13
- * **์Šคํ‚ค๋งˆ ์ž๋™ ์ถ”์ถœ**: AI๊ฐ€ ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ ํ…Œ์ด๋ธ” ๋ฐ ์ปฌ๋Ÿผ ์ •๋ณด๋ฅผ API๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
14
- * **๋ณด์•ˆ ๊ฐ€๋“œ**: ์˜ค์ง \`SELECT\` ์ฟผ๋ฆฌ๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์–ด ๋ฐ์ดํ„ฐ ๋ณ€์กฐ๋ฅผ ์›์ฒœ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
15
- * **BigInt ๋Œ€์‘**: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํฐ ์ˆซ์žํ˜•(\`BigInt\`) ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
12
+ * **์ž๋™ ์ดˆ๊ธฐํ™”**: \`nine-connector init\` ๋ช…๋ น์œผ๋กœ \`.env\` ์„ค์ •๊ณผ AI ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž๋™ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
13
+ * **Multi-DB ์ง€์›**: MySQL, PostgreSQL, MariaDB, Oracle ๋“ฑ ๋‹ค์–‘ํ•œ DB ํ™˜๊ฒฝ์— ๋Œ€์‘ํ•ฉ๋‹ˆ๋‹ค.
14
+ * **๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ตœ์ ํ™”**: ํ”„๋กฌํ”„ํŠธ ํŒŒ์ผ ์ˆ˜์ •์„ ํ†ตํ•ด ํŠน์ • ํ…Œ์ด๋ธ” ์กฐํšŒ ๊ธˆ์ง€, ํ•„ํ„ฐ๋ง ์กฐ๊ฑด ๊ฐ•์ œ ๋“ฑ ๊ณ ๊ฐ์‚ฌ๋ณ„ ๋งž์ถค ๊ทœ์น™์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
15
+ * **๋ณด์•ˆ ๊ฐ€๋“œ**: ๋‚ด๋ถ€์ ์œผ๋กœ ์˜ค์ง \`SELECT\` ์ฟผ๋ฆฌ๋งŒ ํ—ˆ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณ€์กฐ๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
16
+ * **๋ฐ์ดํ„ฐ ํƒ€์ž… ์ตœ์ ํ™”**: \`BigInt\` ๋“ฑ JSON ๋ณ€ํ™˜์ด ๊นŒ๋‹ค๋กœ์šด ํƒ€์ž…์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
16
17
 
17
18
  ---
18
19
 
19
- ## ๐Ÿ›  ์„ค์น˜ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ•
20
-
21
- ### 1. ์ „์—ญ(Global) ์„ค์น˜
22
- ์–ด๋А ๊ฒฝ๋กœ์—์„œ๋‚˜ ๋ช…๋ น์–ด๋กœ ์ฆ‰์‹œ ๊ธฐ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ „์—ญ ์„ค์น˜๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
20
+ ## ๐Ÿ›  ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
23
21
 
22
+ ### 1. ํŒจํ‚ค์ง€ ์„ค์น˜
24
23
  \`\`\`bash
25
24
  npm install -g @nine-lab/nine-connector
26
25
  \`\`\`
27
26
 
28
- ### 2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • (\`.env\`)
29
- ์„œ๋ฒ„ ์‹คํ–‰ ์ „, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ์ •๋ณด๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ํ•  ๊ฒฝ๋กœ์— \`.env\` ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์„ธ์š”.
30
-
31
- \`\`\`env
32
- # ์„œ๋ฒ„ ํฌํŠธ (๊ธฐ๋ณธ๊ฐ’: 3000)
33
- SERVER_PORT=3000
34
-
35
- # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •
36
- DB_TYPE=mysql
37
- DB_HOST=127.0.0.1
38
- DB_PORT=3306
39
- DB_USER=your_user
40
- DB_PASS=your_password
41
- DB_NAME=your_database
27
+ ### 2. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™”
28
+ ์ ‘์† ์ •๋ณด ์„ค์ • ๋ฐ ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ์„ ์œ„ํ•ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
29
+ \`\`\`bash
30
+ nine-connector init
42
31
  \`\`\`
43
32
 
44
- ### 3. ์„œ๋ฒ„ ๊ธฐ๋™
45
- ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
46
-
33
+ ### 3. ์„œ๋ฒ„ ์‹คํ–‰
47
34
  \`\`\`bash
48
35
  nine-connector
49
36
  \`\`\`
50
37
 
51
38
  ---
52
39
 
53
- ## ๐Ÿ”Œ API ๋ช…์„ธ
40
+ ## ๐Ÿ”Œ API ๋ช…์„ธ (Public API)
41
+
42
+ ### 1. ์ž์—ฐ์–ด ์งˆ์˜ ์ฒ˜๋ฆฌ (Main)
43
+ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์„ ๋ฐ›์•„ **ํ…Œ์ด๋ธ” ์„ ์ • -> SQL ์ƒ์„ฑ -> ๋ฐ์ดํ„ฐ ์กฐํšŒ**๋ฅผ ํ•œ ๋ฒˆ์— ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
44
+ * **Endpoint:** \`POST /api/ask\`
45
+ * **Body:** \`{ "question": "์˜ฌํ•ด ๋งค์ถœ์ด ๊ฐ€์žฅ ๋†’์€ ์นดํ…Œ๊ณ ๋ฆฌ ์•Œ๋ ค์ค˜" }\`
46
+ * **Response:** SQL๋ฌธ, AI์˜ ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  ์กฐํšŒ๋œ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
54
47
 
55
- ### 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ์กฐํšŒ
56
- AI ๋ชจ๋ธ์ด ํ˜„์žฌ DB ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
57
- * **Endpoint:** \`GET /api/schema\`
48
+ ---
58
49
 
59
- ### 2. SQL ์ฟผ๋ฆฌ ์‹คํ–‰
60
- AI๊ฐ€ ์ƒ์„ฑํ•œ SQL์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ์œ„ํ•ด **SELECT ๋ฌธ**๋งŒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.
61
- * **Endpoint:** \`POST /api/query\`
50
+ ## ๐Ÿ“‚ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ ๋ฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•
51
+ * **.env**: DB ์ ‘์† ๋ฐ AI ๋ชจ๋ธ ์„ค์ •๊ฐ’
52
+ * **prompts/table-filter.md**: ์งˆ๋ฌธ์— ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”์„ ๊ณ ๋ฅด๋Š” AI ๋กœ์ง
53
+ * **prompts/query-generator.md**: ์‹ค์ œ SQL์„ ์ƒ์„ฑํ•˜๋Š” AI ํŽ˜๋ฅด์†Œ๋‚˜
54
+ * **Tip**: ํŒŒ์ผ ๋‚ด \`[๊ณ ๊ฐ์‚ฌ ์ „์šฉ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ๋ณด์•ˆ ๊ทœ์น™]\` ์„น์…˜์— "ํŠน์ • ํ…Œ์ด๋ธ” ์กฐํšŒ ๊ธˆ์ง€"๋‚˜ "๊ธฐ๋ณธ ์ •๋ ฌ ๊ธฐ์ค€" ๋“ฑ์„ ์ž‘์„ฑํ•˜์—ฌ AI์˜ ๋™์ž‘์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
62
55
 
63
56
  ---
64
57
 
65
58
  ## ๐Ÿ“„ ๋ผ์ด์„ ์Šค
66
59
  MIT ยฉ **nine-lab**
67
- EOF
60
+ EOF
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nine-lab/nine-connector",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "NineQuery AI Connector for Database",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -1,5 +1,5 @@
1
1
  ### SQL_GENERATE_PROMPT
2
- ๋‹น์‹ ์€ SQL ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ์ตœ์ ์˜ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.
2
+ ๋‹น์‹ ์€ SQL ์ƒ์„ฑ๊ธฐ์ž…๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ํ…Œ์ด๋ธ” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ์ตœ์ ์˜ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.
3
3
 
4
4
  [์„ ํƒ๋œ ํ…Œ์ด๋ธ” ์ •๋ณด]
5
5
  {detailed_schema}
@@ -10,12 +10,15 @@
10
10
  [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํƒ€์ž…]
11
11
  {db_type}
12
12
 
13
- [์‘๋‹ต ๊ทœ์น™]
13
+ [๊ธฐ๋ณธ ์‘๋‹ต ๊ทœ์น™]
14
14
  1. ๋ฐ˜๋“œ์‹œ JSON ํ˜•์‹์œผ๋กœ๋งŒ ์‘๋‹ตํ•˜์„ธ์š”.
15
15
  2. SQL์€ {db_type} ๋ฌธ๋ฒ•์— ์™„๋ฒฝํ•˜๊ฒŒ ๋งž์•„์•ผ ํ•˜๋ฉฐ, ์ฆ‰์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
16
- 3. ์ฟผ๋ฆฌ๋ฌธ ์•ˆ์— ๋งˆํฌ๋‹ค์šด ์ฝ”๋“œ ๋ธ”๋ก(```sql)์„ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”. ์˜ค์ง ์ˆœ์ˆ˜ ๋ฌธ์ž์—ด๋กœ๋งŒ ์ž‘์„ฑํ•˜์„ธ์š”.
17
- 4. ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋„๋ก ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์„ค๋ช…(explanation)์„ ์นœ์ ˆํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์„ธ์š”.
18
- 5. ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์ด๋‚˜ ํ…Œ์ด๋ธ”์€ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.
16
+ 3. ์ฟผ๋ฆฌ๋ฌธ ์•ˆ์— ๋งˆํฌ๋‹ค์šด ์ฝ”๋“œ ๋ธ”๋ก(```sql)์„ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.
17
+
18
+ [๊ณ ๊ฐ์‚ฌ ์ „์šฉ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ฐ ๋ณด์•ˆ ๊ทœ์น™]
19
+ -
20
+ -
21
+ (์—ฌ๊ธฐ์— "ํŠน์ • ํ…Œ์ด๋ธ” ์กฐํšŒ ๊ธˆ์ง€"๋‚˜ "๊ธฐ๋ณธ ์ •๋ ฌ ๊ธฐ์ค€" ๋“ฑ ์ปค์Šคํ…€ ๊ทœ์น™์„ ์ž‘์„ฑํ•˜์„ธ์š”.)
19
22
 
20
23
  [์‘๋‹ต ํฌ๋งท]
21
24
  {{