またAI関連です。
VSCODEで開発している人には必須の拡張機能ではないでしょうか。
「Genie AI」。
何が出来るのかと言うと、、
はい、もちろんです。私はGenieと呼ばれることができる人工知能アシスタントです。以下は私が提供できるいくつかの機能の例です。
- プログラミングに関する質問に答える(Python、Java、JavaScript、C#など)
- アルゴリズムやデータ構造に関する質問に答える
- コードレビューを行い、コードの改善点を提供する
- Web開発、モバイルアプリ開発、データ分析、人工知能など、ITに関連する多くのトピックをカバーするアドバイスを提供する
- 日常生活でのさまざまな問題に対処するための一般的なアドバイスを提供する
上記は、私が提供できる機能のごく一部に過ぎません。私の目的は、あなたがITに関する問題を抱えたときにお役立ちすることです。何か他に必要なことがあれば、お気軽にお尋ねください。
って、自己紹介してくれました。
ちなみに、ChatGPTだとこんな感じ。Genieの方がスピード速いな。。。。
こんにちは!私はChatGPTと呼ばれるAIチャットボットです。私はOpenAIによって開発されたGPT-3.5アーキテクチャを基にしており、様々なタスクに対応する自然言語処理を行うことができます。
私ができることの例としては、文章の生成や要約、翻訳、質問応答、感情分析、文章の自動修正や文章の特定の主題に関する知識の提供などがあります。また、様々なトピックについて会話をすることもできます。
私の目的は、人々がより良い情報を得ることや、コミュニケーションを円滑にすることです。どんな質問でもお答えしますので、お気軽にお尋ねください!
- インストール方法
- 設定
- Personalized Name(パーソナルネーム)
- Enable Conversation History(会話の履歴)
- Openai:Model(言語モデル)
- Openai:Temperature(サンプリング温度)
- Openai: Max Tokens(最大トークン)
- Openai:Top_p(よくわからん)
- Openai:Api ase Url、Organization
- Openai: Generate Code-enabled(コード生成)
- Prompt Prefix: Add TestsPrompt Prefix: Add Tests-enabledPrompt Prefix: Find ProblemsPrompt Prefix: Find Problems-enabledPrompt Prefix: OptimizePrompt Prefix: Optimize-enabledPrompt Prefix: Explain
- カスタムプロンプト
- Genieai › Prompt Prefix: Adhoc-enabled(わからん)
- Genieai › Response: Show Notification(お知らせを表示する)
- Genieai › Response: Auto Scroll(オートスクロール)
- Genieai › Telemetry: Disable(テレメトリー無効化。よくわからん)
- 使い方(チャット)
- 最後に
インストール方法
拡張機能から「genie ai」で検索し、「インストール」
インストール完了。
設定
設定画面より、「genie」で検索してください
Personalized Name(パーソナルネーム)
AIチャットの名前を変更できます。好きな人の名前にしてみるとか?
Enable Conversation History(会話の履歴)
会話は、ディスク上のVS Code Extensionのグローバルストレージに保存されます。会話ファイルはいつでも削除することができます。この機能を有効にすると、会話はディスクに保存されるようになります。会話ウィンドウの上部ツールバーで、過去の会話を確認することができます。
但し、この機能は実験的なものであり、期待通りに動作しない可能性があり、将来的にオフになる可能性があることをご了承ください、とのこと。
Openai:Model(言語モデル)
GPT-4にしてみてチャットしてみたところ以下のエラーとなりました
現時点ではGPT-4は有償契約ユーザーしか使えないのもあるので、そのあたりのエラーなんでしょうね。ま、今はデフォルトの「gpt-3.5-turbo」でOK
Openai:Temperature(サンプリング温度)
どのようなサンプリング温度を使用するか。値が高いほど、モデルはよりリスクを負うことになります。より創造的なアプリケーションには0.9を、答えが明確なアプリケーションには0(argmax sampling)を試してみてください。
この値を変更するか、top_pを変更するか、両方を変更しないことが推奨されます。
0: より正確な答えを得る
0.5: よりバランスのとれた回答を得る
0.9: よりクリエイティブな回答を得る
Openai: Max Tokens(最大トークン)
補完で生成するトークンの最大数。
プロンプトのトークン数と max_tokens を足したものが、モデルのコンテキストの長さを超えることはありません。
Openai:Top_p(よくわからん)
温度によるサンプリングに代わるものとして、核サンプリングと呼ばれる、確率質量がtop_pのトークンの結果を考慮するモデルがある。つまり、0.1は上位10%の確率を持つトークンのみを考慮することを意味します。これか温度を変更することが推奨されますが、両方を変更することはできません
Openai:Api ase Url、Organization
面倒になってきた・・・・そのままで良いでしょう。
Openai: Generate Code-enabled(コード生成)
選択されたコメント/コードのCodex用コード生成コンテキストメニュー項目を有効にします。code-*モデルでのみ使用可能
モデルを「code~」にした場合にコンテキストメニューに「generate code」ってのが表示されるようになります。が、これも有償契約とかあるのかな?エラーで使えなかった。
Prompt Prefix: Add TestsPrompt Prefix: Add Tests-enabledPrompt Prefix: Find ProblemsPrompt Prefix: Find Problems-enabledPrompt Prefix: OptimizePrompt Prefix: Optimize-enabledPrompt Prefix: Explain
- Prompt Prefix: Add Tests(テスト追加)
選択したコードのテストを追加するために使用されるプロンプトのプレフィックス。
デフォルトの「Implement tests for the following code」だと回答が英語になるので
「以下のコードに対してテストを実施する」と日本語に書き換えておいた方が良いでしょう - Prompt Prefix: Add Tests-enabled(テスト追加を使用可能にするか)
コンテキストメニューで、選択したコードのテスト追加に使用するプロンプトプレフィックスを有効にする - Prompt Prefix: Find Problems(問題を発見する)
選択したコードの問題点を見つけるために使用するプロンプトプレフィックス
デフォルトの「Find problems with the following code」だと回答が英語になるので
「以下のコードで問題を見つける」と日本語に書き換えておいた方が良いでしょう - Prompt Prefix: Find Problems-enabled(問題を発見するを使用可能にするか)
コンテキストメニューで、選択したコードの問題を見つけるために使用するプロンプトプリフィックスを有効にする - Prompt Prefix: Optimize(最適化)
選択したコードを最適化するために使用するプロンプトプリフィックス
デフォルトの「Optimize the following code」だと回答が英語になるので
「次のコードを最適化します」と日本語に書き換えておいた方が良いでしょう - Prompt Prefix: Optimize-enabled(最適化を使用可能にするか)
選択したコードの最適化に使用するプロンプトプリフィックスをコンテキストメニューで使用できるようにする - Prompt Prefix: Explain(説明)
選択されたコードの説明に使用されるプロンプトプリフィックス
デフォルトの「Explain the following code」だと回答が英語になるので
「次のコードを説明してください」と日本語に書き換えておいた方が良いでしょう
- Genieai › Prompt Prefix: Explain-enabled(説明を使用可能にするか)
コンテキストメニューで、選択したコードの説明に使用するプロンプトプリフィックスを有効にする - Genieai › Prompt Prefix: Add Comments(コメント追加)
選択したコードにコメントを追加する際に使用するプロンプトプリフィックス
デフォルトの「Add comments for the following code」だと回答が英語になるので
「コメントを追加してください」と日本語に書き換えておいた方が良いでしょう - Genieai › Prompt Prefix: Add Comments-enabled(コメント追加を使用可能にするか)
コンテキストメニューで、選択したコードのコメントを追加する際に使用するプロンプトプレフィックスを有効にする - Genieai › Prompt Prefix: Complete Code(コード補完)
選択したコードを補完するために使用するプロンプトプリフィックス
デフォルトの「Complete the following code」だと回答が英語になるので
「次のコードを完成させてください」と日本語に書き換えておいた方が良いでしょう - Genieai › Prompt Prefix: Complete Code-enabled(コード補完を使用可能にするか)
選択したコードの補完に使用するプロンプトプリフィックスをコンテキストメニューで使用できるようにする
カスタムプロンプト
コンテキストメニューにオリジナルプロンプトを2個作ることができます
Genieai › Prompt Prefix: Adhoc-enabled(わからん)
選択したコードのアドホックコマンドに使用するプロンプトプリフィックスをコンテキストメニューで有効にする
Genieai › Response: Show Notification(お知らせを表示する)
ChatGPT botが問い合わせに応答した際に、通知を受け取るかどうかを選択します。
Genieai › Response: Auto Scroll(オートスクロール)
会話ウィンドウに新しい質問や回答が追加されると、拡張機能が自動的に一番下までスクロールします。この設定を無効にすることで、この動作を変更することができます。
Genieai › Telemetry: Disable(テレメトリー無効化。よくわからん)
テレメトリを無効にしたい場合に指定します。この拡張機能は、デフォルトのvs-codeのテレメトリー設定telemetry.telemetryLevelも尊重します。テレメトリーについては、両方の設定を確認します。重要:ユーザーデータは追跡されません。私たちはテレメトリーを使用して、何が使用され、何が使用されていないかを確認するだけです。これにより、エクステンションに何を追加、強化するかについて正確な決定を下すことができます。
使い方(チャット)
アラジンと魔法のランプ的なアイコン(Genie)をクリック
Ask a quiestionにテキストを入力するだけ
試しにやってみます。
回答してくれました。
【|→】(Genie: Export Conversation)をクリックすると、新規ファイル(Markdown形式)で表示されます。
日本語になってなかったので、「日本語に書き換えて」とお願いすれば、文句も言わず対応してくれます。
メニュー
左から、、、
- 新規チャット
- 履歴表示
- チャットウィンドウの内容を新規テキスト(markdown形式)で表示
- エディタービュー表示
- お知らせ表示
- 設定画面
エディタビュー
エディターで直接プロンプトに反応するようになる
🗨️ 会話を伴わないプロンプトを尋ね、コードのみの応答を受け取る。
最適な答えが見つかるまで、プロンプトを最適化し続けます。
☝️ トップツールバーから会話表示に切り替えます。
ℹ️ 現時点では、レスポンスがコードブロックであることを確認するために、デフォルトでtext-davinci-003を使用しています。
エディタービューで質問してみる
「javascriptで電話番号のバリデーションチェックのコード作って」を入力し「Ask」。
新規テキストにコードが表示されます
コードを貼り付けて「Add tests」を押下
テストコードが表示されます。
(が、コード全選択→コンテキストメニュー→Add testsとした方が早いですね)
“regex”を故意に”regexbug”にしてから「Find problems」を押下
“regexbug”は”regex”だろが!って指摘してくれました
コメントを追加
おっと・・コメントが英語ですね。
設定ファイルを変更しました。
はい、ちゃんと日本語でコメント追加されました
最適化
説明
最後に
VSCODEで開発中に、調べものをしたくてブラウザでChatGPT使って、またVSCODEに戻って、、、ってのが無くなりますね。うん、便利。
VSCODE使ってるからって開発に特化した質問じゃなきゃダメ!ってことでも当然ありません。