Skip to content

CausalInferenceLab/Lang2SQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Lang2SQL

PseudoLab Discord Community Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors PyPI version PyPI downloads Hits

์šฐ๋ฆฌ๋Š” ํ•จ๊ป˜ ์ฝ”๋“œ์™€ ์•„์ด๋””์–ด๋ฅผ ๋‚˜๋ˆ„๋ฉฐ ๋” ๋‚˜์€ ๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์—ฌ์ •์„ ๋– ๋‚ฉ๋‹ˆ๋‹ค. ๐ŸŒ๐Ÿ’ก

"๋ชจ๋‘๊ฐ€ ๋” ๊ฐ€์น˜ ์žˆ๋Š” ์ผ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค."


๐Ÿš€ Lang2SQL์ด๋ž€?

Lang2SQL์€ ์ž์—ฐ์–ด ์ฟผ๋ฆฌ๋ฅผ ์ตœ์ ํ™”๋œ SQL ๋ฌธ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. LangGraph์™€ DataHub ํ†ตํ•ฉ์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด, ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ ๊นŠ์€ ์ง€์‹ ์—†์ด๋„ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์ž๋“ค์ด ํšจ์œจ์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

๐ŸŽฏ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๐Ÿ—ฃ๏ธ ์ž์—ฐ์–ด๋ฅผ SQL๋กœ ๋ณ€ํ™˜: ์ผ์ƒ ์–ธ์–ด๋ฅผ ์ •ํ™•ํ•œ SQL ์ฟผ๋ฆฌ๋กœ ๋ณ€ํ™˜
  • ๐Ÿ“Š ์Šค๋งˆํŠธ ํ…Œ์ด๋ธ” ๋ฐœ๊ฒฌ: ์˜๋ฏธ๋ก ์  ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ จ ํ…Œ์ด๋ธ”์„ ์ž๋™์œผ๋กœ ์ฐพ๊ธฐ
  • ๐Ÿ” ์Šคํ‚ค๋งˆ ์ธ์‹: DataHub ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์ •ํ™•ํ•œ ์ปฌ๋Ÿผ ๋งคํ•‘
  • ๐Ÿ› ๏ธ ์›น ์ธํ„ฐํŽ˜์ด์Šค: ๋Œ€ํ™”ํ˜• Streamlit ์•ฑ์„ ํ†ตํ•œ ์‚ฌ์šฉ
  • ๐Ÿ“ˆ ์‹œ๊ฐํ™”: ์ƒ์„ฑ๋œ SQL ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์–‘ํ•œ ์ฐจํŠธ์™€ ๊ทธ๋ž˜ํ”„๋กœ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํŒŒ์•…
  • ๐Ÿ—„๏ธ ์œ ์—ฐํ•œ VectorDB: FAISS(๋กœ์ปฌ)์™€ pgvector(PostgreSQL) ์ค‘ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ง€์›

๐Ÿค” ํ•ด๊ฒฐํ•˜๋Š” ๋ฌธ์ œ

์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐํŒ€ ๊ตฌ์„ฑ์›๋“ค์ด ์ž์ฃผ ์ง๋ฉดํ•˜๋Š” ๋ฌธ์ œ๋“ค:

  • ๐Ÿคฏ "ํ…Œ์ด๋ธ”์ด ๋„ˆ๋ฌด ๋งŽ์•„! ์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์ง€?"
  • ๐Ÿง "์ด JOIN์ด ๋งž๋‚˜์š”?"
  • ๐ŸŒ "์ด ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์ด ๊ดœ์ฐฎ์„๊นŒ์š”?"
  • ๐Ÿ˜ฐ "์–ด๋–ป๊ฒŒ ์˜๋ฏธ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ถ”์ถœํ•˜์ง€?"

Lang2SQL์€ ๋‹ค์Œ์„ ์ œ๊ณตํ•˜์—ฌ ์ด๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค:

  • โœ… ์ž์—ฐ์–ด ์ž…๋ ฅ โ†’ ํ…Œ์ด๋ธ” ์ถ”์ฒœ
  • โœ… ์ ์ ˆํ•œ ์ปฌ๋Ÿผ ์กฐํ•ฉ์œผ๋กœ ์ž๋™ SQL ์ƒ์„ฑ
  • โœ… ๋ชจ๋ฒ” ์‚ฌ๋ก€ ๊ธฐ๋ฐ˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”

๐Ÿ“ฆ ์„ค์น˜ ๋ฐฉ๋ฒ•

