【VSCode】拡張機能 GenieAIでGPT-4o miniを使う

:::note warn
2025年初頭、GitHub Copilotが無料で全ユーザーに解放されました。基本的にはそっち使えばいいと思うのでこの記事は不要だとは思いますが、備忘録として残しておきます。
:::


## はじめに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/9c95e2b2-e324-a936-2b1e-b2d31e89361a.png)


GitHub Copilotにサブスクしたくないけど**VSCode上で最新の生成AIが使いたいニッチな用途**に向けて書いています。~~19$/月は円安の現在高すぎる~~

### 今まで

VSCode上でChatGPT(正確にはOpenAIのAPI)を使用できる拡張機能**GenieAI**を使用しています。

### 問題点

VSCode上で直接呼び出せるのが激しく便利で使用していましたが、~~更新が最近(2024年5月)止まっています。~~

**2024年6月、半年ぶりにアップデートされました！**

https://github.com/ai-genie/chatgpt-vscode/releases/tag/v0.0.11

~~世間で話題の**GPT-4o**を使いたかったのですが拡張機能の設定からは選べない状態でした。~~
GenieAIがアップデートされたと思ったら今度はOpenAIがGPT-4o miniをリリースしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/fbf94839-f3fa-4df0-f525-ed28df88e8a4.png)


拡張機能のjsonを編集するので**自己責任**でお願いします。

### この記事でわかる・できること

- GenieAIでGPT-4o miniが使用できる


### この記事の対象者

- VSCodeでGenieAIを使える状態の人
- VSCodeでGPT-4o miniを使いたい人
- GitHub Copilotに課金したくない人


### 動作環境・使用するツールや言語

- VSCode v1.88.1
- Genie AI v0.0.11



## 結論
APIのModelに文字列を渡しているので使わないモデルの指定を編集して``GPT-4o-mini``を作り出せば良いです。

GenieAIがアップデートされるたびに本記事は不要になりますが、今後GPT-5などが出てきた場合を想定して、残しておきます。



**2024年7月、GPT-4o-miniがOpenAIからリリースされたのでminiを対象に記事を書き直しました！**



## 手順

### package.jsonの編集

`extentions`フォルダの`genieai.chatgpt-vscode-0.0.11`を開いてください。
`package.json`を開いてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/227aee3f-ea76-1f6b-8f72-731220dfb3f1.png)

`"genieai.openai.model"`の`gpt-4`のどれか使わないモデルを`gpt-4o-mini`に変更してください。

:::note warn

変更したモデルをメモしておいてください。

:::

### extention.jsの編集

`out`フォルダ内の`extension.js`を開いてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/83723bed-d349-4cb8-9d94-e7802fd2a9c0.png)

`var Q1`で検索し、先程`gpt-4o-mini`に変更したモデルをこちらも`gpt-4o-mini`に変更し、上書き保存してください。


これで変更完了です。

```js
var Q1={"gpt-4":{maxTokens:8192,version:"gpt-4",type:"chat"},"gpt-4o":{maxTokens:8192,version:"gpt-4",type:"chat"},"gpt-4-32k":{maxTokens:32768,version:"gpt-4",type:"chat"},"gpt-4-0613":{maxTokens:8192,version:"gpt-4",type:"chat"},"gpt-4-32k-0613":{maxTokens:32768,version:"gpt-4",type:"chat"},"gpt-3.5-turbo-1106":{maxTokens:4096,version:"gpt-3.5",type:"chat"},"gpt-3.5-turbo":{maxTokens:4096,version:"gpt-3.5",type:"chat"},"gpt-3.5-turbo-16k":{maxTokens:4096,version:"gpt-3.5",type:"chat"},"gpt-3.5-turbo-instruct":{maxTokens:4096,version:"gpt-3.5",type:"chat"},"text-davinci-003":{maxTokens:4096,version:"gpt-3.5",type:"text"},"text-davinci-002":{maxTokens:4096,version:"gpt-3.5",type:"text"},"text-curie-001":{maxTokens:2048,version:"gpt-3",type:"text"},"text-babbage-001":{maxTokens:2048,version:"gpt-3",type:"text"},"text-ada-001":{maxTokens:2048,version:"gpt-3",type:"text"},"code-davinci-002":{maxTokens:8001,version:"gpt-3.5",type:"codex"},"code-cushman-002":{maxTokens:2048,version:"gpt-3",type:"codex"}},lo="gpt-4-1106-preview";var r0=Ra(uo(),1);var
```

### VSCode上で再起動

`Ctrl+Shift+X`→GenieAI拡張機能→無効→拡張機能の再起動→有効にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/36a584be-d8e3-8a08-df51-b0752d426310.png)

拡張機能の設定→Genieai>Openai: Modelに`gpt-4o-mini`が表示されているはずです。(画像は4o)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/7f641350-9146-c650-a921-6220b99555c1.png)

### 確認

反映されているようです。OpenAIのUsageを確認しておけば確実です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3755504/81449575-05b9-af16-01dd-3ba2ab1da0e1.png)


## 参考資料
https://github.com/ai-genie/chatgpt-vscode/issues/167


## おわりに
GPT-4oではGPT3に比べ賢く、GPT-4-Turboに比べて安く済んでいい感じです。

**追記**
体感ではGPT-4 Turboに比べて課金額半額、スピード2倍になりました。

**さらに追記**
GPT-4o-miniはGPT-4oより更に速くなりました。少し賢くないですが安いので好み次第かと思います。