Skip to main content

Lang2SQL - Query Generator for Data Warehouse

Project description

AutoSQL

AutoSQL은 자연어 입력을 기반으로 SQL을 생성하는 프로젝트입니다. LangGraph, DataHub를 활용하여 데이터를 분석하고 최적의 SQL 쿼리를 생성 및 최적화합니다.

📌 프로젝트 목표

  1. 자연어 입력을 기반으로 SQL 쿼리를 자동으로 생성
  2. DataHub를 활용하여 관련 테이블 및 컬럼 메타데이터 조회
  3. Best Practice Query를 참고하여 최적의 SQL 생성
  4. SQL 최적화 과정을 거쳐 성능 향상

🚀 기술 스택

  • LangGraph: LLM 기반의 쿼리 생성
  • DataHub: 테이블 및 컬럼 메타데이터 조회

📦 설치 방법

1️⃣ 필수 패키지 설치

pip install -r requirements.txt

2️⃣ 패키지 설치

setup.py를 통해 패키지를 설치할 수 있습니다:

python setup.py install

3️⃣ CLI 명령어 사용

설치 후, autosql 명령어를 사용할 수 있습니다. 예를 들어, Streamlit 앱을 실행하려면 다음과 같이 입력합니다:

autosql --run-streamlit

기본 포트는 8501이며, 다른 포트를 사용하려면 -p 옵션을 사용하세요:

autosql --run-streamlit -p 8502

4️⃣ 환경 변수 설정

다음 환경 변수들은 설정되어야 합니다. .env 파일을 생성하여 다음과 같이 관리할 수 있습니다:

OPENAI_API_KEY=your-api-key-here
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT=autosql
LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
LANGCHAIN_API_KEY=your-langchain-api-key

🎯 동작

  1. 자연어 입력을 기반으로 테이블 조회
  2. 테이블의 스키마 및 컬럼 정보 확인
  3. 최적의 SQL 쿼리 생성
  4. 쿼리 최적화 실행

빌드 방법

python setup.py sdist bdist_wheel
twine upload dist/*

📄 라이선스

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lang2sql-0.1.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lang2sql-0.1.1-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file lang2sql-0.1.1.tar.gz.

File metadata

  • Download URL: lang2sql-0.1.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for lang2sql-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bef024a5d317c8ed7906edf08c3c4b030d5d7aa0a9050f9df93ec21fd5ec6ddc
MD5 b6b32560450316f0ac0953643d225520
BLAKE2b-256 69311cc9ba2467d7e555eac1c0c79edcd89fc403134b5041a6f49aca4e2e21fd

See more details on using hashes here.

File details

Details for the file lang2sql-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: lang2sql-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for lang2sql-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c4f36f20e2dd3e6c32413a070e760ac61a280efa1d6610fe06e44a034ea9b82
MD5 8d2d15673e41c8677fc0d40f5a762e8c
BLAKE2b-256 c4d1cb67115ba771bda09e7402715700b0e8635b165004e1bc18164f2a00016b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page