๋น ๋ฅธ ์„ค์น˜

# pip
pip install lang2sql

# uv
uv venv --python 3.11
source .venv/bin/activate
uv add lang2sql

์†Œ์Šค์—์„œ ์„ค์น˜

# ์†Œ์Šค ํด๋ก 
git clone https://github.com/CausalInferenceLab/lang2sql.git
cd lang2sql

# (๊ถŒ์žฅ) uv ์‚ฌ์šฉ
# uv ์„ค์น˜๊ฐ€ ๋˜์–ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜ ๋‘ ์ค„๋กœ ๊ฐœ๋ฐœ ๋ชจ๋“œ ์„ค์น˜
uv venv --python 3.11
source .venv/bin/activate
uv pip install -e .

# (๋Œ€์•ˆ) pip ์‚ฌ์šฉ
python -m venv .venv
source .venv/bin/activate
pip install -e .

๐Ÿ› ๏ธ ์‚ฌ์šฉ๋ฒ•

๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค

Streamlit ์›น ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰:

lang2sql run-streamlit

์‚ฌ์šฉ์ž ์ •์˜ ํฌํŠธ ๋ฐ DataHub ์„œ๋ฒ„์™€ ํ•จ๊ป˜:

lang2sql --datahub_server http://your-datahub-server:8080 run-streamlit -p 8888

์ฐธ๊ณ : Streamlit ์„œ๋ฒ„๋Š” 0.0.0.0 ์œผ๋กœ ๋ฐ”์ธ๋”ฉ๋˜์–ด ์™ธ๋ถ€์—์„œ ์ ‘์† ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Graph Builder ํŽ˜์ด์ง€

Streamlit ์•ฑ์€ ๋ฉ€ํ‹ฐ ํŽ˜์ด์ง€ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ขŒ์ธก ๋„ค๋น„๊ฒŒ์ด์…˜์—์„œ "Graph Builder" ํŽ˜์ด์ง€๋ฅผ ์—ด์–ด LangGraph ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ”„๋ฆฌ์…‹ ์„ ํƒ: "๊ธฐ๋ณธ" ๋˜๋Š” "ํ™•์žฅ"
  • ์ปค์Šคํ…€ ์˜ต์…˜: PROFILE_EXTRACTION, CONTEXT_ENRICHMENT, QUERY_MAKER ํฌํ•จ ์—ฌ๋ถ€ ํ† ๊ธ€
  • ์„ ํƒ์ด ๋ฐ”๋€Œ๋ฉด ๊ทธ๋ž˜ํ”„๊ฐ€ ์ฆ‰์‹œ ์ปดํŒŒ์ผ๋˜์–ด ์„ธ์…˜์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค
  • "์„ธ์…˜ ๊ทธ๋ž˜ํ”„ ์ƒˆ๋กœ๊ณ ์นจ" ๋ฒ„ํŠผ์œผ๋กœ ์ˆ˜๋™ ์žฌ์ ์šฉ ๊ฐ€๋Šฅ
  • QUERY_MAKER๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ํ…Œ์ด๋ธ” ๊ฒ€์ƒ‰ ์ •๋ณด๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค

VectorDB ์„ ํƒ

FAISS(๋กœ์ปฌ) ๋˜๋Š” pgvector(PostgreSQL) ์ค‘ ์„ ํƒ:

# FAISS ์‚ฌ์šฉ (๊ธฐ๋ณธ๊ฐ’)
lang2sql --vectordb-type faiss run-streamlit

# pgvector ์‚ฌ์šฉ
lang2sql --vectordb-type pgvector run-streamlit

# ์œ„์น˜ ์ง€์ • ์˜ˆ์‹œ
# FAISS: ์ธ๋ฑ์Šค ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ ์ง€์ •
lang2sql --vectordb-type faiss --vectordb-location ./dev/table_info_db run-streamlit

# pgvector: ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด ์ง€์ •
lang2sql --vectordb-type pgvector --vectordb-location "postgresql://user:pass@host:5432/db" run-streamlit

์ฐธ๊ณ : DataHub ์—†์ด๋„ ๋ฏธ๋ฆฌ ์ค€๋น„๋œ VectorDB(FAISS ๋””๋ ‰ํ† ๋ฆฌ ํ˜น์€ pgvector ์ปฌ๋ ‰์…˜)๋ฅผ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์ค€๋น„ ๋ฐฉ๋ฒ•์€ DataHub ์—†์ด ์‹œ์ž‘ํ•˜๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ฒ˜์Œ ์‹œ์ž‘ํ•˜๊ธฐ (DataHub ์—†์ด)

