【導入編】ChatGPT - Genie AI を使って実装を楽にする話

# はじめに

### この記事の目的

ChatGPT - Genie AI を利用した開発効率アップをテーマに、この記事ではその導入手順について説明します。
導入後、どのように利用するかは実践編として投稿予定なのでしばらくお待ちください。


### どういう人が対象？

ChatGPT - Genie AI はvsCodeの拡張機能なので、vsCodeを使って開発をしている人が対象です。
また、詳細は後述しますがこのサービスは有料なので、無料でAIを利用したい人はブラウザ上でChatGPTに質問した方がよいかもしれません。


### ChatGPT - Genie AI とは？

とりあえず公式ページを👇

https://marketplace.visualstudio.com/items?itemName=genieai.chatgpt-vscode

ChatGPT - Genie AI を一言で言えば、「vsCode上でAIに会話ベースで相談したり、マウス操作でコーディングにまつわる検証をやってくれたりと、開発に関わることを **けっこうなんでも** 手助けしてくれる拡張機能」です。

コーディングとプログラミングに関する質問や相談に特化しているようなので、それらに関してはブラウザ版のchatGPTよりも精度が高いみたいです。



# 料金体系

ChatGPT-API と同様、トークンと呼ばれる単位で請求されます。
利用するモデルによってトークンあたりの金額は異なりますが、API経由で通信した文章量に比例して料金が決まります。
以下は ChatGPT - Genie AI で利用できるモデルの料金です。(2024/2/25時点)

| モデル | input | output |
|:-:|:-:|:-:|
| gpt-4-0125-preview | $0.01 / 1K tokens | $0.03 / 1K tokens |
| gpt-3.5-turbo-0125 | $0.0005 / 1K tokens | $0.0015 / 1K tokens |

