みなさん、こんばんは。サニービュー事業部の小寺です。EC2を起動するようにChat GPTを使ってみようとしたお話です。
Chat GPTって
AWSが提供しているサービスではありません。
世の中にたくさん情報があふれているので、本コラムでは省略しますが、ChatGPT とは、OpenAIが開発したGPT-3という大規模な言語モデルを組み込んだチャットアプリケーションサービスです。
チャット形式でWeb上のアプリケーションを利用できて、人間を相手にやりとりしているような会話が可能です。自然な会話?かどうかはとりあえずいったんおいておきます。
Chat GPTのアカウントを取得する
Chat GPTはAWSサービスではないので、OpenAPIの別途アカウントを取得し、利用する必要があります。
(1)こちらのURLにアクセスし、「Sign up」ボタンをクリックし、アカウントを作成する予定です。
(2)メールアドレスを入力します。
(3)氏名を入力します。
(4)認証用のコードのため電話番号を入力します。
(5)コードを入力後、以下の画面になります。
利用用途を選びます。
(6)以下の画面が表示されるようになります。
Chat GPTを使ってEC2を起動するCFテンプレートを作ってみる
こちらを参考に試してみました
(1)まずは、「Text to Command」を選びます。
(2)入力した内容に対して返答があるの、面白いです。
(3)サンプルを入力してみました。結果が表示されれます。
Write a CloudFormation Template that creates a new security group with ports 22 and 8501 open and that launches a g4dn.xlarge EC2 instance with name “chatgpt-demo” and with AMI ID ami-09f85944838b438c5. It should activate the pre-built pytorch environment and install the libraries “transformers” and “streamlit” via pip.
インスタンスタイプ「g4dn.xlarge」が無視されているのと、
pip installコマンドでの “transformers”と “streamlit” がなかった・・・。
(4)これで大丈夫か聞いてみます。すると、SGの内容が追加されてきました。
(5)なるほど・・。Instance Typeなども確認してみます。
ちゃんと追加されてきました。
完成系としては、以下の通りのテンプレートが生成されるとのことです。
AWSTemplateFormatVersion: '2010-09-09'
Description: A simple CloudFormation template for creating a security group and launching an EC2 instance
Resources:
SecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: chatgpt-demo-sg
GroupDescription: Security group for chatgpt-demo EC2 instance
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 8501
ToPort: 8501
CidrIp: 0.0.0.0/0
EC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: g4dn.xlarge
ImageId: ami-09f85944838b438c5
SecurityGroups:
- Ref: SecurityGroup
UserData:
'Fn::Base64': |
#!/bin/bash
# Activate the pre-built pytorch environment
source activate pytorch_p36
# Install the libraries "transformers" and "streamlit" via pip
pip install transformers streamlit
まとめ
今、流行りのChat GPTを試してみました。
色々なニュースにも取り上げられていますが、テンプレート作ってくれるのはとても便利ですね。