# LaWGPT:基于中文法律知识的大语言模型
LaWGPT 是一系列基于中文法律知识的开源大语言模型。
该系列模型在通用中文基座模型(如 Chinese-LLaMA、ChatGLM 等)的基础上扩充法律领域专有词表、**大规模中文法律语料预训练**,增强了大模型在法律领域的基础语义理解能力。在此基础上,**构造法律领域对话问答数据集、中国司法考试数据集进行指令精调**,提升了模型对法律内容的理解和执行能力。
## 快速开始
1. 准备代码,创建环境
```bash
# 下载代码
git clone git@github.com:pengxiao-song/LaWGPT.git
cd LaWGPT
# 创建环境
conda create -n lawgpt python=3.10 -y
conda activate lawgpt
pip install -r requirements.txt
```
2. **启动 web ui(可选,易于调节参数)**
- 首先,执行服务启动脚本:`bash scripts/webui.sh`
- 其次,访问 http://127.0.0.1:7860 :
<p align="center">
<img style="border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0,0.5); width: 80%;", src="./assets/demo/example-03.jpeg">
</p>
3. **命令行推理(可选,支持批量测试)**
- 首先,参考 `resources/example_infer_data.json` 文件内容构造测试样本集;
- 其次,执行推理脚本:`bash scripts/infer.sh`。其中 `--infer_data_path` 参数为测试样本集路径,如果为空或者路径出错,则以交互模式运行。
注意,以上步骤的默认模型为 LaWGPT-7B-alpha:
## 项目结构
```bash
LaWGPT
├── assets # 静态资源
├── resources # 项目资源
├── models # 基座模型及 lora 权重
│ ├── base_models
│ └── lora_weights
├── outputs # 指令微调的输出权重
├── data # 实验数据
├── scripts # 脚本目录
│ ├── finetune.sh # 指令微调脚本
│ └── webui.sh # 启动服务脚本
├── templates # prompt 模板
├── tools # 工具包
├── utils
├── train_clm.py # 二次训练
├── finetune.py # 指令微调
├── webui.py # 启动服务
├── README.md
└── requirements.txt
```
## 数据构建
本项目基于中文裁判文书网公开法律文书数据、司法考试数据等数据集展开,详情参考[中文法律数据源汇总(Awesome Chinese Legal Resources)]
1. 初级数据生成:根据 [Stanford_alpaca] 和 [self-instruct]方式生成对话问答数据
2. 知识引导的数据生成:通过 Knowledge-based Self-Instruct 方式基于中文法律结构化知识生成数据。
3. 引入 ChatGPT 清洗数据,辅助构造高质量数据集。
## 模型训练
LawGPT 系列模型的训练过程分为两个阶段:
1. 第一阶段:扩充法律领域词表,在大规模法律文书及法典数据上预训练 Chinese-LLaMA
2. 第二阶段:构造法律领域对话问答数据集,在预训练模型基础上指令精调
### 二次训练流程
1. 参考 `resources/example_instruction_train.json` 构造二次训练数据集
2. 运行 `scripts/train_clm.sh`
### 指令精调步骤
1. 参考 `resources/example_instruction_tune.json` 构造指令微调数据集
2. 运行 `scripts/finetune.sh`
### 计算资源
8 张 Tesla V100-SXM2-32GB :二次训练阶段耗时约 24h / epoch,微调阶段耗时约 12h / epoch
## 模型评估
### 输出示例
<details><summary>问题:酒驾撞人怎么判刑?</summary>
![](assets/demo/demo07.jpeg)
</details>
<details><summary>问题:请给出判决意见。</summary>
![](assets/demo/example-05.jpeg)
</details>
<details><summary>问题:请介绍赌博罪的定义。</summary>
![](assets/demo/example-06.jpeg)
</details>
<details><summary>问题:请问加班工资怎么算?</summary>
![](assets/demo/example-04.jpeg)
</details>
<details><summary>问题:民间借贷受国家保护的合法利息是多少?</summary>
![](assets/demo/example-02.jpeg)
</details>
<details><summary>问题:欠了信用卡的钱还不上要坐牢吗?</summary>
![](assets/demo/example-01.jpeg)
</details>
<details><summary>问题:你能否写一段抢劫罪罪名的案情描述?</summary>
![](assets/demo/example-03.jpeg)
</details>
### 局限性
由于计算资源、数据规模等因素限制,当前阶段 LawGPT 存在诸多局限性:
1. 数据资源有限、模型容量较小,导致其相对较弱的模型记忆和语言能力。因此,在面对事实性知识任务时,可能会生成不正确的结果。
2. 该系列模型只进行了初步的人类意图对齐。因此,可能产生不可预测的有害内容以及不符合人类偏好和价值观的内容。
3. 自我认知能力存在问题,中文理解能力有待增强。
请诸君在使用前了解上述问题,以免造成误解和不必要的麻烦。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
## 项目结构 ```bash LaWGPT ├── assets # 静态资源 ├── resources # 项目资源 ├── models # 基座模型及 lora 权重 │ ├── base_models │ └── lora_weights ├── outputs # 指令微调的输出权重 ├── data # 实验数据 ├── scripts # 脚本目录 │ ├── finetune.sh # 指令微调脚本 │ └── webui.sh # 启动服务脚本 ├── templates # prompt 模板 ├── tools # 工具包 ├── utils ├── train_clm.py # 二次训练 ├── finetune.py # 指令微调 ├── webui.py # 启动服务 ├── README.md └── requirements.txt
资源推荐
资源详情
资源评论
收起资源包目录
基于python实现的中文法律知识的大语言模型.zip (42个子文件)
LaWGPT-main
tools
clear_law.py 3KB
merge_vocabulary.py 3KB
webui.py 7KB
assets
demo
example-02.jpeg 651KB
example-06.jpeg 332KB
example-04.jpeg 592KB
example-05.jpeg 584KB
example-01.jpeg 762KB
demo07.jpeg 476KB
demo.png 301KB
example-03.jpeg 605KB
logo
lamda.png 37KB
lawgpt.jpeg 527KB
resources
example_instruction_train.json 4KB
criminal_charges.json 111KB
example_instruction_tune.json 928B
legal_vocab.txt 94KB
example_infer_data.json 432B
data
.gitkeep 0B
LICENSE 34KB
finetune.py 10KB
infer.py 4KB
utils
__init__.py 0B
evaluate.py 6KB
merge.py 1KB
prompter.py 2KB
callbacks.py 2KB
templates
alpaca.json 542B
law_template.json 882B
merge.py 2KB
requirements.txt 244B
models
base_models
.gitkeep 0B
lora_weights
.gitkeep 0B
.gitignore 247B
train_clm.py 9KB
outputs
.gitkeep 0B
README.md 5KB
scripts
train_clm.sh 683B
infer.sh 240B
merge.sh 170B
finetune.sh 2KB
webui.sh 647B
共 42 条
- 1
资源评论
小蜜蜂vs码农
- 粉丝: 2397
- 资源: 287
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot的极简易课堂对话系统.zip
- (源码)基于JSP+Servlet+MySQL的学生管理系统.zip
- (源码)基于ESP8266的蜂箱监测系统.zip
- (源码)基于Spring MVC和Hibernate框架的学校管理系统.zip
- (源码)基于TensorFlow 2.3的高光谱水果糖度分析系统.zip
- (源码)基于Python框架库的知识库管理系统.zip
- (源码)基于C++的日志管理系统.zip
- (源码)基于Arduino和OpenFrameworks的植物音乐感应系统.zip
- (源码)基于Spring Boot和Spring Security的博客管理系统.zip
- (源码)基于ODBC和C语言的数据库管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功