ํŠœํ† ๋ฆฌ์–ผ ๋ณธ๋ฌธ์ด ๊ธธ์–ด์ ธ ๋ณ„๋„ ๋ฌธ์„œ๋กœ ๋ถ„๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ž์—ฐ์–ด ์ฟผ๋ฆฌ ์‹คํ–‰

# ๊ธฐ๋ณธ FAISS ์‚ฌ์šฉ
lang2sql query "๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ๋‹ˆํฌํ•œ ์œ ์ € ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๋Š” ์ฟผ๋ฆฌ"

# pgvector ์‚ฌ์šฉ
lang2sql query "๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ๋‹ˆํฌํ•œ ์œ ์ € ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๋Š” ์ฟผ๋ฆฌ" --vectordb-type pgvector --vectordb-location "postgresql://postgres:postgres@localhost:5432/postgres"

ํ™˜๊ฒฝ ์„ค์ •

  • .env ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ ์„ค์ •์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ์‹œ ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด ์ฐธ์กฐ)
  • ๋˜๋Š” CLI ์˜ต์…˜์œผ๋กœ ํ™˜๊ฒฝ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
    • --env-file-path: ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ ๊ฒฝ๋กœ ์ง€์ •
    • --prompt-dir-path: ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ(.md) ๋””๋ ‰ํ† ๋ฆฌ ์ง€์ •
    • --datahub_server: DataHub GMS ์„œ๋ฒ„ URL ์ง€์ •

๐Ÿ—๏ธ ์•„ํ‚คํ…์ฒ˜

Lang2SQL์€ LangGraph๋ฅผ ์‚ฌ์šฉํ•œ ๋‹ค๋‹จ๊ณ„ ์ ‘๊ทผ ๋ฐฉ์‹์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

  1. ๐Ÿ“ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ: ์‚ฌ์šฉ์ž ์˜๋„ ํŒŒ์‹ฑ ๋ฐ ํ•ต์‹ฌ ์—”ํ‹ฐํ‹ฐ ์ถ”์ถœ
  2. ๐Ÿ” ํ…Œ์ด๋ธ” ๊ฒ€์ƒ‰: ์˜๋ฏธ๋ก ์  ์œ ์‚ฌ์„ฑ์„ ์‚ฌ์šฉํ•œ ๊ด€๋ จ ํ…Œ์ด๋ธ” ์ฐพ๊ธฐ (Vector Search)
  3. โš™๏ธ SQL ์ƒ์„ฑ: ์ตœ์ ํ™”๋œ SQL ์ฟผ๋ฆฌ ์ƒ์„ฑ
  4. ๐Ÿš€ ์ฟผ๋ฆฌ ์‹œ๊ฐํ™”: ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™” ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿง‘โ€๐Ÿ’ป ๊ธฐ์ˆ  ์Šคํƒ

  • LangGraph: LLM ์›Œํฌํ”Œ๋กœ์šฐ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜
  • DataHub: ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ํ™œ์šฉ
  • Streamlit: ๋Œ€ํ™”ํ˜• ์›น ์ธํ„ฐํŽ˜์ด์Šค

๐ŸŒŸ ๊ธฐ์—ฌ๊ฐ€ ํ•„์š”ํ•œ ์˜์—ญ (Help!)

Containerization

  • Docker๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜๊ณ , pip install lang2sql ์„ค์น˜ ํ›„ ๋‹จ์ผ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๋ฐ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ๊นŒ์ง€ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

Agentic ์•„ํ‚คํ…์ฒ˜ ๊ฐœ๋ฐœ

  • ์ฟผ๋ฆฌ ์ƒ์„ฑ ๊ณผ์ •์„ ์—์ด์ „ํ‹ฑํ•˜๊ฒŒ ๊ฐœ์„ ํ•˜์—ฌ ๋”์šฑ ์ง€๋Šฅ์ ์ด๊ณ  ์ž์œจ์ ์ธ SQL ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋””์Šค์ปค๋ฒ„๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ•ํ™”ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋” ํšจ๊ณผ์ ์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Datahub ํ†ตํ•ฉ ๊ฐ•ํ™”

  • ํ˜„์žฌ Datahub์˜ Glossary์™€ ์ฟผ๋ฆฌ ์˜ˆ์‹œ๋ฅผ ์ฝ”๋“œ๋กœ ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌ ์ƒ์„ฑ ๊ณผ์ •์— ๋”์šฑ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ†ตํ•ฉํ•˜์—ฌ ์ปจํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ์ •ํ™•ํ•œ SQL ์ƒ์„ฑ์„ ์ง€์›ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

