案例检索 Skill
一、核心能力
- 关键词检索:支持通过
keyword传入明确案由、法院、案号、文书类型、时间等检索短语。 - 语义检索:支持通过
--semantic传入案件事实、争议事实、自然语言法律场景或案件材料摘要,与关键词检索二选一,用于查找相似案例。 - 结果格式化:基于接口返回的案号、案由、法院、审理程序、文书类型、裁判日期、公布类型、正文等字段生成可读结果
- 结果后处理:在检索结果基础上进行摘要提炼、关键信息提取、裁判要点归纳和类案对比
二、强制执行约束
- 必须调用脚本检索:只使用
scripts/search_cases.py发起检索,不得自行编写python -c、urllib、requests、curl或其他 HTTP 请求直接访问 API。 - 不得读取脚本后绕过脚本:脚本已经处理鉴权、请求头、分页和完整正文输出;即使需要确认字段,也不得改用内联代码请求 API。
- 单次检索只传一个查询语义:
keyword与--semantic二选一;不得把多个案由、法院、法规、主体关系和争议焦点堆在同一个参数里。 - 默认小结果集:首次检索使用
--size 3,必要时最多使用--size 5;只有用户明确要求批量结果时才提高条数,脚本会把--size限制在 10 以内。 - 默认返回完整原文:脚本优先输出接口
content字段的完整文本,不做字符数截断;不得添加抑制正文输出的参数。 - 筛选信息写入 query:当前脚本只支持
keyword、--semantic、分页和排序,不支持--court、--case-no、--cause、--from等结构化筛选参数。
三、触发条件
主动触发
- 关键词检索:
"查一下借款合同纠纷的案例" - 案由检索:
"找民间借贷纠纷的判决书" - 法院检索:
"深圳中级法院关于小产权房的判决" - 类案检索:
"有没有和这个案子类似的案例" - 时间筛选:
"2023年以后的劳动争议判决" - 文书类型:
"房屋买卖合同纠纷的判决书" - 法官检索:
"某法官的判决案例" - 长文本匹配:用户提供了案件材料,要求检索类似案例
不触发场景
- 法规条文查询(应使用 legal-retrieval 技能)
- 法律意见书、合同审查等深度分析任务
- 寒暄或无关内容
四、API 配置
本技能通过得理(法律)开放平台 API 进行案例检索。
API 端点:https://platform.delilegal.com/api/v1/generice/case/list
鉴权方式:Authorization: Bearer YOUR_API_KEY
响应结构:{success, code, msg, body: {data:[...], totalCount, totalPage, queryId}}
配置步骤
- 前往 https://open.delilegal.com/personal/keys 注册/登录
- 创建应用并获取 API Key
- 将 API Key 填入技能目录下的
config.json文件:{ "apikey": "你的API Key" }
⚠️ 未配置 API Key 时,不得执行检索,必须先提示用户: "config.json 中的 apikey 尚未配置。请前往 https://open.delilegal.com/personal/keys 创建 API Key,并填入技能目录下的 config.json 文件中。"
五、工作流程
Step 1:意图识别与要素抽取
| 意图类型 | 判定标准 | 需抽取要素 | |---------|---------|-----------| | 关键词检索 | 用户明确指定案由、案号、法院、时间或文书类型 | 案由、案号、法院、年份、文书类型 | | 案由检索 | 明确指定案由 | 案由名称(如"民间借贷纠纷") | | 法院检索 | 指定法院名称或层级 | 法院名称、法院层级 | | 语义检索/类案匹配 | 提供案件材料、事实经过或自然语言法律场景要求找相似案例 | 案件事实要素(当事人、法律关系、争议焦点等) | | 组合筛选 | 多个维度同时限定 | 关键词+时间+法院+案由+文书类型等 |
处理规则:
- 明确案号、案由、法院、年份、文书类型时使用
keyword - 用户描述事实经过、业务场景、争议事实或“不知道查什么案由”时使用
--semantic - 识别时间限定(如"近三年"、"2023年以后")
- 识别法院限定(如"深圳中院"、"最高法院")
- 识别文书类型限定(如"只要判决书"、"不要裁定书")
- 识别案由限定(如"劳动争议"、"买卖合同纠纷")
- 多个独立检索意图必须拆成多次检索;不要将多个案由、法院或事实标签拼成一条长 query
- 信息不足时进入澄清模式
Step 2:选择关键词检索或语义检索
精准案号、明确案由、法院限定、时间限定、文书类型限定时使用 keyword。用户用完整自然语言描述案件事实、争议经过、合同履行过程、侵权过程、劳动关系过程或上传材料时,使用 --semantic,不要拆成多条关键词组合反复检索。
| 场景 | 推荐调用 | 避免调用 |
|------|---------|---------|
| 案由/争议焦点 | python scripts/search_cases.py "民间借贷 利率上限" --size 3 | python scripts/search_cases.py "借款合同 民间借贷 利息 违约金 担保 抵押 保证" |
| 法院限定 | python scripts/search_cases.py "深圳中院 小产权房 买卖合同 判决书" --size 3 | 使用不存在的 --court 参数 |
| 时间限定 | python scripts/search_cases.py "2023 劳动争议 违法解除 判决书" --size 3 --sort-field time | 使用不存在的 --from、--to 参数 |
| 案号精准 | python scripts/search_cases.py "(2023)粤03民终12345号" --size 3 | 使用不存在的 --case-no 参数 |
| 语义检索/类案匹配 | python scripts/search_cases.py --semantic "借款金额120万元,约定年利率10%,到期未还,争议焦点为利息保护上限..." --size 3 | 拆成 借款合同 民间借贷 利息 违约金 担保 抵押 保证 等多次关键词检索 |
keyword 建议控制在 2-8 个核心词,保留最能区分结果的法律关系、争议焦点、法院或年份。--semantic 建议传入 100-800 字事实摘要或自然语言法律场景,包含法律关系、关键行为、请求事项、争议焦点,不传无关附件全文。
如果首次无结果,优先保留用户语义并改写 --semantic;仍不足时再换成标准案由/法律概念或更泛化的关键词。
Step 3:调用 API 检索
使用技能目录下的检索脚本调用得理法律开放平台 API:
cd <skill_dir>
python scripts/search_cases.py "<检索关键词>" --size 3
# 或
python scripts/search_cases.py --semantic "<案件事实或自然语言法律场景>" --size 3
如果当前运行环境使用 python3,可将命令中的 python 替换为 python3。不得使用内联 Python 代码直接请求接口。
命令示例:
python scripts/search_cases.py "民间借贷 利率上限" --size 3
python scripts/search_cases.py "深圳中院 小产权房 买卖合同 判决书" --size 3
python scripts/search_cases.py "(2023)粤03民终12345号" --size 3
python scripts/search_cases.py "劳动合同解除" --size 3 --sort-field time --sort-order desc
python scripts/search_cases.py --semantic "劳动者主张公司违法解除劳动合同,争议焦点为解除理由是否成立及赔偿金计算..." --size 3
基础参数:
| 参数 | 默认值 | 说明 |
|------|--------|------|
| keyword | 不使用 | 检索关键词(自然语言),与 --semantic 二选一 |
| --semantic | 不使用 | 语义检索文本,用于案件事实、争议事实、自然语言法律场景或材料摘要 |
| --page | 1 | 页码,翻页时传入 |
| --size | 3 | 每页返回条数,首次检索建议 3,最多 10 |
| --sort-field | correlation | 排序字段:correlation(相关性)/ time(时间) |
| --sort-order | desc | 排序方向:desc(降序)/ asc(升序) |
API 请求结构(扁平结构,无 condition 嵌套):
{
"pageNo": 1,
"pageSize": 5,
"sortField": "correlation",
"sortOrder": "desc",
"query": "民间借贷利率上限"
}
长文本语义检索请求结构:
{
"pageNo": 1,
"pageSize": 5,
"sortField": "correlation",
"sortOrder": "desc",
"query": "借款金额120万元,约定年利率10%,到期未还,争议焦点为利息保护上限",
"semantic": true
}
语义检索模式:当用户提供案件材料、事实经过、争议事实或自然语言法律场景并要求查找类似案例时,使用 --semantic 参数传入保留语义关系的事实摘要。脚本会将该文本放入 API 的 query 字段,并同时设置 semantic: true;不要把整份材料全文直接传入脚本,也不要先拆成多个关键词组合。
降级规则:首次检索结果不足时,优先保留用户语义并改写 --semantic;仍不足时再换用更泛化的关键词,或在关键词中补充法院名等定向词再搜一次。
Step 4:结果后处理
| 处理项 | 处理规则 | |-------|---------| | 智能摘要 | 提取案件核心事实、争议焦点、裁判要点,不超过100字 | | 裁判规则归纳 | 从多个案例中归纳共性裁判规则 | | 关键词高亮 | 原文片段中加粗标记检索关键词 | | 关联推荐 | 基于案由关联,推荐2-3条相似案例 |
Step 5:格式化输出
脚本已内置格式化输出。根据检索场景,可参考/references/search-examples.md 中的模板做进一步加工呈现。
完整原文输出:默认直接复用脚本输出,不要展开 API 原始 JSON。若结果仍过长,优先降低 --size 或请用户缩小检索范围;不要再使用字符数截断参数处理正文。
翻页:用户说"下一页"/"再看一些"时,将 --page 递增并重新执行脚本。
注意:如果脚本执行报错提示 apikey 未配置,则直接告知用户:"config.json 中的 apikey 尚未配置。请前往 https://open.delilegal.com/personal/keys 创建 API Key,并填入技能目录下的 config.json 文件中。",不再执行后续检索任务。
六、输出模板
模板A:案例列表(基础检索)
共检索到 {结果数量} 条相关案例:
| 序号 | 案号 | 案由 | 审理法院 | 审理程序 | 文书类型 | 判决日期 |
|:---:|:---|:---|:---|:---|:---|:---|
| 1 | {案号} | {案由} | {法院} | {程序} | {类型} | {日期} |
| 2 | {案号} | {案由} | {法院} | {程序} | {类型} | {日期} |
💡 **提示**:点击序号可查看案例详情。
模板B:案例详情
📋 **{案号}** 【{案由}】
- **审理法院:** {法院名称}
- **审理程序:** {一审/二审/再审}
- **文书类型:** {判决书/裁定书/调解书}
- **判决日期:** {YYYY-MM-DD}
- **法官:** {法官姓名}
**当事人:**
- 原告:{原告信息}
- 被告:{被告信息}
**争议焦点:**
> {争议焦点概述}
**裁判要点:**
> {裁判要点归纳,关键词加粗}
**法院认为:**
> {法院裁判理由摘要}
模板C:类案对比(多个相似案例)
**类案对比主题**:{对比主题}
| 对比项 | 案例1: {案号A} | 案例2: {案号B} |
|:---|:---|:---|
| **审理法院** | {法院A} | {法院B} |
| **案由** | {案由A} | {案由B} |
| **核心事实** | {事实A} | {事实B} |
| **争议焦点** | {焦点A} | {焦点B} |
| **裁判结果** | {结果A} | {结果B} |
| **裁判规则** | {规则A} | {规则B} |
📌 **裁判规则总结**:{共性规则归纳}
模板D:裁判规则归纳(批量案例)
基于 {N} 条案例的裁判规则归纳:
**主题**:{检索主题}
**裁判规则:**
1. **{规则1标题}**
- 规则内容:{具体裁判规则}
- 代表案例:{案号1}({法院1})
- 出现频率:{X}/{N} 案例支持此规则
2. **{规则2标题}**
- 规则内容:{具体裁判规则}
- 代表案例:{案号2}({法院2})
- 出现频率:{X}/{N} 案例支持此规则
📌 **实务建议**:{基于裁判规则总结的实务操作建议}
模板E:无结果(No Result)
未找到符合"{用户原始Query}"的案例结果。
建议您尝试以下方式:
1. 🔍 更换检索关键词(如使用更通用的法律概念)
2. 📅 放宽判决日期范围
3. 🏛️ 扩大法院层级范围
4. 📝 简化案由描述
5. 📄 使用 `--semantic` 模式传入案件材料进行语义匹配
七、注意事项
数据来源限制
- 裁判文书的公开性受法院公示范围限制,部分案件可能未公开
- 检索结果仅涵盖已公开的裁判文书,不包括未公开或内部文书
- 不同法院的文书公开标准和及时性存在差异
引用规范
- 引用案例时必须标注完整案号、审理法院、判决日期
- 不得仅凭案例检索结果即作出法律判断,需结合具体案情分析
- 裁判文书存在被更正、撤销等可能,重要案件请核实最新状态
检索范围限制
- 本 Skill 仅提供检索与呈现服务,不提供法律意见、个案分析
- 对于涉及国家秘密、个人隐私、未成年人等依法不公开的案件,检索结果可能不完整
数据更新声明
- 所有结果须附带提示语:"检索结果基于得理法律开放平台数据,裁判文书的公开性受法院公示范围限制,重要案件请以法院官方文书为准。"
与法规检索的分工
- 法规条文查询 → 使用
legal-retrieval技能 - 裁判案例检索 → 使用本
case-retrieval技能 - 如用户需求同时涉及法规和案例,可先检索相关法规作为法律依据,再检索相关案例作为裁判参考
Scan to join WeChat group