AI PLAY玩法更新持续收录
← 回到更新流

2026-09-25 · 原文发布日

用Bedrock Claude视觉识别医生印章并回传结构化结果

webhook收到POST请求后立即回执,调用另一个文件管理工作流按请求里的引用取回印章图片;统一缩放到800×800内后交给AWS Bedrock的Claude视觉模型,由AI Agent约束只提取清晰可读的医生和机构信息并输出合法JSON;成功结果连同请求ID一起base64编码发布到SNS主题,出错则把标准化失败响应同样编码发SNS。适合已有AWS体系、需把识别嵌入下游系统的团队。模板免费。

原文要点

原模板是一条n8n工作流:Webhook收到POST后立即返回含execution和workflow ID的确认JSON;再调用另一个文件管理工作流按请求里的引用取回印章图片;把图片统一缩放到最长边800像素以内;交给AWS Bedrock上的Claude视觉模型,经AI Agent限定只提取清晰可读的医生和机构信息并输出合法JSON;成功结果连同executionRequestId和queryId一起base64编码发布到SNS主题,出错则把标准化失败响应同样编码发到同一SNS主题。模板免费,但需自备AWS Bedrock与SNS凭据。

这次做成什么

在n8n中搭一条「异步医生印章识别」管道:调用方POST一个图片引用后立即拿到回执,识别结果稍后通过SNS推送回下游。本页给出一套可直接参照的节点串联方案、AI Agent提示词全文和一条完整测试数据,你按此在自己的n8n里逐节点重建即可。原模板可在n8n模板页免费导入,本页方案为独立重述,非原工作流文件。

准备什么

  • 一个可用的n8n实例(自建或云端)并有创建工作流权限
  • AWS账号,已开通Bedrock中Claude视觉模型的访问权限,并有可用IAM凭据
  • 一个已创建的SNS主题及其ARN,以及有发布权限的AWS凭据
  • 一个能按引用返回图片二进制数据的文件管理来源(本练习用Mock节点代替)
  • 测试用印章图片为自行合成的虚构样本,不使用真实医师证件

具体怎么做

  1. 创建Webhook入口并配置立即回执

    新建工作流,添加Webhook节点,方法选POST,路径如/doctor-stamp-ocr,Response Mode选Respond Immediately,响应体设置为{"ack":true,"executionId":"{{$execution.id}}","workflowId":"{{$workflow.id}}"},让调用方在毫秒内拿到回执,后续处理异步完成。

  2. 用Execute Workflow取回印章图片

    添加Execute Workflow节点调用你的文件管理子工作流,把Webhook请求体里的imageRef字段原样传过去,约定子工作流返回名为data的二进制图片。没有现成子工作流时,先用Edit Image前的Mock/HTTP Request节点返回一张本地合成测试图代替。

  3. 统一缩放图片到800像素以内

    添加Edit Image节点,Operation选Resize,Width和Height均填800并勾选保持比例的选项(界面名称以你的n8n版本为准,需在原模板核对),得到最长边不超过800像素的标准化图片,降低传给视觉模型的载荷。

  4. 配置Bedrock Claude视觉识别

    添加AI Agent节点,Model挂AWS Bedrock Chat Model凭据,选择你已开通的Claude视觉模型(模型名以你账号里实际开通的为准);把上一步的二进制图片接入作为输入图像;System Message粘贴本页artifacts中的提示词全文,约束只提取清晰可读字段并输出合法JSON。

  5. 组装成功响应并base64编码发SNS

    添加Set/Code节点,把Agent输出的JSON与Webhook传入的executionRequestId、queryId合并为{"status":"success","executionRequestId":...,"queryId":...,"extracted":...},再用SNS节点发布,消息体为该JSON字符串的base64编码(Code节点里用Buffer.from(JSON.stringify(obj)).toString('base64')),Topic填你的SNS ARN。

  6. 接错误分支,同样编码发SNS

    在主工作流设置Error Workflow或在关键节点开Continue On Fail后接IF分支,组装{"status":"failed","executionRequestId":...,"queryId":...,"error":"标准化错误描述"},同样base64编码发布到同一SNS主题,保证下游只用一种解码逻辑。

