使用本地LLM将XQuery转换为SQL:我需要微调还是更好方法?[P]

Reddit r/MachineLearning 新闻

摘要

一位开发者寻求关于使用本地LLM将XQuery转换为SQL的指导,但缺乏足够的训练数据,探讨是否使用约110个样本进行微调,或者采用提示工程和解析等替代方法对于企业解决方案更有效。

​ 我正尝试在企业环境中将XQuery语句转换为SQL查询,但有一个限制:解决方案必须依赖本地运行的LLM。一个关键挑战是缺乏足够的训练数据(XQuery及其对应SQL查询的配对),尤其缺乏覆盖不同模式的多样性。我最初尝试了基于解析的方法,想法是从XQuery(使用Python脚本)中提取表名、列和条件等元素,将其映射到SQL组件,并将这种结构化表示传递给LLM。然而,这种方法严重依赖基于正则表达式的解析,当输入查询结构变化时就会失效。随后我尝试了提示工程方法,为SQL查询的生成定义严格的规则和模板。虽然这对较简单的输入有一定效果,但对于更复杂或更长的XQuery,输出变得不一致且往往不正确。目前,我正在考虑使用PEFT(QLoRA)对Qwen2.5-Coder 7B模型进行本地LLM微调。然而,可用数据集非常小(约110-120个样本),且不够多样化。到目前为止观察到的主要问题:对XQuery编写方式的变化敏感;对于较长的输入,生成的SQL中缺少条件或列。鉴于这些限制,我试图找出最有效的方向。使用如此有限的数据进行微调是否足够,或者是否有更好的方法来处理这种结构化查询翻译问题?如果需要,我很乐意提供更多细节。
查看原文

相似文章