庫貝還是假的
1.0.0
Python
新專案管理
碼頭工人
AWS SAM CLI
brew install aws/tap/aws-sam-cli
npm install
此儲存庫包含本機執行 AWS Lambda 以及使用 CloudFormation 範本將其部署到 AWS 所需的檔案。
在template.yml
中,提供環境變數OPENAI_API_KEY
和OPENAI_MODEL_NAME
的值。
為openai
Python 套件建立本機 Lambda 層:
pip install -r requirements.txt -t libs/python
Lambda 可以使用sam
在本地運行:
sam local start-api
此命令啟動在localhost:3000
中執行的伺服器。命令輸出應如下圖所示:
Mounting GenerateKubernetesTermFunction at http://127.0.0.1:3000/generate [GET]
You can now browse to the above endpoints to invoke your functions. You do not need to restart/reload SAM CLI while working on your functions, changes will be reflected instantly/automatically. If you used sam
build before running local commands, you will need to re-run sam build for the changes to be picked up. You only need to restart SAM CLI if you update your AWS SAM template
2023-07-20 11:58:51 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:3000
2023-07-20 11:58:51 Press CTRL+C to quit
當透過localhost:3000/generate
呼叫 Lambda 時,會顯示更多日誌:
Invoking lambda.lambda_handler (python3.10)
OpenAILambdaLayer is a local Layer in the template
Local image is up-to-date
Building image.....................
Using local image: samcli/lambda-python:3.10-x86_64-b22538ac72603f4028703c3d1.
Mounting kube-or-fake/lambda as /var/task:ro,delegated, inside runtime container
START RequestId: b1c733b3-8449-421b-ae6a-fe9ac2c86022 Version: $LATEST
END RequestId: b1c733b3-8449-421b-ae6a-fe9ac2c86022
REPORT RequestId: b1c733b3-8449-421b-ae6a-fe9ac2c86022
注意:可能會要求您提供本機電腦憑證,以允許sam
與本機 docker 守護程式互動。
Lambda 程式碼存在於lambda/lambda.py
中,其中lambda_handler
是處理程序。隨意探索吧!
請注意,Lambda docker 映像將在每次調用時構建,因此在更改 Lambda 程式碼時無需重新運行sam local start-api
(但對template.yml
的更改確實需要重新運行) 。
我們也使用sam
來做到這一點:
sam build
sam deploy
依照指令的輸出查看新 Lambda 的建立位置。
在scripts/words.js
中,將GENERATOR_URL
更改為http://127.0.0.1:3000/generate
(如果在本地運行)或您的遠端 Lambda URL。
在任何瀏覽器上開啟index.html
並開始播放。如果配置正確,您應該會看到 Lambda 呼叫(透過本機日誌或 CloudWatch)。