PostgreSQL을 Python에 연결하려는 시도를 했다.
이 시도의 이유는, 결국 PostgreSQL에서 자체적으로 반환된 Naturl Language(NL)를 가지고 LLM을 거쳐 사람이 이해하기 쉬운 좀 더 정제된 NL로 변환을 하려는 것이다.
근데, 그 전에 일단 PostgreSQL 내부에서 최대한 Parsing 구조의 Rule base의 입각하여 SQL문을 NL로 투박하게나마 변환하려는 작업을 하려는데, 그 하부구조는 아래와 같다.
일단 NL2SQL 분야의 유명한 Bench Mark인 Bird 에 나오는 NL <-> SQL Gold Pair를 이용해서 SQL문을 NL로 좀 바꿔보려는데, 문제는 SQL문의 종류가 너~~~~~~~~무나도 많다.
그 모든 것들에 대한 NL 변환 Rule 설정이 가능한가 싶다.
일단 기본적으로 Parsing된 Token들을 일일히 따내와서 String에다가 가내수공업으로 덧붙이고 그 최종 결과를 NL로 내놓는 작업을 하고 있는데 이 놈의 반환 결과가 사실 결국은 기존 SQL문과 크게 다르지 않다.
워낙 SQL문이 High-LV 언어라 사람의 말로도 충분히 이해가 갈 정도이기에 그런 것도 있지만,
그럼에도 불구하고 해당연구를 한 건, PSQL의 내부 Parsing 구조를 잘 파악하면 SQL -> NL변환 Module에 좀 도움을 줄 수 있지 않을까..해서 시작한 것인데
솔직히 연구주제가 크게 와닿진 않는다 ㅋㅋ;; 그냥 하라니까 하는 느낌
여하튼, 온 세상 모든 SQL문을 다 커버할 순 없으므로 지금 기준으로 조금만 더 보완해 나갈 것들은 아래와 같다.
이 외에도, View, Window 등... 해결해야 할 것들이 많긴 한데.. 모르겄다.
적당히 하고 접을 각이 보이긴 한다. Python 연결하기도 전에 ㅎ;;;
하다 안 되면 결국 LLM에 HELP치는 것으로 귀결될 수도..!
'Data Science > Research & Paper' 카테고리의 다른 글
PostgreSQL SQL2NL(3) - PostgreSQL 코드 좀 더 일반화 하기 + Python 연결 (0) | 2025.02.07 |
---|---|
PostgreSQL SQL2NL(2) (0) | 2025.01.14 |
PostgreSQL SQL2NL(1) (0) | 2025.01.08 |
PostgreSQL 실습에 유용한 code (1) | 2025.01.02 |
PostgreSQL 설치 및 특징 (2) | 2024.12.27 |