Sql Database Chain

WSql Database Chain์€ ์ž์—ฐ์–ด ์งˆ๋ฌธ์„ SQL ์ฟผ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ง€์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฒด์ธ์ž…๋‹ˆ๋‹ค. PostgreSQL, MySQL, MSSQL, SQLite ๋“ฑ ๋‹ค์–‘ํ•œ RDB์™€ ์—ฐ๋™ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์งˆ์˜ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ฃผ์š” ๊ธฐ๋Šฅ

  • ์ž์—ฐ์–ด ์ž…๋ ฅ์„ SQL ์ฟผ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‹คํ–‰

  • ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ LLM์ด ์ž์—ฐ์–ด ์‘๋‹ต์œผ๋กœ ์š”์•ฝ

  • SQLite ๋กœ์ปฌ ํŒŒ์ผ๋ถ€ํ„ฐ ์›๊ฒฉ PostgreSQL ๋“ฑ ๋‹ค์–‘ํ•œ DB ์ง€์›

  • ์ฟผ๋ฆฌ ๋Œ€์ƒ ํ…Œ์ด๋ธ” ์ง€์ •, ํ”„๋กฌํ”„ํŠธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ธฐ๋Šฅ ์ œ๊ณต

WindyFlo Sql Database Chain
WindyFlo Sql Database Chain Parameters

์ž…๋ ฅ๊ฐ’ (Inputs)

ํ•ญ๋ชฉ
์„ค๋ช…
ํ•„์ˆ˜ ์—ฌ๋ถ€

Language Model

SQL ์ฟผ๋ฆฌ ์ƒ์„ฑ ๋ฐ ๊ฒฐ๊ณผ ์š”์•ฝ์— ์‚ฌ์šฉ๋  ์–ธ์–ด ๋ชจ๋ธ (์˜ˆ: GPT)

ํ•„์ˆ˜

Input Moderation

์œ ํ•ด ์ž…๋ ฅ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ

์„ ํƒ

Database

์—ฐ๊ฒฐํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ข…๋ฅ˜ (SQLite, PostgreSQL, MSSQL, MySQL ์ค‘ ์„ ํƒ)

ํ•„์ˆ˜

Connection String or File Path

DB ์—ฐ๊ฒฐ ๊ฒฝ๋กœ ๋˜๋Š” SQLite ํŒŒ์ผ ๊ฒฝ๋กœ

ํ•„์ˆ˜

Include Tables

ํฌํ•จํ•  ํ…Œ์ด๋ธ” ๋ชฉ๋ก (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)

์„ ํƒ

Ignore Tables

์ œ์™ธํ•  ํ…Œ์ด๋ธ” ๋ชฉ๋ก (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)

์„ ํƒ

Sample Tableโ€™s Rows Info

ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ์œ ์ถ”๋ฅผ ์œ„ํ•œ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜

์„ ํƒ (๊ธฐ๋ณธ๊ฐ’: 3)

Top Keys

์ƒ์œ„ ํ‚ค ๊ฐœ์ˆ˜ ์ œํ•œ (๊ธฐ๋ณธ๊ฐ’: 10)

์„ ํƒ

Custom Prompt

์ง์ ‘ ์ž‘์„ฑํ•œ SQL ์ƒ์„ฑ ํ”„๋กฌํ”„ํŠธ

์„ ํƒ ({input}, {dialect}, {table_info} ํฌํ•จ ํ•„์ˆ˜)


์ถœ๋ ฅ๊ฐ’ (Outputs)

ํ•ญ๋ชฉ
์„ค๋ช…

SqlDatabaseChain

์ž์—ฐ์–ด ์‘๋‹ต ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ๋œ SQL ์‹คํ–‰ ๊ฒฐ๊ณผ


ํ™œ์šฉ ์˜ˆ์‹œ

  • ์‚ฌ๋‚ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์งˆ์˜ํ•˜์—ฌ ์ธ์‚ฌ์ดํŠธ ๋„์ถœ ์˜ˆ: "์ง€๋‚œ๋‹ฌ ์‹ ๊ทœ ๊ฐ€์ž…์ž ์ˆ˜ ์•Œ๋ ค์ค˜"

  • ๊ณ ๊ฐ, ์ฃผ๋ฌธ, ๋งค์ถœ ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž๋™ํ™” ์˜ˆ: "๊ฐ€์žฅ ๋งŽ์ด ํŒ๋งค๋œ ์ƒํ’ˆ 5๊ฐœ๋Š”?"

  • ๋น„๊ธฐ์ˆ  ์ง๋ฌด ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ SQL ์ž๋™ํ™” ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ•


์‚ฌ์šฉ ํŒ

  • SQLite ํŒŒ์ผ ๊ฒฝ๋กœ๋Š” .db ํŒŒ์ผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์„ค์ •ํ•ด์•ผ ํ•˜๋ฉฐ, ์„œ๋ฒ„์— ํ•ด๋‹น ํŒŒ์ผ์ด ์—…๋กœ๋“œ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ํ”„๋กฌํ”„ํŠธ ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์‹œ {input}, {dialect}, {table_info} ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์•ผ ์ •์ƒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  • Include/Ignore ์„ค์ •์œผ๋กœ ๋Œ€์ƒ ํ…Œ์ด๋ธ”์„ ํ•œ์ •ํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋…ธ์ถœ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐ˜ํ™˜ ๊ฒฐ๊ณผ๊ฐ€ ๊ธธ ๊ฒฝ์šฐ Chain Tool์„ ์—ฐ๊ฒฐํ•ด ํ›„์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ฃผ์˜์‚ฌํ•ญ

  • SQL ์ธ์ ์…˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์‹ ๋ขฐ๋œ ์‚ฌ์šฉ์ž๋งŒ ์ž…๋ ฅํ•˜๊ฒŒ ํ•˜๊ฑฐ๋‚˜, moderation ๊ธฐ๋Šฅ์„ ์ผœ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์ด ์‹คํŒจํ•  ๊ฒฝ์šฐ ์ „์ฒด ์ฒด์ธ์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ •ํ™•ํžˆ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • MSSQL ๋ฐ MySQL ์‚ฌ์šฉ ์‹œ ๋“œ๋ผ์ด๋ฒ„ ํ™˜๊ฒฝ์ด ๋ฏธ๋ฆฌ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  • SQLite ์™ธ DB๋Š” ๋ฐ˜๋“œ์‹œ ์—ฐ๊ฒฐ ์ •๋ณด(host, port, database, user, password)๋ฅผ ํฌํ•จํ•œ connection string์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


Sql Database Chain์€ ๊ธฐ์ˆ ์  ํ—ˆ๋“ค์ด ์žˆ๋Š” SQL์„ ์ž์—ฐ์–ด๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฐ•๋ ฅํ•œ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. ๋น„๊ฐœ๋ฐœ์ž๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์ถ”์ถœํ•˜๊ณ  ์‘๋‹ต๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Last updated