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

求助:在AWS Lambda中导入Langchain库失败的解决方法

解决AWS Lambda + Langchain导入错误:No module named 'pydantic_core._pydantic_core'

问题场景

使用Runtime: Python 3.11, Architecture: arm64的AWS Lambda构建聊天机器人,通过自定义层安装Langchain后,触发函数时CloudWatch日志报错:

[ERROR] Runtime.ImportModuleError: Unable to import module ‘ChatbotPO-master.trigger.trigger’: No module named ‘pydantic_core._pydantic_core’

解决方案

1. 确保层的构建环境与Lambda架构完全匹配

pydantic_core是二进制扩展包,依赖运行架构。如果在x86架构的本地机器直接pip安装,会下载x86版本的包,放到arm64的Lambda环境中无法识别,导致模块找不到。

推荐用Docker模拟Lambda的arm64环境构建层:

# 拉取AWS官方的arm64 Python3.11 Lambda镜像
docker pull public.ecr.aws/lambda/python:3.11-arm64

# 启动容器并挂载当前目录到容器内的/var/task路径
docker run -v "$(pwd)":/var/task public.ecr.aws/lambda/python:3.11-arm64 bash

# 在容器内部执行依赖安装
mkdir -p aws-layer/python/lib/python3.11/site-packages
pip install langchain --target aws-layer/python/lib/python3.11/site-packages --no-cache-dir

# 退出容器后打包层
exit
cd aws-layer
zip -r9 lambda-layer.zip .

2. 指定兼容的pydantic版本(可选)

部分新版pydantic的pydantic_core可能存在架构适配问题,可指定稳定兼容版本安装:
在容器内执行:

pip install langchain pydantic==2.5.2 pydantic_core==2.14.5 --target aws-layer/python/lib/python3.11/site-packages --no-cache-dir

3. 验证层的内容结构

打包完成后,解压lambda-layer.zip检查python/lib/python3.11/site-packages目录下是否存在pydantic_core文件夹,且内部包含arm64架构的二进制文件(如.so后缀文件)。若缺失,说明安装过程未正确获取对应架构的依赖包,需重新构建。

4. 替换层配置

将重新构建的层上传到AWS Lambda,并确保函数已关联该层,再次测试函数执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:33:12