Skill: eastern-law-firm/national-law-knowledge-search (version 1.0.0)

--- name: national-law-knowledge-search description: 法律助手与法条检索工具，支持民法典、刑法、劳动法、合同法等国家法律法规的智能查询与检索；提供法律知识库检索、法条精准定位、法规查询服务；当用户需要查询法律条文、检索法规内容、进行法律咨询或法律问答时使用 dependency: python: - requests==2.31.0 --- # 国家法律法规知识库检索（法律助手、法条查询、法规检索） ## 任务目标 - 本技能用于：通过向量检索技术查询国家法律法规知识库，支持民法典、刑法、劳动法、合同法等法律法规的智能查询与检索，基于用户输入返回相关的法律条文内容 - 能力包含：法律条文检索、法条精准定位、法律知识查询、法规内容检索、法律咨询助手、法律问答 - 触发条件：用户提出法律相关问题、查询具体法条、检索法规内容、需要了解某部法律法规的相关规定、进行法律咨询或法律问答时使用 ## 前置准备 - 依赖说明：需要安装requests库 ``` requests==2.31.0 ``` ## 操作步骤 ### 标准流程 **步骤1：理解用户查询** - 分析用户输入的法律问题或查询需求 - 提取核心查询内容（如"在合肥被打"、"劳动纠纷赔偿"等） **步骤2：智能判断查询类型与返回数量** 智能体必须主动分析用户输入，判断查询意图并设置对应的topk值： **判断流程**： 1. 检查用户输入是否包含法律名称 2. 检查是否包含"第X章第X条"或"第X条"模式 3. 根据匹配结果确定查询类型 4. 设置对应的topk值 **判断规则与topk设置**： **规则1：精确法条查询 → topk=1** 识别条件：用户明确指定法律名称 + 条款编号 - 模式A：法律名称 + 第X章 + 第X条 - 示例："民法典第一章第一条" - 示例："刑法第二章第三十五条" - 示例："劳动合同法第一章第二条" - 模式B：法律名称 + 第X条 - 示例："民法典第15条" - 示例："消费者权益保护法第55条" - 示例："道路交通安全法第67条" **规则2：一般性法律咨询 → topk=3-15（按复杂度判断）** 识别条件：问题描述、关键词查询、模糊查询 - 简单查询（topk=3-5）： - 示例："在合肥被打怎么办？" - 示例："劳动合同赔偿标准" - 示例："交通事故责任划分" - 一般查询（topk=5-10）： - 示例："我想了解离婚财产分割的法律规定" - 示例："公司欠薪如何维权" - 复杂查询（topk=10-15）： - 示例："劳动者权益保护有哪些相关规定" - 示例："涉及多个法律领域的综合问题" **规则3：仅法条编号查询 → topk=3-5** 识别条件：只有条款编号，没有指定法律名称 - 示例："第15条是什么内容？" - 示例："关于第17条的规定" - 示例："第一章第三条" **判断方法**： - 使用关键词匹配识别常见法律名称（民法典、刑法、合同法、劳动法、消费者权益保护法等） - 使用正则表达式识别"第[一二三四五六七八九十百千]+章"和"第[一二三四五六七八九十百千]+条"模式 - 优先匹配精确法条查询，避免误判 **判断示例**： ``` 用户输入："民法典第55条" 分析：包含"民法典"（法律名称）+ "第55条"（条款编号）→ 精确法条查询 设置：topk=1 用户输入："劳动合同纠纷怎么赔偿" 分析：问题描述性语句，无具体法条 → 一般查询 设置：topk=8 用户输入："第17条规定了什么" 分析：只有条款编号，无法律名称 → 仅法条编号查询 设置：topk=3 ``` **步骤3：调用检索脚本** 执行以下命令调用知识库检索： ```bash python scripts/search_knowledge.py --query "用户查询内容" --topk <数量> ``` 参数说明： - `--query`：必需，用户的查询文本（字符串类型） - `--topk`：可选，返回结果数量（整数类型），默认为5 **步骤4：专业化解析与展示** 脚本返回JSON格式数据后，智能体必须按法律专业标准解析和展示： **解析流程**： 1. 从 `content` 字段中提取法律层级信息 2. 识别法律名称、章节、条款编号 3. 提取具体条文内容 4. 计算相关度百分比（score × 100） 5. 按专业格式展示 **法律条文解析规则**： - 提取法律名称：content开头到第一个"第X章"或"第X条"之前 - 提取章节信息：识别"第X章"模式（如"第二章"） - 提取条款编号：识别"第X条"模式（如"第十七条"） - 提取正文内容：条款编号后的具体条文 **特殊情况处理**： - 无章节信息：直接显示"第X条" - 无条款编号：标注为"相关规定"或"相关内容" - 仅法律名称：显示法律名称 + "相关内容" - 未检索到内容：如实告知，不得推测原因 **未检索到内容的处理规范**（重要）： 当检索结果为空时： - 必须明确告知"未检索到相关法律条文" - 严禁猜测或推测原因（如"条款被删除"、"法条修订"、"整合到其他条款"等） - 提供建设性建议： * 建议检查查询关键词或条款编号是否正确 * 建议尝试使用不同的关键词重新检索 * 建议提供更多上下文信息（如法律名称、相关主题等） **禁止行为**： - ❌ 推测法条修订情况 - ❌ 假设条款被整合或删除 - ❌ 提供未经证实的信息 - ❌ 误导用户认为系统了解法律修订历史 ### 结果展示格式（强制标准） ``` 为您检索到以下相关法律规定： 【检索结果1】相关度：66.7% 📜 法律名称：《苏州市中小学生心理健康促进条例》 📚 章节条款：第二章 第十七条 📝 条文内容：公安机关发现学生身心健康受到侵害、疑似受到侵害或者面临其他危险情形的，应当及时处置，并将相关情况及时告知学生父母或者其他监护人。 ─────────────────────────────────── 【检索结果2】相关度：68.3% 📜 法律名称：《安徽省人民代表大会议事规则》 📚 章节条款：第八章 第七十五条 📝 条文内容：代表在省人民代表大会各种会议上的发言和表决，不受法律追究。 ─────────────────────────────────── ``` **空结果展示格式**（强制标准）： ``` 很抱歉，未检索到相关的法律条文。 建议： 1. 请确认查询的关键词或条款编号是否正确 2. 可以尝试使用不同的关键词重新检索 3. 或者提供更多上下文信息，如法律名称、相关主题等 ``` **展示规范要求**： 1. 法律名称必须加书名号《》 2. 章节条款清晰标注层级关系 3. 条文内容完整呈现，不截断 4. 使用分隔线区分不同结果 5. 相关度以百分比形式展示（保留一位小数） ## 资源索引 - 检索脚本：见 [scripts/search_knowledge.py](scripts/search_knowledge.py)（调用向量检索接口查询自建法律知识库） - 返回格式：见 [references/api_response_format.md](references/api_response_format.md)（API返回数据结构说明） ## 注意事项 1. **参数类型严格要求**： - query必须是字符串类型 - topk必须是整数类型 - 严格按照JSON格式传参 2. **topk智能判断（强制执行）**： - 精确法条查询（法律名称+条款编号）：topk=1 - 仅法条编号查询：topk=3-5 - 简单问题（单一事实查询）：topk=3-5 - 一般问题（需要多个参考）：topk=5-10 - 复杂问题（涉及多个法律领域）：topk=10-15 - 不要让用户指定topk值，在技能内部自动判断 - 避免返回过多或过少结果 3. **专业化展示要求**： - 必须提取并标注法律名称、章节、条款 - 法律名称加书名号《》 - 条文内容完整展示，保持法律文本严肃性 - 相关度以百分比显示（如66.7%） - 使用专业法律术语和格式 - 如结果不理想，可调整查询关键词重新检索 4. **错误处理**： - 如果API调用失败，友好提示用户 - 网络超时时可重试一次 - 记录错误信息用于问题排查 5. **未检索到内容的处理（重要）**： - 必须如实告知"未检索到相关法律条文" - 严禁推测或猜测原因（如"条款被删除"、"法条修订"等） - 严禁提供未经证实的信息 - 严禁误导用户认为系统了解法律修订情况 - 只提供建设性建议（检查关键词、尝试不同检索方式等） ## 使用示例 ### 示例1：精确法条查询（topk=1） ``` 用户：民法典第15条规定了什么？ 分析：包含"民法典"（法律名称）+ "第15条"（条款编号）→ 精确法条查询 执行：python scripts/search_knowledge.py --query "民法典第15条" --topk 1 展示：返回1条精确匹配的条文 ``` ### 示例2：一般法律咨询（topk=8） ``` 用户：劳动合同纠纷怎么赔偿？ 分析：问题描述性语句，无具体法条 → 一般查询 执行：python scripts/search_knowledge.py --query "劳动合同纠纷怎么赔偿" --topk 8 展示：返回8条相关法规和赔偿标准 ``` ### 示例2-1：劳动法相关查询（topk=10） ``` 用户：劳动法关于加班费的规定 分析：指定劳动法 + 加班费 → 一般查询 执行：python scripts/search_knowledge.py --query "劳动法关于加班费的规定" --topk 10 展示：返回10条劳动法相关条文 ``` ### 示例3：复杂问题查询（topk=12） ``` 用户：劳动者权益保护有哪些相关规定？ 分析：涉及多个法律领域，需要综合了解 → 复杂查询 执行：python scripts/search_knowledge.py --query "劳动者权益保护相关规定" --topk 12 展示：返回12条相关法律法规 ``` ### 示例4：仅法条编号查询（topk=3） ``` 用户：第17条的内容是什么？ 分析：只有条款编号，无法律名称 → 仅法条编号查询 执行：python scripts/search_knowledge.py --query "第17条" --topk 3 展示：返回3条相关条文 ``` ### 示例5：常见法律问题咨询（topk=5） ``` 用户：交通事故怎么赔偿？ 分析：常见法律问题 → 简单查询 执行：python scripts/search_knowledge.py --query "交通事故怎么赔偿" --topk 5 展示：返回5条相关法律规定 ``` ### 示例6：合同法相关查询（topk=8） ``` 用户：合同违约怎么处理？ 分析：合同法相关问题 → 一般查询 执行：python scripts/search_knowledge.py --query "合同违约怎么处理" --topk 8 展示：返回8条合同法相关条文 ``` ### 示例7：刑法相关问题（topk=10） ``` 用户：什么情况下构成正当防卫？ 分析：刑法相关概念查询 → 一般查询 执行：python scripts/search_knowledge.py --query "正当防卫构成条件" --topk 10 展示：返回10条刑法相关条文 ``` ### 示例5：简单事实查询（topk=5） ``` 用户：在合肥被打怎么办？ 分析：简单事实查询 → 简单查询 执行：python scripts/search_knowledge.py --query "在合肥被打怎么办" --topk 5 展示：返回5条最相关的法律知识和案例 ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)