PostgreSQL, LLM 연결(1)
Review,
NL2SQL, SQL2NL Module을 PostgreSQL에 덧붙여 보는 연구를 진행해야 한다. 일단 정확도는 나중얘기고, 어느 정도 Table metadata만 더해줘도 NL변환 정확도가 올라가는 것은 확인하였으니 PSQL에 LLM Module을 더해보는 것을 검토해보자. |
해야 할 것들을 빠르게 정리해보자.
1. Python으로 PostgreSQL, LLM(Llama 3 8b) 연결해서 SQL문 던지고 그에 맞는 NL 반환 받기.
a. Vaniila, Table meta data , Parsing Info 를 Prompt Engineering으로 추가 O/X를 하며 추후 정확도 비교 필요
b. NL에 대한 Evaluation Matrix는 ROUGE-L / BERTScore-F1을 참고해보자
https://ariz1623.tistory.com/307
ROUGE 이해하기
ROUGE 평가 지표 이해하기 텍스트 요약 태스크를 평가하는 데는 ROUGE(Recall-Oriented Understudy for Gisting Evaluation)를 이용한다. ROUGE는 5개의 평가 지표가 있다. ROUGE-N ROUGE-L ROUGE-W ROUGE-S ROUGE-SU 자주 쓰이는
ariz1623.tistory.com
https://velog.io/@tobigs-nlp/BERTScore-Evaluating-Text-Generation-with-BERT
BERTScore: Evaluating Text Generation with BERT
BERT Embedding을 가지고 문장의 유사성을 평가하자! | 17기 장준원
velog.io
c. Method to be implemented 는, User가 SQL을 쳤을 때 SQL수행 전에 SQL의 의미는 ~다 라고 NL을 반환.
2. 위 1번이 잘 진행된다면, NL2SQL Module 또한 PostgreSQL User case에 이식해보기.
a. User가 NL을 입력했을 때, NL2SQL Module로 SQL을 생성하고 그걸 다시 SQL2NL Module로 NL로 바꾸어서 User에게 재확인 받기
b. 위 a가 어렵거나 실효성이 떨어진다고 판단되면 그냥 NL2SQL Module만 이식하기
결론적으로 위 1, 2번은 SQL2NL 및 NL2SQL Module을 PostgreSQL에 이식할 수 있는지를 연구하는 것
3. NL2SQL or SQL2NL Module ( Open-Source Light LLM Model ) Fine-tuning 하기
일단, Pretrained 와 Find tuning의 차이가 뭔지 짚고 넘어가기
모델을 파인튜닝도 했으면 한다는 연구 Order가 떨어졌다.
1. 우리가 아는 주요 textbook의 모든 schema, NL + golden queries를 data set으로 수집 2. 이를 활용해서 text2sql을 위해 LLM pre-training/fine-tuning 및 guide나 방법론 3. 위 data set을 PromptBase화 해서 RAG 스타일로 정확도 향상 방법 |
위 Pretrain / Fine tuning을 위해선 일단 DB관련 Schema / NL-SQL Data를 다량 수집할 수 있는지 체크해야 한다.
이와 관련된 Site
https://github.com/cloudquery/pg_gpt
GitHub - cloudquery/pg_gpt: Experimental extension that brings OpenAI API to your PostgreSQL to run queries in human language.
Experimental extension that brings OpenAI API to your PostgreSQL to run queries in human language. - cloudquery/pg_gpt
github.com
https://github.com/prabin-acharya/pg_gpt
GitHub - prabin-acharya/pg_gpt: pg_gpt is a postgres extension that uses OpenAI's GPT-3 API to generate SQL queries from natural
pg_gpt is a postgres extension that uses OpenAI's GPT-3 API to generate SQL queries from natural language. - prabin-acharya/pg_gpt
github.com
세상은 넓고, 사람들의 생각은 다 비슷비슷하다.
이거 되려나~ 싶은건 이미 누군가에 의해서 다루어졌고 개발도 진행되었을 가능성이 농후하다.
AI영역이야 말로 스피드가 정말 중요한 분야임에 틀림이 없다...!