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

在AWS Lambda中运行OpenAI和LangChain遇依赖加载问题求助

解决AWS Lambda层构建的pydantic-core及Python3.10安装问题

一、pydantic-core加载失败的核心原因

Mac的ARM架构与Lambda使用的x86_64 Amazon Linux环境不兼容,直接在Mac本地用pip安装的依赖包含ARM架构的二进制文件,上传到Lambda后无法适配运行,单独额外安装pydantic-core也无效,因为安装的依然是Mac架构的包。

二、用Docker构建Lambda兼容层(解决Python3.10安装失败)

Lambda运行时的Amazon Linux 2镜像自带Python3.10,无需手动安装,直接基于官方镜像构建即可:

  • 拉取Lambda兼容的Amazon Linux 2镜像:
    docker pull amazonlinux:2
    
  • 启动容器并挂载本地目录:
    docker run -it -v "$PWD:/build" amazonlinux:2 /bin/bash
    
  • 在容器内安装依赖工具(镜像自带Python3.10,只需补装pip和打包工具):
    yum install -y python3-pip zip
    
  • 创建Lambda层要求的目录结构,安装所需库:
    mkdir -p /build/python/lib/python3.10/site-packages
    pip3 install openai langchain pydantic-core -t /build/python/lib/python3.10/site-packages
    
  • 退出容器后,在本地目录打包层:
    cd /build
    zip -r langchain-openai-layer.zip python/
    
  • 将生成的langchain-openai-layer.zip上传到Lambda层即可。

三、简化方案:用AWS SAM CLI自动构建层

如果Docker操作繁琐,可以用AWS SAM CLI自动在Lambda兼容环境中构建层:

  • 安装AWS SAM CLI后,创建template.yaml定义层:
    AWSTemplateFormatVersion: '2010-09-09'
    Transform: AWS::Serverless-2016-10-31
    Resources:
      LangChainOpenAILayer:
        Type: AWS::Serverless::LayerVersion
        Properties:
          ContentUri: layer/
          CompatibleRuntimes:
            - python3.10
        Metadata:
          BuildMethod: python3.10
    
  • 在layer/目录下创建requirements.txt,写入依赖:
    openai
    langchain
    
  • 运行sam build命令,构建后的层会生成在.aws-sam/build/目录下,直接打包上传即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 23:14:51