可直接复制的材料

AI Agent印章识别提示词(可直接粘贴)

本站独立编写的示例提示词,字段可按你的业务需要增删,替换后保持「只输出合法JSON」的约束。

你是医疗票据上的医生印章信息提取器。规则如下:
1. 只提取图片中清晰可辨认、可直接读出的文字,不得猜测或补全模糊内容。
2. 提取字段:doctor_name(医生姓名)、department(科室)、facility_name(机构名称)、registration_no(执业/注册编号)。
3. 某字段无法清晰辨认时,该字段值填null,并在unreadable_fields数组中列出字段名。
4. 只输出一个合法JSON对象,不要输出解释、Markdown代码块或任何多余文字。
输出结构:{"doctor_name":"...","department":"...","facility_name":"...","registration_no":"...","unreadable_fields":[]}

调用方测试请求体(POST JSON)

本站虚构的测试数据,imageRef需替换为你文件管理子工作流能解析的真实引用格式。

{
  "executionRequestId": "req-demo-20260925-001",
  "queryId": "q-demo-8842",
  "imageRef": "filemgmt://stamps/demo/doctor_stamp_001.png"
}

SNS发布前的成功载荷(base64编码前)

本站虚构演示载荷,实际字段由AI Agent输出与Webhook请求字段合并而成,人名机构均为虚构。

{
  "status": "success",
  "executionRequestId": "req-demo-20260925-001",
  "queryId": "q-demo-8842",
  "extracted": {
    "doctor_name": "林远航",
    "department": "内科",
    "facility_name": "示例市第三人民医院",
    "registration_no": null,
    "unreadable_fields": ["registration_no"]
  }
}

输入与输出示例

本站虚构演示,未实际调用AWS Bedrock;executionId等数值为示例。

输入

POST /doctor-stamp-ocr,请求体:{"executionRequestId":"req-demo-20260925-001","queryId":"q-demo-8842","imageRef":"filemgmt://stamps/demo/doctor_stamp_001.png"},子工作流返回一张合成的「林远航 内科 示例市第三人民医院」圆形印章图,注册编号区域故意做模糊。

对应输出

调用方立即收到{"ack":true,"executionId":"1042","workflowId":"w-stamp-ocr"};数秒后SNS主题收到base64消息,解码后为{"status":"success","executionRequestId":"req-demo-20260925-001","queryId":"q-demo-8842","extracted":{"doctor_name":"林远航","department":"内科","facility_name":"示例市第三人民医院","registration_no":null,"unreadable_fields":["registration_no"]}}。

做完检查这些

  • POST请求后调用方立即收到含executionId和workflowId的确认JSON,而不是等待识别完成
  • SNS收到的消息解码后是合法JSON,且executionRequestId和queryId与请求体一致
  • 印章中模糊的字段值为null并出现在unreadable_fields数组中,没有被AI编造
  • 故意让子工作流返回空时,SNS收到status为failed的标准化错误消息

容易卡住的地方

  • Bedrock模型访问需单独开通且按调用计费,模板免费不等于AWS用量免费
  • AI Agent若未严格约束输出格式,可能在JSON外包裹解释文字导致下游解析失败,需在提示词和后续节点双重校验
  • 子工作流返回的二进制字段名必须与Edit Image节点期望的一致,否则缩放步骤拿不到图
  • base64编码要作用于完整JSON字符串,遗漏会导致下游解码出截断内容
  • Resize节点的界面选项名称随n8n版本不同可能有差异,需以你实例中的实际选项为准

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Extract doctor stamp details from images with AWS Bedrock Claude and SNS
原作者
Shailendra Singh Tiwari
原始发布日期
2026-09-25T12:37:14.217Z
来源
https://n8n.io/workflows/19933