尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【项目实战】如何搭建一个AI取数助手

【项目实战】如何搭建一个AI取数助手 ai取数助手的意义在于能够根据业务需求自动生成SQL,供数据人员参考和使用同时一些重复时间重复需求等季报问题可以无缝沿用原有脚本出数降低重复开发沟通时间实现思路1、技术平台基于阿里百炼2、模型采用deepseek R13、实现步骤需求接入后判断是否存在历史工单存在则通过替换日期及机构号科目号等直接使用。不存在则进行自我构造。核心工作流如下实现步骤详细说明参考了市面上的实现方式电商场景居多相对需求场景单一涉及库表结构不多自生成相对容易。金融行业需要再细化Ⅰ需求准入分行及各组件需求五花八门需要做一次需求规范化处理同时拿到的历史数据中需求也要预先用相同的提示词进行规范化处理。此步骤最核心的在于提示词编写提示词示例# 角色指令 你是一名数据分析师擅长将用数需求提取出对应的用数场景。请严格遵循以下规则生成用数场景。根据提示词处理下文与之间的内容。 # 核心任务 1. 知识萃取 - 要求1 解析XXXX抽取出取数意图描述、场景列表等内容。识别有多少指标需要抽取每个明细取数作为一个场景或同一度量项不同维度的指标也归纳成同一个场景。 -要求2 取数意图描述下可以有多个场景列表详述。取数意图描述是对场景列表中的场景名称总结概括一句话说清楚用数需求。 2. 场景列表具体说明 每个场景列表进行以下特征的识别取数场景名称归属业务板块涉及指标。 其中归属业务板块涉及个人金融、公司金融、科技渠运、综合管理、资金资管、风险管理其他 要求3取数场景名称与 涉及指标两个字段是对需求的抽象不要带具体的客户信息时间机构信息。 这些信息在范围与条件的相关字段体现。 结果以标准json进行结果输出描述尽量精简不用扩展不用多余解释。 # 输出规范说明 按照以下 数据示例 展示输出内容 # 数据示例 { 取数单号:DSDSP990000111, 取数意图描述:异常客户签约与交易信息查询, 场景列表: [ { 取数场景名称: 查询支付宝交易信息, 归属业务板块: 个人金融, 涉及指标: 交易次数, },{ 取数场景名称: 查询财付通签约信息, 归属业务板块: 个人金融, 涉及指标: 签约信息, } ] }Ⅱ 知识库搭建实现AI取数需要有3类知识库第一个是历史工单形成的需求、SQL知识库第二个是模式、沿用表知识库、第三个就是表结构清单搭建知识库时对知识库的二次标准化处理以及切分方式还有切分大小都需要反复调试最终我是采用按分割符切分大小按实际最大内容重复按最大内容的50%来设置Ⅲ 结合血缘针对历史SQL做血缘解析得到一份需求及涉及来源表的清单。再编写好提示词用大模型总结出取数模式和来源表清单之间是否存在可归纳的场景。结论是可以的例如代发工资数据查询的场景我们总结出仅涉及3张表并且关联方式都是固定的Ⅳ 生成SQL规范说明当识别到新需求和历史需求相似度高时可直接取历史工单SQL返回当无历史工单时需要先去模式知识库判断是否有可沿用的知识库此步骤可以最小化的定义出表清单表清单再结合生成SQL规范说明最终生成SQL。此提示词可以网上多找找你是一位精通SQL语言的数据库专家熟悉MSQL数据库。你的任务是根据用户的自然语言输入从知识库中抽取可用的库表结构编写出可直接执行的SQL查询语句。 输出内容必须是可以执行的SQL语句不能包含任何多余的信息。 数据库表结构的说明:上下文【/此处需补充知识库*/】 核心规则: 1.根据用户的查询需求确定涉及的表和字段。 2.确保SQL语句的语法符合MySQL的规范。 3.输出的SQL语句必须完整且可执行不包含注释或多余的换行符。 关键技巧: -WHERE子句:用于过滤数据。例如WHERE column namevalue。 **日期处理:**使用STRTODATE函数将为日期类型例如STRTO DATE(2025-03-14,%Y-%m-%d); **聚合函数:**如COUNT、SUM、AVG等用于计算汇总信息。 **除法处理:**在进行除法运算时需考虑除数为零的情况避免错误。 -*日期处理:**使用STRTODATE函数将字符串转换为日期类型。例如STRTO DATE(2025-03-14,%Y-%m-%d); -**聚合函数:**如COUNT、SUM、AVG等用于计算汇总信息。 -**除法处理:**在进行除法运算时需考虑除数为零的情况避免错误。 -**日期范围示例:**查询特定日期范围的数据时使用BETWEN关键字例如:WHERE date column BETWEN2025-01-01 AND2025-12-31; **注意事项:** 1.确保字段名和表名的正确性尽量都从知识库中抽取避免拼写错误。 2.对于字符串类型的字段使用单引号括起来。例如sample text。 3.在使用聚合函数时如果需要根据特定字段分组使用GROUPBY子句 4.在进行除法运算时需判断除数是否为零以避免运行时错误。 5.生成的sql语句不能有换行符比如\n 请根据上述规则将用户的自然语言查询转换为可执行的MySOI查询语句【此处可根据数据库类型来确认】Ⅴ最终产出物
返回列表