DEV Community 中文 关注 我给文本转 SQL 智能体提供了业务术语表。其中一个版本效果显著,另一个则毫无作用。 Text-to-SQL 智能体往往难以理解与表或列名不直接对应的业务术语,从而导致查询结果错误。SchemaGate 1.2.0 引入业务术语以提升这些智能体的准确性。这些术语可显式定义,包括同义词、与数据库列的映射以及关联的过滤规则。例如,"revenue"可映射到billing_invoice.total_net并附加状态过滤条件。该过程有助于智能体识别相关表并理解特定业务概念的含义。术语之间还可存在层级关系,进而影响表的包含权重。业务术语可从多种来源导入,如 dbt、Snowflake 或 CSV 导出文件,也可从历史问题-SQL 对中学得。SchemaGate 的主要功能是访问控制,在智能体可见之前隐藏未授权的表和列。为防止数据泄露,若调用方无法访问所有底层表和列,则省略业务术语的相关行。在 BIRD 数据集上的实验表明,当提供完整术语表时,准确率显著提升 10 个百分点,而从其他问题中学得的术语则无影响。在 Spider 上的检索任务中,学得的术语提升了表召回率。本质上,手动定义关键业务术语对于提高查询准确性至关重要,特别是在理解公式方面;而学得的术语在表发现方面更为有效。将术语添加到提示词时需仔细考虑用户权限。SchemaGate 作为开源项目提供,支持多种数据库及集成选项。 I gave my text-to-SQL agent a business glossary. One version helped a lot, one did nothing. dev.to DEV Community 中文 RSS thenote.app
billing_invoice.total_net并附加状态过滤条件。该过程有助于智能体识别相关表并理解特定业务概念的含义。术语之间还可存在层级关系,进而影响表的包含权重。业务术语可从多种来源导入,如 dbt、Snowflake 或 CSV 导出文件,也可从历史问题-SQL 对中学得。SchemaGate 的主要功能是访问控制,在智能体可见之前隐藏未授权的表和列。为防止数据泄露,若调用方无法访问所有底层表和列,则省略业务术语的相关行。在 BIRD 数据集上的实验表明,当提供完整术语表时,准确率显著提升 10 个百分点,而从其他问题中学得的术语则无影响。在 Spider 上的检索任务中,学得的术语提升了表召回率。本质上,手动定义关键业务术语对于提高查询准确性至关重要,特别是在理解公式方面;而学得的术语在表发现方面更为有效。将术语添加到提示词时需仔细考虑用户权限。SchemaGate 作为开源项目提供,支持多种数据库及集成选项。