中文

行业规模下的AI辅助SQL编写

软件工程 2024-07-23 v2 数据库

摘要

SqlCompose将生成式AI引入数据分析领域。SQL是声明式语言,拥有严格的表模式,往往以非线性方式编写。我们针对这些挑战开发了一组模型,揭示了每个问题的重要性。我们首先开发内部SQL基准进行离线测试。我们评估了Public Llama模型的性能。对于单行和多行预测,我们分别获得了53%和24%的BLEU分数。这种性能与先前在命令式语言上的工作相符。随后,我们在内部数据和数据库模式上微调Llama。SqlComposeSA在BLEU分数上显著优于Llama 16个百分点。SQL通常包含多个子查询且编写方式非顺序化。我们开发了SqlComposeFIM,该模型能够识别完成行之前和之后的上下文。SqlComposeFIM的性能比SqlComposeFIM提升了35个百分点。我们还衡量了模型获取正确表名的频率,SqlComposeFIM能够做到75%。除了科学研究之外,我们还在Meta推出SqlComposeFIM。SqlCompose被广泛应用于每周超过1万名用户,包括数据科学家和软件工程师,其中不到1%的用户禁用了SqlCompose。我们利用用户反馈不断改进SqlCompose。积极主题包括完成繁琐或重复的SQL子句、建议模板代码以及帮助消除记忆难以记忆的SQL语法的需求。最显著的负面主题是表和列名幻觉,这一问题在SqlComposeFIM发布后得到了显著减少。SqlCompose模型始终优于公共和内部LLM,尽管规模较小(7B和13B),这为更小的专家模型能够超越更大通用模型提供了早期指示。

关键词

引用

@article{arxiv.2407.13280,
  title  = {AI-Assisted SQL Authoring at Industry Scale},
  author = {Chandra Maddila and Negar Ghorbani and Kosay Jabre and Vijayaraghavan Murali and Edwin Kim and Parth Thakkar and Nikolay Pavlovich Laptev and Olivia Harman and Diana Hsu and Rui Abreu and Peter C. Rigby},
  journal= {arXiv preprint arXiv:2407.13280},
  year   = {2024}
}

备注

11 pages