Eat Study Love

먹고 공부하고 사랑하라

분류 전체보기 331

SQL2NL Prompt Engineering - KCC(1)

SQL2NL Module의 정확도를 향상시키는 법에대한 고찰이다. 일단 생각해낼 것은, 어찌어찌 SQL2NL 정확도 올리는 법을 찾았다고 쳤을때 그 것을 어찌 판단할 것인가? 검색을 통해 얻은 NL Accuracy Evaluation Matrix는 아래와 같다. 1. ROUGE2. BERTScore 그리고, Paper SQL-to-Text Generation with Graph-to-Sequence Model(2019Feb12 Kun Xu et al.)에 나온 BLEU-4 score.이 논문의 저자도 이것만으론 좀 부족했는지 결국 Human Study(사람이 직접 문장보고 유사도 평가)를 사용했다. 연구의 골자는 다음과 같다. LLM을 통해서 SQL을 NL로 바꾸어 보려고 한다. 이것의 필요성은1. NL..

PostgreSQL, LLM 연결(5)

PostgreSQL Openai or Llama 연결 Settinghttps://eglife.tistory.com/338 PostgreSQL, LLM 연결(4)1.https://github.com/cloudquery/pg_gpt2.https://github.com/prabin-acharya/pg_gpt3.https://github.com/JelteF/pg_human4. https://github.com/pramsey/pgsql-openai5.https://www.crunchydata.com/blog/accessing-large-language-models-from-postgresql 으쌰으쌰eglife.tistory.com지난 글에서의 후기처럼, 어찌어찌 Llama를 이용한 Output은 받아올 수 있다..

SQL2NL 용 Data set 만들기

세상에 Data는 많다지만, 나의 Module에 Exactly fit한 data set은 없다. 물론, 시중 NL2SQL Benchmark pair data를 이용할 순 있지만, 그걸로만 Model Fine-tuning을 진행하기엔 한계가 있다. 그렇다고 그냥 구글링해서 쓰자니 또 정확도가 떨어지는 Data가 섞여 Fine-tuning이 잘 진행되지 않을 가능성이 농후하다. 그리하여.. 유명한 Database 책에 있는 SQL, Natural explanation을 일일히 따와서 Fine - Tuning 작업을 진행해보려고 한다. 옛날 책같은 경우엔 LLM도 pdf 파일 내의 text를 잘 검출하지 못하여 일일히 노가다를 뛰어보도록 했다. 너무 많은 책을 다루기엔 빡세니까 유명한 책 2가지를 타켓팅해보기..

PostgreSQL, LLM 연결(4)

1.https://github.com/cloudquery/pg_gpt2.https://github.com/prabin-acharya/pg_gpt3.https://github.com/JelteF/pg_human4. https://github.com/pramsey/pgsql-openai5.https://www.crunchydata.com/blog/accessing-large-language-models-from-postgresql 으쌰으쌰 얼른 PostgreSQL에 LLM을 연결해보자. 위 git-hub내용을 싸그리 검토해봅시다.. 1. Extension을 사용해보기내가 찾아본건, Paul Ramsey라는 양반이, 본인이 만든 PostgreSQL http extension을 가지고 PLpgSQL이란 언어로 ..

PostgreSQL, LLM 연결(3)

To-do : 시간이 왜 이렇게 차이가 크게 나는지 디버깅, Hugging Face 기반으로 Llama 돌려보기, Llama Model Fine tuning방도 적용시켜보기 일단 이전 코드와 비교해보며 디버깅해보니, Table schema처럼 좀 긴~ 놈을 Prompt text에 그냥 집어 넣으면 시간이 오래 걸리고, System_prompt로 따로 빼 놓으면 시간이 좀 덜 걸린다. 같은 양의 Token 처리 비교 표1. Table Schema를 System_prompt로 따로 빼놓기2. Table Schema를 User prompt_text에 넣기 오케이, 대충 이거는 원인을 찾았다근데, 이유에 대한 설명은 잘 나와있지 않다. 일단 GPT답변 참고,1) 실제로 system prompt + user pr..

