You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon Lex聊天机器人能否接收图片输入?如何对接集成AWS Rekognition的Lambda

Amazon Lex 图片输入功能实现方案

没问题,Amazon Lex确实可以实现图片输入的功能——不过它本身不直接接收二进制图片文件,需要结合你已经搭建的Lambda+Rekognition架构,通过几个中间步骤来完成对接,刚好你已经有了基础,上手会很快:

  • 前端处理图片上传:Lex自带的聊天界面不支持直接上传图片,所以你需要在自定义前端(或者你正在开发的应用界面)里添加图片上传功能,把用户上传的图片先传到Amazon S3存储桶中,拿到对应的S3对象键(Key)或者访问URL。这里推荐用预签名URL来处理上传,既安全又能控制权限。
  • 配置Lex意图与槽位:创建一个专门的图片分析意图(比如命名为AnalyzeImageIntent),添加一个槽位用来存储图片的S3路径或URL——槽位类型可以选AMAZON.AlphaNumeric,或者自定义一个槽位类型来匹配S3路径的格式,确保能准确提取用户传递的图片位置信息。
  • 扩展Lambda函数:修改你现有的Lambda函数,让它能从Lex的请求参数中提取这个图片路径槽位的值。然后调用Rekognition的对应API(比如detectLabels做标签识别,或者你需要的其他分析接口)处理图片。分析完成后,把结果整理成自然语言格式,按照Lex要求的响应结构(包含dialogAction和message字段)返回给Lex。
  • 对接Lex与Lambda:将扩展后的Lambda函数设置为你这个图片分析意图的 fulfillment 函数,同时确保IAM角色配置正确——Lex需要有调用Lambda的权限,Lambda需要有读取S3图片、调用Rekognition的权限。
  • 测试完整流程:用户在前端上传图片→前端把S3路径发送给Lex→Lex识别到AnalyzeImageIntent并提取槽位→触发Lambda执行分析→Lambda将分析结果返回给Lex→Lex用自然语言回复用户。

额外注意事项

  • 注意S3桶的权限配置,避免不必要的公开访问;用预签名URL可以让前端临时获得上传权限,不用给桶设置公开写入。
  • 如果不想用S3,也可以把图片转成Base64编码,通过Lex的会话属性(session attributes)传递给Lambda,但要注意Lex的请求 payload 大小限制(Lex v2最大为10MB),太大的图片编码后可能超出限制。
  • 如果你使用的是Lex v2版本,记得在意图的 fulfillment 配置中选择正确的Lambda函数,并确认触发方式为“Fulfillment is required”。

内容的提问来源于stack exchange,提问作者user7889181

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:48:51