提问人:dinesh mane 提问时间:11/15/2023 最后编辑:gshpychkadinesh mane 更新时间:11/17/2023 访问量:32
当我通过 AWS CDK 创建 lambda 层时,Langchain 给了我 NUMPY 导入错误
Langchain is giving me NUMPY import error when I am creating a lambda layer via AWS CDK
问:
我正在使用 MAC M1 并通过 AWS CDK python 创建容器映像
层:
langchain_lambda_layer = _alambda.PythonLayerVersion(
self,
"langchain-lambda-layer",
entry="./aws_bedrock_langchain_python_cdk/lambda/layer/langchain_latest/",
compatible_runtimes=[_lambda.Runtime.PYTHON_3_11],
)
要求.txt
langchain==0.0.315
boto3
botocore
Lambda:
langchain_bedrock_example_lambda = _lambda.Function(
self,
"langchain-bedrock-example-lambda",
handler="index.lambda_handler",
code=_lambda.Code.from_asset(
"./aws_bedrock_langchain_python_cdk/lambda/code/langchain_example/"
),
runtime=_lambda.Runtime.PYTHON_3_11,
architecture=_lambda.Architecture.ARM_64,
role=lambda_role,
layers=[langchain_lambda_layer],
timeout=Duration.seconds(300),
memory_size=1024,
)
Lambda 代码:
from langchain.prompts import PromptTemplate
from langchain.llms import Bedrock
from langchain.chains import LLMChain
def lambda_handler(event, context):
case_study = "Machine Learning engineer" ## Software Developer, Web developer, Husband hahaha
claude = Bedrock(
model_id="anthropic.claude-v1",
)
claude.model_kwargs = {'temperature': 0.3, 'max_tokens_to_sample': 4096}
template = """
Human: How to be a good {case_study}? \n Assistant:
"""
prompt_template = PromptTemplate(
input_variables=["case_study"],
template=template
)
llm_chain = LLMChain(
llm=claude, verbose=True, prompt=prompt_template
)
results = llm_chain(case_study)
print(results["text"])
return {
'statusCode': 200,
'case_results': results["text"]
}
出现以下错误:
**{
"errorMessage": "Unable to import module 'index': Error importing numpy: you should not try to import numpy from\n its source directory; please exit the numpy source tree, and relaunch\n your python interpreter from there.",
"errorType": "Runtime.ImportModuleError",
"requestId": "977004a7-f205-481a-8b53-7a4b5bf48d2b",
"stackTrace": []
}**
此代码在本地执行得非常好。任何帮助将不胜感激?
我尝试提供不同版本的 boto3、botocore 和 langchain,但没有奏效。销毁堆栈并重新创建它。
答:
0赞
dinesh mane
11/17/2023
#1
在配置 lambda 层时,我注意到缺少该参数。容器映像似乎是使用我的本地计算机的架构生成的,导致 Lambda 运行时架构出现故障。在包括兼容的架构(特别是 ARM_64 或 X86_64)后,这两种配置都被证明是成功的!Github链接compatible_architectures
langchain_lambda_layer = _alambda.PythonLayerVersion(self,
‘langchain-lambda-layer’,
entry = ‘./aws_bedrock_langchain_python_cdk/lambda/layer/langchain_latest/’,
compatible_architectures=[_lambda.Architecture.ARM_64],
compatible_runtimes=[_lambda.Runtime.PYTHON_3_11 ], )
评论