Кубе или Фейк? — это занимательная мини-игра, в которой цель игрока — правильно угадать, является ли слово, сгенерированное ChatGPT, настоящим термином Kubernetes или выдуманным.
Не забудьте поделиться своими результатами в LinkedIn/Twitter!
Питон
НПМ
Докер
Интерфейс командной строки AWS SAM
заварить установку aws/tap/aws-sam-cli
Форкнуть этот репозиторий
Установить зависимости
установка npm
Этот репозиторий содержит файлы, необходимые для локального запуска AWS Lambda и его развертывания на AWS с использованием шаблона CloudFormation.
В template.yml
укажите значения переменных среды OPENAI_API_KEY
и OPENAI_MODEL_NAME
.
Создайте локальный слой Lambda для пакета Python openai
:
pip install -r требования.txt -t libs/python
Lambda можно запустить локально с помощью sam
:
Сэм локальный 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
Когда Lambda вызывается через localhost:3000/generate
, отображаются еще несколько журналов:
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.py
, где lambda_handler
является обработчиком. Не стесняйтесь исследовать его!
Имейте в виду, что образ докера Lambda будет создаваться при каждом вызове, и поэтому нет необходимости повторно запускать sam local start-api
при внесении изменений в код Lambda (однако изменения в template.yml
требуют повторного запуска) .
Мы также делаем это, используя sam
:
Сэм Билд Сэм развертывает
Следуйте выводам команды, чтобы увидеть, где создается ваша новая Lambda.
В scripts/words.js
измените GENERATOR_URL
на http://127.0.0.1:3000/generate
(при локальном запуске) или на удаленный URL-адрес Lambda.
Откройте index.html
в любом браузере и начните играть. Если настроено правильно, вы должны увидеть вызовы Lambda (через локальные журналы или CloudWatch).