みなさん、こんばんは。サニービュー事業部の小寺です。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を試してみました。
色々なニュースにも取り上げられていますが、テンプレート作ってくれるのはとても便利ですね。