PostgreSQL, LLM 연결(2)

https://eglife.tistory.com/335 PostgreSQL, LLM 연결(1)Review,NL2SQL, SQL2NL Module을 PostgreSQL에 덧붙여 보는 연구를 진행해야 한다.일단 정확도는 나중얘기고, 어느 정도 Table metadata만 더해줘도 NL변환 정확도가 올라가는 것은 확인하였으니 PSQL에 LLM Moduleeglife.tistory.com1. Python으로 PostgreSQL, LLM(Llama 3 8b) 연결해서 SQL문 던지고 그에 맞는 NL 반환 받기. 일단 PSQL을 Python에 대입시켜보자 사실, Python으로 이미 PostgreSQL 접속해서 입력 SQL에 대한 Data도 반환 받아밨고, Ollama를 이용해 NL문에 대한 Llama3 의 SQL..

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을..

PostgreSQL SQL2NL(8)

돌려야 하는 Case가 많으므로 GPT-mini로 진행을 해야겠다. 스스로 문제를 case by case로 나누고 Error분석 과정에서 소정의 Insight를 얻길 기원해본다.. GPT - mini로 진행을 해보고 결과를 Update 해보자! 확실히 GPT - 4o mini가 cost가 적게 든다. 이제 부담이 좀 덜(?)하게 실습할 수 있을듯 LLama3.1 사용관련 블로그https://dev-drive.tistory.com/40 [Python] 메타의 대규모 AI 언어모델 Llama3.1 설치 및 사용방법 [01]메타에서 AI기술의 발전을 가속화 할 수 있도록 대규모 언어 모델(LLM)을 오픈소스로 공개했습니다. OpenAI의 GPT로 테스트를 진행하려면 카드를 등록해서 API비용도 지불해야되고 여..

Data Augmentation with Hierarchical SQL-to-Question Generation for Cross-domain Text-to-SQL Parsing

주관심분야가 데이터증강은 아니지만, 해당 논문에 SQL NL 변환과 관련된 내용이 있어서 읽어봤다. GPT가 요약해준 내용은 아래와 같다.주요 내용 요약이 논문은 Cross-domain Text-to-SQL 문제에서 데이터 부족을 해결하기 위해, 질문-쿼리(Text-SQL) 쌍을 자동으로 생성하는 데이터 증강(Data Augmentation) 기법을 제안합니다. 기존 방법들은 SQL 쿼리를 직접 텍스트로 번역하거나, 사람이 검수·보정 작업을 해야 하는 등 제약이 있었는데, 본 논문은 계층적(Hierarchical) SQL-to-Question 생성이라는 새로운 접근을 통해 더 높은 품질의 데이터 증강을 달성합니다. 이를 통해 WikiSQL, Spider, DuSQL 등 여러 데이터셋에서 **최신 모델(..

Data Science/Paper 2025.03.20

PostgreSQL SQL2NL(7)

지난 연구 요약LLM을 돌릴 때 Humantic(?)한 문구로 반환을 요청이라도 해야하나.. 고민이 된다. 어떻게 하면 좀 더 Human friendly 한 NL반환이 될 지 고민해봐야겠다.무작정 LLM을 돌리면서 고민하자니 돈이 너무 깨지니까, 고민을 잘 하고 수행하자. 지난 시간에 SQL2NL API를 이용해서 GPT에 SQL을 던지고 NL을 변환받는 실험을 진행해보았고,(GPT 4o)Table info / Parsing info를 Prompt Engineering을 진행해보았다. Table info를 던졌을 때 좀 더 Human friendly 하고,Parsing info를 같이 던졌을 땐 그냥 SQL을 어떻게 진행하면 되는지 Logic을 부가설명하는 느낌이 들었으며,Table + Parsing i..