GitHub Copilot Chatにおいて、言語モデルが切り替えられるようになりました。これができるようになったのはいつかを振り返ると September 2024 (version 1.94)でした。そんな前か。
とはいえ、僕も含めて多くの人は、この機能を実際に利用し始めたのは最近のことだと思います。こちらのリリースで、o1 (Preview)やClaude 3.5 Sonnet (Preview)といったモデルが利用できるようになリマした。
Chat Extensionに取り込む
VS CodeのChat APIを利用したExtensionを"Chat Extension"と呼ぶのですが、今回のVS Code変更に伴い、Chat Extensionでもそれら言語モデルを利用できるようになりました。
A chat extension is a VS Code extension that uses the Chat extension API by contributing a Chat participant.
実際にこの変更をChat Extensionに取り込むにはどうすれば良いのか。
VS Codeの具体的な変更
これまで、VS Codeで言語モデルを設定するためには、selectChatModels(selector?: LanguageModelChatSelector): Thenable<LanguageModelChat[]>
を利用する必要がありました。
このAPIは今でも同様なのですが、VS Codeの1.95でChatRequest
にmodel
というプロパティが追加されました。
ChatRequest
はユーザがCopilot Chatにテキストを入力する都度、VS Code側のハンドラに渡されるリクエストを表現しています。つまり、逐一VS Code Extension側でモデルを切り替える必要はなく、ユーザが選択したモデルがリクエストに載ってやってくるというわけです。
対応方法
なので基本的には、これまでselectChatModels
で取得した言語モデルを使っていたところ、このChatRequest
に含まれるmodel
を利用するようにすれば良いです。単純ですね。