https://eglife.tistory.com/335
PostgreSQL, LLM 연결(1)
Review,NL2SQL, SQL2NL Module을 PostgreSQL에 덧붙여 보는 연구를 진행해야 한다.일단 정확도는 나중얘기고, 어느 정도 Table metadata만 더해줘도 NL변환 정확도가 올라가는 것은 확인하였으니 PSQL에 LLM Module
eglife.tistory.com
1. Python으로 PostgreSQL, LLM(Llama 3 8b) 연결해서 SQL문 던지고 그에 맞는 NL 반환 받기. |
일단 PSQL을 Python에 대입시켜보자
사실, Python으로 이미 PostgreSQL 접속해서 입력 SQL에 대한 Data도 반환 받아밨고,
Ollama를 이용해 NL문에 대한 Llama3 의 SQL변환문도 반환받는 코드를 가지고 있기 때문에 이 둘을 단순히 합치기만 해도 된다. 주의할 점으론, 당연하지만 Ollama를 켜두고 PostgreSQL의 Server도 Start Mode로 시켜놓아야 한다.
그리고 코드가 길어진다.. 이게 좀 관리하기 귀찮네
대충 2개 갖다 붙치니까 Output은 나온다. 그러나 역시 코드는 길어진다.
그치만, Ollama는 사용 즉시 추론에는 유리하지만, 직접적인 Fine-tuning 활용은 어렵다.
|
결국 NL2SQL / SQL2NL Module Fine-tuning을 위해선 Hugging face를 쓰긴 해야겠다.
다시 Ollama로,, 이게 Meta Table data가 넘 크면 결과가 나오지 않는다.
보아하니, Token은 In/Output 포함 해서 한정된 수량을 사용해야 한다. 즉, 8K 선에서 input이 크면 그만큼 Output Token은 줄고 Input Token을 용량 내에서 Truncate(잘라내기) 할 때 까지 온전한 Output이 나오질 못한다.
1. Table Schema 없애고 간단한 Query 입력 (3ea)![]() |
2. 모든 Meta Data 다 추가하고 Query 입력 (3ea) ![]() |
To-do : 시간이 왜 이렇게 차이가 크게 나는지 디버깅, Hugging Face 기반으로 Llama 돌려보기, Llama Model Fine tuning방도 적용시켜보기
'Data Science > Research' 카테고리의 다른 글
PostgreSQL, LLM 연결(4) (0) | 2025.03.26 |
---|---|
PostgreSQL, LLM 연결(3) (0) | 2025.03.25 |
PostgreSQL, LLM 연결(1) (0) | 2025.03.24 |
PostgreSQL SQL2NL(8) (0) | 2025.03.20 |
PostgreSQL SQL2NL(7) (0) | 2025.03.17 |