【第5篇】向量化处理步骤
返回目录
向量化处理步骤
比赛相关介绍参见 《2025年羊城工匠杯nl2sql比赛介绍》。
开发环境配置参见《nl2sql2025开发环境配置》
本文介绍数据预处理阶段的参数化、向量化处理逻辑。
主要程序逻辑简介和运行效果
1. 激活python运行环境
2. /src/vector/excel2sql.py : 程序根据 /data/表结构.xlsx 文件,生成建表语句DDL
3. src/tools/scan_columns.py:程序根据excel表格中字段描述标记了*前缀字段,从data/data.db数据库对应字段提取字段值,生成 data/parameters.txt文件
4. src/vector/question2table.py:程序读取data/samples.jsonl文件,对question进行参数化处理后,建立问题模板与库表的对应关系,生成 tmp_question2sql.json
5. src/vector/template2sql.py : 程序读取data/samples.jsonl文件,对question进行参数化处理后,建立问题模板、典型问题与SQL脚本的对应关系,生成 tmp_template2sql.json
6. src/vector/sql_markdown.py: 程序扫描sql_output下的库表json文件,把库表对应的问题模板附加到对应json文件上
7. src/vector/sqls_embedding.py:程序扫描sql_output下的库表json文件,调用嵌入模型接口,生成N维的向量数据并写入 tmp_embedding_waiting.txt文件
8. src/vector/vector2chroma.py :程序逐行读取tmp_embedding_waiting.txt文件,在chroma向量数据库写入库表的文本信息
问题模板处理逻辑
1. src/tools/clean_question.py: 通过正则表达式,删除日期条件相关的内容
2. src/tools/clean_value.py:通过data/parameters.txt文件,匹配问题关键字压缩问题模板数量
比如:请问2022年5月公卫医疗专题工单反馈的工单量排名前4的事项的满意数分别是多少?
模板化后:{专题名称}专题工单反馈的工单量排名前4的事项的满意数分别是多少?
【本文结束】