NL2SQL

专业的SQL大模型 https://defog.ai/

SQLCoder2与SQLCoder-7B是StarCode最新开源的两款模型,它们代表了在处理SQL查询方面的重大进步。SQLCoder2基于原始SQLCoder模型进行了显著改进。

性能对比

性能表现(优于3月发布的GPT4):

AI相关资讯-第十三期 - 图1

按问题类别划分的结果
date group_by order_by ratio join where
sqlcoder-70b 96 91.4 97.1 85.7 97.1 91.4
sqlcoder-7b-2 96 91.4 94.3 91.4 94.3 77.1
sqlcoder-34b 80 94.3 85.7 77.1 85.7 80
gpt-4 72 94.3 97.1 80 91.4 80
gpt-4-turbo 76 91.4 91.4 62.8 88.6 77.1
natural-sql-7b 56 88.6 85.7 60 88.6 80
sqlcoder-7b 64 82.9 74.3 54.3 74.3 74.3
gpt-3.5 72 77.1 82.8 34.3 65.7 71.4
claude-2 52 71.4 74.3 57.1 65.7 62.9

特点

可本地部署,输出的为PGSQL语句,可通过SQL翻译工具转换为MySQL语句。

可通过微调、数据集训练识别专业业务领域语言。比如,能够识别”患者数“与”患者人数“是同一个语义。

演示

问题1

按城市统计5月份的患者人数

  1. SELECT i.city_name,
  2. SUM(i.patient_count) AS total_patient_count
  3. FROM
  4. indicator i
  5. WHERE EXTRACT(MONTH
  6. FROM i.cal_date) = 5
  7. GROUP BY i.city_name
  8. ORDER BY total_patient_count DESC NULLS LAST;

AI相关资讯-第十三期 - 图2

问题2

按城市统计5月份的签约患者数

  1. SELECT i.city_name,
  2. SUM(i.sign_patient_count) AS total_sign_patient_count
  3. FROM
  4. indicator i
  5. WHERE EXTRACT(MONTH
  6. FROM i.cal_date) = 5
  7. GROUP BY i.city_name
  8. ORDER BY total_sign_patient_count DESC NULLS LAST;

AI相关资讯-第十三期 - 图3

问题3

按城市统计5月份的医生人数(错误回答)
  1. SELECT i.city_name,
  2. COUNT(i.city_code) AS doctor_count
  3. FROM
  4. indicator i
  5. WHERE EXTRACT(MONTH
  6. FROM i.cal_date) = 5
  7. GROUP BY i.city_name
  8. ORDER BY i.city_name NULLS LAST;

AI相关资讯-第十三期 - 图4

使用体验

当前官方给到的是8B版本的,实际使用还是存在乱答的现象。最新的目前是15B版,有希望通过加上正确的提示词或者微调,使其回答更加正确。