As principais etapas para a geração real de consultas SQL usando o OmniSQL são as seguintes.
- Preparando o modelo de promptDeclaração de missão, mecanismo de banco de dados, esquema de banco de dados, perguntas e diretrizes do usuário
- Modelos de carregamentoInicialização do tokenizador e das instâncias do LLM de acordo com o caminho do modelo escolhido (por exemplo, "seeklhy/OmniSQL-7B").
- Configuração dos parâmetros de amostragem:: por exemplo, temperature=0 para garantir uma saída determinística, max_tokens=2048 para proporcionar um comprimento de geração suficiente
- Modelos de bate-papo de aplicativos:: Organizar as perguntas dos usuários em um formato específico
- Gerar consultasChamada do método generate do modelo para obter o resultado
Esquema do banco de dados usado na operação de amostra.
CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER);
O SQL gerado pelo OmniSQL em resposta à pergunta "Encontre os nomes das pessoas na tabela de usuários que têm mais de 30 anos" pode ser.
SELECT name FROM users WHERE age > 30;
Na prática, é importante observar que.
- A declaração do mecanismo de banco de dados deve ser a mesma que a real (o padrão é SQLite)
- O design do modelo de prompt afeta diretamente a qualidade da geração
- Para consultas complexas, o COT (Chain-of-Thought) pode ser ativado para orientar o modelo a pensar passo a passo
Essa resposta foi extraída do artigoOmniSQL: um modelo para transformar a linguagem natural em consultas SQL de alta qualidadeO