LegalHi · 法律大模型挑战 · 初赛方案
⚖️ 第三届琶洲算法大赛 · GLM法律行业大模型挑战赛道
👥 LegalHi 初赛方案
LegalHi · 法律大模型挑战赛 · 初赛方案
边执行边思考 · 动态问题分解 · 复杂法律问题求解
方案概述
本方案针对法律行业大模型挑战赛道,提出了一套 “边执行边思考” 的解题框架。整体思路是:先将用户问题初步分类,然后动态分解为若干子问题,每一步遵循 “思考-行动-观察” 的循环,逐步求解并整合结果,最终生成完整答案。该方法有效解决了法律场景下的长文本推理、多步骤论证和复杂信息整合难题。
核心思路
采用 “边执行边思考” 的递进式求解策略:
- 首先将原始问题分解为第一个子问题;
- 解决该子问题后,将结果合并回原问题上下文;
- 继续分解下一个子问题,重复 “思考 → 行动 → 观察” 循环,直至所有子任务完成。
这种模式模拟了人类律师处理案件的思维方式,能够分步收集信息、交叉验证,保证答案的准确性和逻辑完整性。
代码结构与模块说明
- main.py:程序入口,负责问题初步分类并启动“边执行边思考”流程。
- data/:存放输入数据及中间文件。
- output/:存放最终生成结果。
- tool_register/:工具注册文件夹,定义官方提供的 API 接口及数据表结构。
- prompt.py、tools_class.py:大模型执行具体任务时的提示词模板,引导模型按正确逻辑思考与调用工具。
- produce_report.py:专门处理“整合报告”类复杂问题,聚合多方信息生成结构化报告。
- produce_sue.py:专门处理“民事诉讼”类复杂问题,模拟诉讼流程并生成法律文书。
模型资源(核心)
📌 本方案基于的法律大模型:
点击访问模型详情 · 使用前请阅读授权协议
运行指南
在项目根目录下执行以下命令即可启动程序:
python main.py
依赖安装
项目所需依赖已整理在 requirements.txt 中,一键安装:
pip install -r requirements.txt
主要依赖包括:transformers、torch、flask 等(具体请参考 requirements.txt)。
方案亮点
- 动态任务分解:将复杂法律问题拆解为可独立解决的子问题,降低单次推理难度。
- 工具化调用:通过 tool_register 统一管理外部 API 与数据表,实现知识检索与结构化查询。
- 模块化设计:针对不同法律任务(报告整合、民事诉讼)分别封装,便于扩展与维护。
- 思考-行动-观察闭环:模拟人类解决问题的认知过程,提升答案的可解释性与可靠性。
总结与展望
本方案在初赛中取得了良好效果,验证了“边执行边思考”框架在法律大模型任务中的有效性。后续可进一步优化子问题分解粒度、引入更丰富的法律知识库,并探索多模型协作来提升复杂案例的处理能力。