Sql Database Chain
WSql Database Chain์ ์์ฐ์ด ์ง๋ฌธ์ SQL ์ฟผ๋ฆฌ๋ก ๋ณํํ๊ณ , ์ง์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์ฒด์ธ์ ๋๋ค. PostgreSQL, MySQL, MSSQL, SQLite ๋ฑ ๋ค์ํ RDB์ ์ฐ๋ํ์ฌ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
์์ฐ์ด ์ ๋ ฅ์ SQL ์ฟผ๋ฆฌ๋ก ๋ณํํ์ฌ ์คํ
์ฟผ๋ฆฌ ์คํ ๊ฒฐ๊ณผ๋ฅผ LLM์ด ์์ฐ์ด ์๋ต์ผ๋ก ์์ฝ
SQLite ๋ก์ปฌ ํ์ผ๋ถํฐ ์๊ฒฉ PostgreSQL ๋ฑ ๋ค์ํ DB ์ง์
์ฟผ๋ฆฌ ๋์ ํ ์ด๋ธ ์ง์ , ํ๋กฌํํธ ์ปค์คํฐ๋ง์ด์ง ๊ธฐ๋ฅ ์ ๊ณต


์
๋ ฅ๊ฐ (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