注意
この環境でのモデルの精度やパフォーマンスはPCのスペックに依存します。
モデルに対してスペックが不足している状態で利用すると、回答が全く返ってこないなどの事象が当然のように発生するため、自分のPCのスペックに合わせてモデルを選んでください。
初めに
皆さんGitHub Copilot使っていますか?
筆者はGitHub Copilotをコーディングの補助などでかなり利用しています。
今となっては、なしの生活に戻れる気がしない・・・
とはいっても、実際に利用しようとすると、制限のあるFreeプランを使うか、課金するかの2択になってしまいます。
そうなると、制限におびえながら使うのもなんだかなぁと思っていたところ、ContinueというGitHub Copilotのように、コードの作成などを補助する拡張機能で、ローカルLLMのOllamaが使えることを知りました。
ということで、今回はOllamaとContinueを使って、devcontainerを利用するためのテンプレートを作ってみました。
今回のテンプレートの構成
今回は、docker-composeをdevcontainerで開いていく形で作っています。
使い方
テンプレートを入手
以下のGit Hubからプレートを入手。(クローンしていただければ問題ないです)
https://github.com/togra1997/llm_dev_template
入手したフォルダをVscodeで開く
Vscodeで入手したフォルダを開いてください。
開いた際に、コンテナで再度開くという表示が出るのでクリックするとDev Containerが開きます。
ollamaで使用するモデルのダウンロード
初回のみOllamaで利用するモデルをダウンロードします。
Ollamaのコンテナにアタッチ(VscodeだとAttach Shell)して以下のコマンドを入力します。
この際、HugginfaceにあるモデルGGUFも使えます。
# Ollamaにあるモデルを使う
ollama run 動かしたいモデル
## Hugging faceを使う場合
ollama run hf.co/{ユーザー名}/{リポジトリ}
Dev ContainerでContinueを利用する
モデルをダウンロードするとDev Container内のContinueでダウンロードしたモデルを使うことができます。
あとは、チャットボックスを使ってContinueを利用しましょう!
GPUを利用する場合
以下のページを参考にGPUを使えるようにした上で、dockercompose.yamlにあるコメントアウトを解除してください。
https://hub.docker.com/r/ollama/ollama
参考文献