Amplify部署Lambda遇Runtime.ImportModuleError:无法导入index模块
问题描述
在Amplify创建的项目中,执行amplify push部署Lambda后,运行Lambda2时出现错误:[ERROR] Runtime.ImportModuleError: Unable to import module 'index'。
需求目标
在被另一个Lambda异步调用的Lambda2中使用LangChain,从Pinecone获取结果并返回给前端的问题提问。
操作步骤
- 通过
Amplify init创建Amplify项目 - 执行
Amplify add api创建API Gateway及关联的Lambda1 - 执行
Amplify add function创建异步Lambda2 - 执行
amplify push部署时,Lambda2出现上述导入错误
可能原因
pipenv未正确安装pinecone-client、langchain和requests包,注释掉这三个包后错误消失。
已尝试操作
使用pipenv install重新安装pinecone-client、langchain和requests。
参考代码
Lambda2源码
import json import os from dotenv import load_dotenv # 注释以下代码则错误消失 # ------------------------------------------------------------------------------- import pinecone from langchain.document_loaders import PyPDFLoader from langchain.embeddings.openai import OpenAIEmbeddings from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.vectorstores import Pinecone from langchain.llms import OpenAI from langchain.chains.question_answering import load_qa_chain import requests # ------------------------------------------------------------------------------- # 以下代码省略
Lambda2 Pipfile
[[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] [packages] src = {editable = true, path = "./src"} langchain = "*" flake8 = "*" black = "*" isort = "*" pytest = "*" mypy = "*" nox = "*" pre-commit = "*" openai = "*" pypdf = "*" pinecone-client = "*" tiktoken = "*" load-dotenv = "*" requests = "*" [requires] python_version = "3.8"
环境信息
- OS:MacOS Monterey 12.6.7
- amplify:12.2.2
- Python:3.8.16
- pipenv:2023.7.23
内容的提问来源于stack exchange,提问作者Tsubasa Omi
相关产品推荐
相关产品推荐

