# DKMA Labor Arbitration 动态知识驱动的多智能体辅助劳动仲裁决策方法研究源码仓库。 本仓库按照论文“动态知识驱动的多智能体辅助劳动仲裁决策方法研究”的技术链条组织代码,覆盖以下模块: 1. 仲裁结果质量评估:BLEU、ROUGE-L、PPL 以及 LLM 主观评审接口。 2. 仲裁条文动态检索:法律知识库构建、条文级分块、向量检索、高层规划器。 3. 仲裁意见生成:指令微调数据构建、LoRA 微调脚本、推理接口。 4. 仲裁结果推理增强:法律推理路径分解、多任务联合微调、结果生成。 5. 多智能体流程编排:检索智能体、案件分析智能体、意见生成智能体、结果生成智能体、评估智能体。 > 说明:仓库内置的是可运行的工程骨架和小样例数据,不包含真实案卷、法律知识库原文、模型权重和 API Key。真实数据请按 `docs/data_format.md` 放入 `data/raw/` 或配置为外部路径。 ## 目录结构 ```text dkma-labor-arbitration/ ├── configs/ # 训练、检索、服务配置 ├── data/ │ ├── raw/ # 原始案卷 / 法条数据,不提交真实数据 │ ├── processed/ # 清洗后的样本 │ └── sample/ # 可运行演示数据 ├── docs/ # 方法说明、数据格式、复现实验说明 ├── scripts/ # 一键流程脚本 ├── src/dkma_labor_arbitration/ │ ├── agents/ # 多智能体模块 │ ├── api/ # FastAPI 服务 │ ├── data/ # 数据清洗与指令样本构建 │ ├── evaluation/ # 客观指标与主观评审 │ ├── kb/ # 法律知识库、分块、检索 │ ├── llm/ # LLM 抽象与调用适配 │ ├── reasoning/ # 推理路径分解 │ ├── training/ # LoRA / 多任务训练脚本 │ └── cli.py # 命令行入口 └── tests/ # 基础单元测试 ``` ## 快速开始 ### 1. 创建环境 ```bash python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e .[dev] ``` 仅运行内置 demo 时不强依赖大模型和 FAISS;若要训练 LoRA 或使用真实 BGE-M3 / Baichuan 模型,请安装 GPU 版本 PyTorch、Transformers、PEFT、FAISS 等依赖。 ### 2. 运行样例检索 ```bash python -m dkma_labor_arbitration.cli retrieve \ --law data/sample/legal_provisions.jsonl \ --query "公司没有签劳动合同,我要求二倍工资。" ``` ### 3. 运行完整多智能体 demo ```bash python -m dkma_labor_arbitration.cli decide \ --law data/sample/legal_provisions.jsonl \ --claim "公司没有与我签订书面劳动合同,并拖欠工资。" ``` ### 4. 运行测试 ```bash pytest -q ``` ## 常用命令 ```bash # 构建知识库索引(示例版使用轻量 Hash 向量索引) python -m dkma_labor_arbitration.cli build-kb \ --law data/sample/legal_provisions.jsonl \ --index outputs/index.json # 检索法条 python -m dkma_labor_arbitration.cli retrieve \ --law data/sample/legal_provisions.jsonl \ --query "解除劳动合同经济补偿" # 仲裁辅助决策演示 python -m dkma_labor_arbitration.cli decide \ --law data/sample/legal_provisions.jsonl \ --claim "公司违法解除劳动合同,要求经济补偿。" # 计算生成结果客观指标 python -m dkma_labor_arbitration.cli evaluate \ --pred data/sample/predictions.jsonl ``` ## 训练 LoRA ```bash python -m dkma_labor_arbitration.training.lora_sft \ --config configs/train_lora.yaml ``` ## 多任务联合微调 ```bash python -m dkma_labor_arbitration.training.multitask_sft \ --config configs/train_multitask.yaml ``` ## 启动接口服务 ```bash uvicorn dkma_labor_arbitration.api.server:app --host 0.0.0.0 --port 8000 ``` 请求示例: ```bash curl -X POST http://127.0.0.1:8000/decide \ -H "Content-Type: application/json" \ -d '{"claim":"公司未签劳动合同并拖欠工资"}' ``` ## 推送到你的 Git 仓库 ```bash git init git add . git commit -m "init dkma labor arbitration source repository" git branch -M main git remote add origin http://101.132.105.43:3000/liuaodi/dkma-labor-arbitration.git git push -u origin main ``` ## 数据合规说明 真实劳动仲裁案卷通常包含个人信息、单位信息、联系方式、工资流水、身份证号等敏感字段。提交代码前请确保: - 不提交真实案卷 PDF、OCR 文本、裁决书原文。 - 不提交模型权重、API Key、数据库地址和访问令牌。 - 所有示例数据均使用匿名化或虚构内容。 - `.gitignore` 已默认排除 `data/raw/`、`outputs/`、`checkpoints/`、`.env`。