bank_template.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from typing import Any, Dict
  2. from core.document_processor.templates.base_template import DocumentTemplate
  3. class BankTemplate(DocumentTemplate):
  4. """客户收款单模板"""
  5. @property
  6. def template_name(self) -> str:
  7. return "bank"
  8. @property
  9. def description(self) -> str:
  10. return "银行流水识别模板"
  11. def get_hardcoded_guidance(self) -> Dict[str, Any]:
  12. """硬编码的字段指导信息(项目初期为空,验收后转移内容到这里)"""
  13. return {
  14. "field_guidance": {
  15. # 项目初期保持为空,验收后将template_config.json的内容转移到这里
  16. # "cusname": ["可能的字段描述:付款人户名、付款方、转出方、付款人名称"],
  17. # "cusamt": ["金额字段可能包含:金额、收款金额、实收金额"],
  18. },
  19. "additional_rules": "", # 硬编码的额外规则
  20. }
  21. def output_schema(self) -> Dict[str, Any]:
  22. return {
  23. "counterpartyName": "对方名称位于第几列",
  24. "counterpartyAccount": "对方账号位于第几列",
  25. "summary": "如果同时存在'摘要'列和'备注/附言'列,则优先返回'备注/附言'列的列序号;如果只有'摘要'列,则返回'摘要'列的列序号位于第几列",
  26. "inamt": "收款金额位于第几列",
  27. "outamt": "付款金额位于第几列",
  28. "date": "交易日期位于第几列",
  29. "sn": "流水号位于第几列",
  30. "firstdatarow": "第一行数据位于第几行",
  31. "myaccountname": "我方账号",
  32. }
  33. def extraction_rules(self) -> str:
  34. return """
  35. """