1.概述:完全完成了关于法律文书智能生成的所有功能

在法律文书智能摘要系统的基础上,我们进一步开发了法律文书智能生成功能。用户只需选择已解析的法律文书,系统就能自动提取关键信息,并根据用户选择的文书类型(起诉状、答辩状、上诉状、强制执行申请书),调用大模型生成规范的法律文书。
2.功能

包括如下功能:

AI 自动提取 从文书中自动识别当事人、案号、法院等信息
动态表单 不同文书类型显示不同的填写表单
一键生成 填写确认后调用 DeepSeek 生成完整文书
复制导出 支持一键复制和导出 Word 文档

3.关键代码

3.1 后端:文书生成器基类

python

# backend/app/services/document_base.py
from typing import Dict, Any
from datetime import datetime
from app.services.llm_service import get_llm_service

class DocumentBaseGenerator:
    """文书生成器基类"""
    
    def __init__(self):
        self.llm = get_llm_service()
    
    def get_current_date(self) -> str:
        return datetime.now().strftime("%Y年%m月%d日")
    
    async def call_llm(self, system_prompt: str, user_prompt: str) -> str:
        response = await self.llm.chat([
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": user_prompt}
        ])
        return response

3.2 后端:起诉状生成器

python

# backend/app/services/document_qisuzhuang.py
class QiSuZhuangGenerator(DocumentBaseGenerator):
    
    def get_form_fields(self) -> list:
        return [
            {"name": "plaintiff", "label": "原告姓名", "type": "text", "required": True},
            {"name": "defendant", "label": "被告姓名", "type": "text", "required": True},
            {"name": "claims", "label": "诉讼请求", "type": "textarea", "required": True},
            {"name": "facts_and_reasons", "label": "事实与理由", "type": "textarea", "required": True},
            {"name": "court_name", "label": "受理法院", "type": "text", "required": True},
            {"name": "date", "label": "起诉日期", "type": "date", "default": "today"},
        ]
    
    async def generate(self, doc_id: str, form_data: Dict) -> str:
        # 构建 Prompt 调用 LLM
        # ... 实现细节

3.3 后端:AI 自动提取服务

python

# backend/app/services/document_extractor.py
class DocumentExtractor:
    async def extract(self, doc_id: str, doc_type: str) -> Dict:
        """从文书中自动提取关键信息"""
        
        full_text = self._get_document_content(doc_id)
        
        prompt = f"""
请从以下法律文书中提取关键信息:
文书内容:{full_text[:2000]}

需要提取的字段:
- plaintiff: 原告姓名或名称
- defendant: 被告姓名或名称
- claims: 诉讼请求
- court_name: 法院名称

只返回JSON格式。
"""
        response = await self.llm.chat([...])
        return json.loads(response)

3.4 后端:API 路由

python

# backend/app/api/document_generation.py
@router.post("/generate")
async def generate_document(request: GenerateDocumentRequest):
    """生成法律文书"""
    generator = get_doc_generator()
    document = await generator.generate(
        doc_id=request.doc_id,
        doc_type=request.doc_type,
        form_data=request.form_data
    )
    return {"document": document}

3.5 前端:文书生成页面核心逻辑

typescript

// frontend/src/views/DocumentGenerate.vue
async function selectDocType(docType: string) {
  selectedType.value = docType
  
  // 1. 获取表单字段定义
  const fieldsRes = await fetch(`/api/documents/generate/form-fields/${docType}`)
  formFields.value = await fieldsRes.json()
  
  // 2. AI 自动提取并填充
  await autoFillForm(docType)
}

async function autoFillForm(docType: string) {
  extracting.value = true
  const response = await fetch('/api/documents/extract-form-fields', {
    method: 'POST',
    body: JSON.stringify({ doc_id: docId, doc_type: docType })
  })
  const data = await response.json()
  
  // 填充表单
  for (const [key, value] of Object.entries(data.extracted_data)) {
    if (value && formData.value.hasOwnProperty(key)) {
      formData.value[key] = value
    }
  }
  extracting.value = false
}

4.功能预览:

这页内容由大模型从选定的原文档中提取,可以修改。

5.技术亮点

多类型支持 起诉状、答辩状、上诉状、强制执行申请书
动态表单 不同文书类型自动切换不同表单字段
AI 自动提取 从原文书中智能提取信息,减少手动输入
DeepSeek 集成 高质量中文法律文书生成
一键导出 支持复制和 Word 文档导出

6.后续优化总结

        后续可以考虑支持更多文书类型、批量生成、生成后在线编辑以及历史记录与修改后与原文对比

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