LawGLM-个人参赛-1840312016226484

我要开发同款
匿名用户2024年07月31日
36阅读

技术信息

开源地址
https://modelscope.cn/models/Boluo936/LawGLM-1840312016226484
授权协议
Apache License 2.0

作品详情

GLM-LAW比赛代码框架说明

核心思想

将用户输入的问题,拆分为多个最小子问题,将每一个最小子问题转换为一个sql语句并进行查询,最后将所有的查询结果进行合并,得到最终的结果。

主流程: workflow.py

for q_jso i tqdm(q_jso_list):
    APIRecord.clear_api_record()                            # 清空本地API调用记录缓存
    questio = q_jso['questio']
    qs_fixed = QuestioFixed(questio)
    qs_fixed.fix_questio()                                        # questio预处理:去除重复字等问题

    qs = Questio(qs_fixed.fixed_questio)
    qs.itet_classificatio()                                # 意图分类

    if qs.itet != '查询':
        cotiue

    qs.choose_tables()                                                # 与大模型交互,选取可能涉及到的数据库表
    qs.divide_questio()                                            # 与大模型交互,将问题划分为多个子问题
    qs.delete_all_db_records()                                # 清空本地数据库缓存
    qs.geerate_sub_sqls()                                        # 不同子问题,分别生成结果
    qs.geerate_last_result()                                    # 合并所有子问题及结果,针对初始问题,总结生成答案

核心流程SubQuestio.py:生成当前子问题结果: geeratesubsqls

# 初始化子问题对象
sub_questio = SubQuestio(curr_sub_questio, self.tables, pre_sub_questio_list, pre_sub_result_list)    
sub_questio.paret = self
sub_questio.geerate_sub_sql()        # 生成子问题的sql查询语句
sub_questio.get_api_data()                # 将对应子问题的sql查询语句做一个无损转换,得到对应的api请求列表,并调用对应的api获取数据存储在本地数据库
sub_questio.trasform_sub_sql()    # 针对一些特殊情况,转换修正sql
sub_questio.execute_sub_sql()        # 执行子问题的sql查询,得到当前子问题的查询结果

功能介绍

GLM-LAW比赛代码框架说明 核心思想 将用户输入的问题,拆分为多个最小子问题,将每一个最小子问题转换为一个sql语句并进行查询,最后将所有的查询结果进行合并,得到最终的结果。 主流程: workf

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论