VectorDB ์œ ์—ฐ์„ฑ ๊ฐœ์„ 

  • ํ˜„์žฌ๋Š” Datahub๋ฅผ ํ†ตํ•ด ๋กœ์ปฌ์— FAISS VectorDB๋ฅผ ์ƒ์„ฑํ•ด์•ผ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
  • ์ด ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถฐ์„œ Datahub ์—†์ด๋„ ๊ธฐ์กด์— ์ค€๋น„๋œ VectorDB๋งŒ ์žˆ์œผ๋ฉด ๋ฐ”๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง / ๋กœ๊น… ๊ฐ•ํ™”

  • ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ ํŒจํ„ด๊ณผ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์ƒ์„ธํ•œ ๋กœ๊น… ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ง€์†์ ์ธ ๊ฐœ์„ ์ด ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ฐ˜์„ ๋งˆ๋ จํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œํ™” ๊ฐ•ํ™”

  • ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ ์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”๊ธฐ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ๋ฌธ์„œํ™” ์ž‘์—…์ž…๋‹ˆ๋‹ค.
  • ๊ฐœ๋ฐœ์ž ๊ฐ€์ด๋“œ, ํŠœํ† ๋ฆฌ์–ผ ๋“ฑ์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ธฐ์—ฌ์ž๋“ค์ด ์‰ฝ๊ฒŒ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์กฐ์„ฑํ•ฉ๋‹ˆ๋‹ค.

LLM ํ”„๋ก ํŠธ์—์„œ ๋ถ„๋ฆฌํ•˜๊ธฐ

ํ”„๋ŸฐํŠธ์—์„œ๋Š” LLM ํ˜ธ์ถœยทํ‚ค๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‚ด๋ถ€ ๋ฐฑ์—”๋“œ API๋กœ ์œ„์ž„ํ•ด ๋ณด์•ˆยท๊ถŒํ•œยท๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ค‘์•™ํ™”ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๊ธฐ์—ฌ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! ์—ฌ๋Ÿฌ๋ถ„์ด ๋„์šธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ค:

๐Ÿ”ง ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

  1. ์ €์žฅ์†Œ ํฌํฌํ•˜๊ธฐ
  2. ํฌํฌ ํด๋ก : git clone https://github.com/YOUR_USERNAME/lang2sql.git
  3. ์˜์กด์„ฑ ์„ค์น˜: pip install -r requirements.txt
  4. ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ: git checkout -b feature/amazing-feature
  5. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹: git commit -m 'Add amazing feature'
  6. ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œ: git push origin feature/amazing-feature
  7. Pull Request ์—ด๊ธฐ

๐Ÿ› ์ด์Šˆ ์‹ ๊ณ 

๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ๋‹ค์Œ ์ •๋ณด์™€ ํ•จ๊ป˜ ์ด์Šˆ๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”:

  • ๋ฌธ์ œ/๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์„ค๋ช…
  • ์žฌํ˜„ ๋‹จ๊ณ„ (๋ฒ„๊ทธ์˜ ๊ฒฝ์šฐ)
  • ์˜ˆ์ƒ ๋™์ž‘ vs ์‹ค์ œ ๋™์ž‘
  • ํ™˜๊ฒฝ ์„ธ๋ถ€์‚ฌํ•ญ

๐Ÿ“‹ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ๋ผ์ธ

  • pre-commit ํ™œ์„ฑํ™”
  • ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
  • ํ•„์š”์‹œ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ
  • ์›์ž์ ์ด๊ณ  ์ž˜ ์„ค๋ช…๋œ ์ปค๋ฐ‹ ์œ ์ง€

๐ŸŽ“ ํ•™์Šต ์ž๋ฃŒ


๐Ÿ† Our Team

Role Name Skills Interests
Project Manager ์ด๋™์šฑ Python LLM, Open Source, Causal Inference
AI Engineer ๋ฌธ์ฐฌ๊ตญ Python LLM, Agentic RAG, Open Source
Data Engineer ๋ฐ•๊ฒฝํƒœ Python LLM-driven Data Engineering
AI Engineer ์†๋ด‰๊ท  Python LLM, RAG, AI Planning
Data Scientist ์•ˆ์žฌ์ผ Python LLM, Data Analysis, RAG
ML Engineer ์ดํ˜ธ๋ฏผ Python Multi-Agent Systems
AI Engineer ์ตœ์„ธ์˜ Python LLM, RAG, Multi-Agent
Full-Stack Developer ํ™ฉ์œค์ง„ NextJs React LLM Orchestration
AI Engineer ๊น€๊ฒฝ์„œ Python LLM, FinNLP, FDS, RAG
Data Engineer ํ™์ง€์˜ Python LLM, Data Engineering
Data Operator ์ดํ™”๋ฆผ Python LLM, Data Engineering

