优化证照识别接口
This commit is contained in:
@@ -56,16 +56,27 @@ def idcard(state: State):
|
|||||||
state["content"] = analyze_card(
|
state["content"] = analyze_card(
|
||||||
state,
|
state,
|
||||||
"""
|
"""
|
||||||
你是一个 OCR 信息提取专家,请从图片中识别出身份证的全部可见信息,并输出严格的 JSON 格式。
|
你是一个 OCR 信息提取专家,请从图片中识别出身份证的全部可见信息,并输出严格的 JSON 格式。
|
||||||
要求:
|
|
||||||
1. 无论是正面还是反面,都要识别所有字段。
|
|
||||||
2. 如果某个字段无法辨认,请将值设为 null。
|
|
||||||
3. 只输出 JSON,不要输出任何解释或多余内容。
|
|
||||||
4. 严格保持 JSON 格式,键名统一为英文。
|
|
||||||
5. "side" 字段为身份证方向,填写:人像面 或 国徽面。
|
|
||||||
|
|
||||||
JSON 示例格式:
|
要求:
|
||||||
{
|
1. 无论是正面还是反面,都要识别所有字段。
|
||||||
|
2. 如果某个字段无法辨认,请将值设为 null。
|
||||||
|
3. 只输出 JSON,不要输出任何解释或多余内容。
|
||||||
|
4. 严格保持 JSON 格式,键名统一为英文。
|
||||||
|
5. "side" 字段为身份证方向,填写:"人像面" 或 "国徽面"。
|
||||||
|
6. 对于身份证正面(含地址)的情况,请在提取 "address" 的基础上,将地址进一步拆分为以下字段:
|
||||||
|
- "xian": 县、区、市级行政单位,如“宜州区”、“石泉县”
|
||||||
|
- "xiang": 乡、镇、街道,如“怀远镇”、“城关镇”
|
||||||
|
- "cun": 村或社区名称,如“李家寨村”、“明星村”
|
||||||
|
- "zu": 屯或组信息,如“拉瓦屯”、“十五组”。
|
||||||
|
若地址中同时出现“组”和“号”,仅保留“组”部分,不要包含“号”;例如:
|
||||||
|
“十五组31号” → "zu": "十五组"
|
||||||
|
“拉瓦屯62号” → "zu": "拉瓦屯"
|
||||||
|
门牌号(如“31号”、“62号”)不需要单独提取,保留在原始 "address" 字段中。
|
||||||
|
若某部分在地址中无法明确识别,请将该字段值设为 null。
|
||||||
|
|
||||||
|
JSON 示例格式:
|
||||||
|
{
|
||||||
"side": "国徽面",
|
"side": "国徽面",
|
||||||
"name": "持证人姓名",
|
"name": "持证人姓名",
|
||||||
"gender": "性别",
|
"gender": "性别",
|
||||||
@@ -73,13 +84,17 @@ def idcard(state: State):
|
|||||||
"id_number": "身份证号",
|
"id_number": "身份证号",
|
||||||
"birth_date": "出生日期",
|
"birth_date": "出生日期",
|
||||||
"address": "住址",
|
"address": "住址",
|
||||||
|
"xian": "县或区",
|
||||||
|
"xiang": "乡或镇",
|
||||||
|
"cun": "村或社区",
|
||||||
|
"zu": "组或门牌号",
|
||||||
"issuing_authority": "签发机关",
|
"issuing_authority": "签发机关",
|
||||||
"valid_period_start": "有效期开始日期",
|
"valid_period_start": "有效期开始日期",
|
||||||
"valid_period_end": "有效期结束日期",
|
"valid_period_end": "有效期结束日期",
|
||||||
"notes": "其他可见文字或备注"
|
"notes": "其他可见文字或备注"
|
||||||
}
|
}
|
||||||
|
|
||||||
请确保输出的 JSON 可以被严格解析。
|
请确保输出的 JSON 可以被严格解析。
|
||||||
""",
|
""",
|
||||||
)
|
)
|
||||||
return state
|
return state
|
||||||
|
|||||||
@@ -67,6 +67,10 @@ const keyMap: Record<string, string> = {
|
|||||||
card_type: '卡种',
|
card_type: '卡种',
|
||||||
result: '识别结果',
|
result: '识别结果',
|
||||||
issuer_country: '发卡国家',
|
issuer_country: '发卡国家',
|
||||||
|
xian: '县',
|
||||||
|
xiang: '乡',
|
||||||
|
cun: '村',
|
||||||
|
zu: '组',
|
||||||
};
|
};
|
||||||
|
|
||||||
// 递归替换函数
|
// 递归替换函数
|
||||||
|
|||||||
Reference in New Issue
Block a user