在完成了案卷资料的梳理和证据时间线的构建后,法务团队最核心的产出是撰写《民事起诉状》与《证据目录》。
这要求生成算法在保持格式高度严谨的前提下,能够精准引用时间线中的时间节点和证据编号,不能有丝毫偏差。
一、 法律文书生成的 Few-Shot 提示词设计
我们使用 Few-Shot 引导大模型,将梳理好的结构化事实要素转换为符合我国司法习惯的判理事实陈述:
def create_legal_draft_prompt(facts, claims, evidence_list):
"""
facts: 结构化案件事实时间线
claims: 诉讼请求
evidence_list: 证据编号与证明目的对照表
"""
prompt = f"""你是一个拥有多年执业经验的中国执业律师。请根据以下提供的案件要素,撰写符合司法格式要求的民事起诉状中的“事实与理由”部分。
【诉讼请求】
{claims}
【核心事实时间线】
{facts}
【证据参考清单】
{evidence_list}
【写作要求】
1. 使用“原告与被告于...签订了...”等规范的诉讼文书书面语。
2. 在陈述事实时,凡是提及核心合同签订、付款、逾期等动作时,必须在文段中用括号标注对应的证据。例如:(原告已按约定完成交付,详见证据三)。
3. 逻辑要清晰,按照时间顺序展开,重点陈述被告的违约事实。
4. 字数控制在 1500 字左右。
民事起诉状“事实与理由”正文:
"""
return prompt二、 证据目录自动生成 Python 代码
除了起诉状,符合朝阳区法院等基层法院立案要求的《证据目录》表格也必须一并生成。我们使用 openpyxl 自动格式化输出:
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side
def generate_evidence_excel(evidence_data, output_path):
wb = Workbook()
ws = wb.active
ws.title = "证据目录"
# 定义表头样式
title_font = Font(name="SimSun", size=12, bold=True)
align_center = Alignment(horizontal="center", vertical="center", wrap_text=True)
thin_border = Border(
left=Side(style='thin'), right=Side(style='thin'),
top=Side(style='thin'), bottom=Side(style='thin')
)
headers = ["证据序号", "证据名称", "证据形式", "证明内容", "页码/原件情况"]
ws.append(headers)
# 填充数据
for idx, item in enumerate(evidence_data, 1):
row = [
f"证据{idx}",
item['name'],
item['type'],
item['purpose'],
item['pages']
]
ws.append(row)
# 应用网格样式
for row in ws.iter_rows(min_row=1, max_row=len(evidence_data)+1, min_col=1, max_col=5):
for cell in row:
cell.font = Font(name="SimSun", size=11)
cell.alignment = align_center
cell.border = thin_border
# 设置列宽
ws.column_dimensions['B'].width = 25
ws.column_dimensions['D'].width = 40
wb.save(output_path)三、 结论
通过“格式硬约束+Few-Shot大模型生成”,我们让法律机器人在遵循基本举证责任的前提下,自动编写出逻辑严谨的诉状初稿和配套底表。这极大提升了法务处理批量诉讼(如商户欠款、小额借贷)时的立案响应速度。