๐Ÿš€ ๋ฐฐํฌ ๋ฐ ๋ฆด๋ฆฌ์Šค

์ˆ˜๋™ ๋นŒ๋“œ

uv build
UV_PUBLISH_TOKEN=$PYPI_API_TOKEN uv publish --token $UV_PUBLISH_TOKEN

์ž๋™ ๋ฐฐํฌ(GitHub Actions)

์‚ฌ์ „ ์ค€๋น„: GitHub Secrets์— PYPI_API_TOKEN ๋“ฑ๋ก

# 1) ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ
#   - ๋ฒ„์ „ ํŒŒ์ผ: version.py ์˜ __version__ = "X.Y.Z"
git add version.py
git commit -m "chore: bump version to X.Y.Z"

# 2) ํƒœ๊ทธ ์ƒ์„ฑ/ํ‘ธ์‹œ (v* ํ˜•์‹์ด ํŠธ๋ฆฌ๊ฑฐ)
git tag vX.Y.Z
git push origin HEAD
git push origin vX.Y.Z

์„ค๋ช…: v* ํƒœ๊ทธ๊ฐ€ ํ‘ธ์‹œ๋˜๋ฉด .github/workflows/pypi-release.yml์ด ์‹คํ–‰๋˜์–ด uv๋กœ ๋นŒ๋“œ/๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

TestPyPI๋กœ ์‚ฌ์ „ ๊ฒ€์ฆ(์„ ํƒ)

uv build
UV_PUBLISH_TOKEN=$TEST_PYPI_API_TOKEN \
  uv publish --repository-url https://test.pypi.org/legacy/ --token $UV_PUBLISH_TOKEN

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง

Lang2SQL์€ ๊ฐ€์งœ์—ฐ๊ตฌ์†Œ์˜ ์ธ๊ณผ์ถ”๋ก ํŒ€์—์„œ ๊ฐœ๋ฐœ์ค‘์ธ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.


๐Ÿ“„ ๋ผ์ด์„ ์Šค


๐ŸŒ ๊ฐ€์งœ์—ฐ๊ตฌ์†Œ ์†Œ๊ฐœ

๊ฐ€์งœ์—ฐ๊ตฌ์†Œ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ AI ๊ธฐ์ˆ  ๋ฐœ์ „์— ์ค‘์ ์„ ๋‘” ๋น„์˜๋ฆฌ ์กฐ์ง์ž…๋‹ˆ๋‹ค. ๊ณต์œ , ๋™๊ธฐ๋ถ€์—ฌ, ๊ทธ๋ฆฌ๊ณ  ํ˜‘์—…์˜ ๊ธฐ์จ์ด๋ผ๋Š” ํ•ต์‹ฌ ๊ฐ€์น˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

์ „ ์„ธ๊ณ„ 5,000๋ช… ์ด์ƒ์˜ ์—ฐ๊ตฌ์ž๋“ค๊ณผ ํ•จ๊ป˜, ์šฐ๋ฆฌ๋Š” AI ์ง€์‹์˜ ๋ฏผ์ฃผํ™”์™€ ์—ด๋ฆฐ ํ˜‘์—…์„ ํ†ตํ•œ ํ˜์‹  ์ด‰์ง„์— ์ „๋…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•˜์„ธ์š”:


๐ŸŽฏ ๊ธฐ์—ฌ์ž๋“ค


โญ ์ด ์ €์žฅ์†Œ๊ฐ€ ๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ์Šคํƒ€๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธ์š”!

"์šฐ๋ฆฌ๋Š” ํ•จ๊ป˜ ์ฝ”๋“œ์™€ ์•„์ด๋””์–ด๋ฅผ ๋‚˜๋ˆ„๋ฉฐ ๋” ๋‚˜์€ ๋ฐ์ดํ„ฐ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์—ฌ์ •์„ ๋– ๋‚ฉ๋‹ˆ๋‹ค. ๐ŸŒ๐Ÿ’ก"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages