A automação de conversão de texto para SQL ainda é uma grande tarefa e existem muito poucos bons modelos de código aberto para essa tarefa.
Vamos detalhar isso -
>Os modelos de conversão de texto para SQL são basicamente nada além de modelos de codificador-decodificador com uma camada de atenção múltipla e uma camada de vinculação de esquema no meio.
> O codificador processa a consulta do usuário e o esquema de banco de dados e gera inserções contextuais (codificação com reconhecimento de relação)
>Por meio da vinculação de esquema, os tokens na consulta são alinhados com as entidades de esquema correspondentes
>O mecanismo de atenção com reconhecimento de esquema permite que o modelo se concentre em partes relevantes do esquema durante a decodificação
> O decodificador produz sequencialmente tokens SQL (decodificação baseada em restrição)
Onde esses modelos faltam? -
>A maioria dos modelos disponíveis não possui consultas complexas nos próprios dados de treinamento e, portanto, tem um desempenho ruim em consultas entre domínios ou em loop.
> requisito de idioma e consulta nem sempre está correto para um usuário normal. Mesmo erros de ortografia levam à entrada errada e causam problemas durante a recuperação, portanto, a solicitação é uma parte importante dessa tarefa.
Eu pessoalmente trabalhei nisso em detalhes quando estava fazendo um projeto de ponta a ponta, até fiz um dado sintético e tentei treinar meu próprio SLM, mas falhei miseravelmente e depois passei a usar um modelo de código aberto.
Se você quiser se aprofundar nisso, eu recomendaria ler esses trabalhos de pesquisa primeiro -
>LLM Geração aprimorada de texto para SQL
>Interfaces de banco de dados de última geração:
>Análise de texto para SQL: conceitos e métodos
>RASAT: Integrando estruturas relacionais no modelo Seq2Seq pré-treinado