英語の場合、1単語あたりだいたい1トークン(公式には1,000トークンあたり約750単語と記載あり）ですが、日本語だと1文字に1トークン以上使ってしまうため、英語よりも使用料が上がる点に注意が必要です。

また、モデルのバージョンや料金は都度更新されます。
最新の料金体系は [OpenAI の公式サイト](https://openai.com/pricing) をご覧ください。



# 導入方法

### 手順の全体像

1. vsCode上で拡張機能をインストール
1. OpenAIのアカウント設定を済ます
1. OpenAIにてAPIキーを発行
1. vsCode上でAPIキーの登録
1. モデルをgpt-3.5-turboに変更する


### 1. vsCode上で拡張機能をインストール

以下の手順でChatGPT - Genie AIをインストールします。

- 左サイドバーの拡張機能を押下
- 検索バーで「ChatGPT - Genie AI」と検索
- 検索結果一番上の ChatGPT - Genie AI をインストール

![スクリーンショット 2024-02-25 15.52.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/031436f9-9488-903b-17f7-be404111989a.png)

インストールが完了すると左サイドバーの下に ~~思わず擦りたくなるような~~ ランプアイコンが表示されるので、念の為vsCodeを再起動してからアイコンを押下しましょう。
表示された画面で、ChatGPT - Genie AI が利用できます。

![スクリーンショット 2024-02-25 16.03.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/89739fb0-30ba-bd17-357d-69c1d655184e.png)

早速使ってみましょう！
下記のように入力エリアに質問内容を記述して送信してみると。。

![スクリーンショット 2024-02-25 16.40.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/fce5b2fa-636c-5c50-69cd-4daa7ad74563.png)

![スクリーンショット 2024-02-25 16.43.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/73cc7567-5a3a-1e76-4c1c-7fd7c45b17a4.png)

画面上部に、OpenAIから発行されたAPIキーを登録する必要がある旨のメッセージが出力されました。
実際にサービスを利用するためには、メッセージ通りの手順を踏む必要があるようです。


### 2. OpneAIのアカウント設定を済ます

APIキーを発行する前に、OpenAIのアカウント設定をします。
まずは[OpenAI のホームページ](https://openai.com/)を開いて右上の「Log in」からログインします。

アカウントを持っていない場合はログイン画面の「サインアップ」リンクから作成しましょう。

![スクリーンショット 2024-02-25 16.59.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/31beed50-ce4f-7e64-b8a9-bec6dae2b36f.png)

![スクリーンショット 2024-02-25 17.00.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/ea7aab7d-e827-cf89-141d-e350b93931db.png)

ログインできたら、「API」を選択します。

![スクリーンショット 2024-02-25 17.04.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/c5437281-ba18-7aa6-7d0e-f7207305e2df.png)

次に、支払い方法の登録をします。
サイドバーにて「Settings」→「Billing」の順で押下します。

![スクリーンショット 2024-02-25 17.18.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/80eb3948-03cd-44a9-e9a0-ffad9783918f.png)

Billing settings画面で、支払い方法の設定をしましょう。
※下キャプチャは「Start billing plan again」となっていますが、初期は「Set up paid account」だった気がします。(うろ覚え・・)

![スクリーンショット 2024-02-25 17.19.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/d63ac5fd-c59f-7270-549f-bd6f358a2060.png)

以上の支払い方法の設定が完了したら、アカウント設定は完了です。



### 3. OpenAIにてAPIキーを発行

ここからはいよいよAPIキーを発行していきます。

OpenAIの左サイドバーから、「API Keys」を選択します。

![スクリーンショット 2024-02-25 17.06.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/02c70e22-11cc-28ef-9401-a76a60e73b29.png)

「Create new secret key」を押下します。

![スクリーンショット 2024-02-25 17.45.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/27d5c670-b71e-5bf9-4faf-02ae38f4b6c5.png)

オーバーレイが表示されるので、任意の文字列を入力してキーを作成します。
※生成されたキーは最初の一度しか表示されないので、ローカルにコピーしておいてください

![スクリーンショット 2024-02-25 17.49.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/1a8ed4ee-ecac-6a1e-8354-449666e5075f.png)

以下のようにAPIキーが追加されていることを確認できたらOKです。

![スクリーンショット 2024-02-25 17.51.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/4be28b3e-b551-f524-d739-16f87b1c57f4.png)


### 4. vsCode上でAPIキーの登録

さて、それではvsCodeに戻って先ほど生成したAPIキーを登録しましょう。

![スクリーンショット 2024-02-25 17.59.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/dd49a114-bf91-f913-ee66-d39d50ecb545.png)

すると、以下のように回答を得ることができました。

![スクリーンショット 2024-02-25 18.03.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/3c8a61ed-6b07-9c48-8513-106b92311369.png)

※私の環境では1回目の回答だけ、1文字ごとに文章が生成されていました。。
調べてみてもこの事象が発生した事案すら確認できず、また2回目以降は問題なく文章が生成されたので、もし同事象が発生しましたら再度文章生成を試してみてください。


### 5. モデルをgpt-3.5-turboに変更する

デフォルトではgpt-4-1106-previewのようです。(2024/2/25時点)
今回はお試しなので、モデルをgpt-3.5-turboに変更しておきましょう。

歯車アイコンから設定を開き、Modelにてgpt-3.5-turboに変更します。

![スクリーンショット 2024-02-25 18.50.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/7f988a89-6e37-7dc5-5b76-d395c82ce9f7.png)

![スクリーンショット 2024-02-25 18.58.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/aa14e819-8320-2ea9-1348-78efc28b7182.png)

以上で ChatGPT - Genie AI の導入は完了です。
お疲れ様でした！


# 簡単な機能説明

具体的な機能説明は【実践編】で行う予定なので、この記事では概要だけさらっと確認しておきます。

### GENIE: CONVERSATION VIEW

導入手順でも触れましたが、まずはChatGPTのようにAIと会話形式で質問ができる機能をおさらいします。
vsCodeの左サイドバーに表示されているランプアイコンを押下した際、最初に表示される画面でGenieに質問等を投げかけることができます。

![スクリーンショット 2024-02-25 20.01.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/b0db9f64-91b1-9622-be97-db7eb7098bf9.png)


### GENIE: EDITOR VIEW

続いて、記載した条件のソースコードを直接アウトプットしてくれるEditor View機能の紹介です。

下キャプチャの赤枠を押下すると EDITOR VIEW 画面が表示されます。

![スクリーンショット 2024-02-25 20.08.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/c8f479a7-fc57-5529-7d07-8646c8a09f26.png)

入力エリアに実装したい内容を記述の上、「Ask」ボタンを押下すると条件に沿ってGenieがソースコードを出力してくれます。

![スクリーンショット 2024-02-25 20.09.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3581713/729f047b-462b-97d0-2a88-a9db129410bc.png)

また、入力エリアの下には Shortcuts があります。
これらを利用することで、バグを見つけたり、ソースコードの最適化を行なってくれたりします。

文章すら作成する必要がないのはとても便利ですね。

#### ※注意
2024/2/25時点で、EDITOR VIEW 機能が利用できないバグが発生しているようです。
どうしようもないので、修正を待ちましょう。。
▽ GitHub issues
https://github.com/ai-genie/chatgpt-vscode/issues/150
https://github.com/ai-genie/chatgpt-vscode/issues/155



# 締め

ChatGPT - Genie AI の導入編は以上になります。
EDITOR VIEWが現状使えないのは残念ですが、こればっかりは仕方ないですね。

続編の実践編は、EDITOR VIEWが手元で確認できる環境になったら記事を作成して投稿したいと思います。
早く修正してくれるとよいのですが。。