概要
前回 Openhermes をローカルに構築しました
今回は emacs の gptel を使って Openhermes と通信してみます
なお今回の記事はすでにローカルで Openhermes で起動している前提で話を進めます
環境
- macOS 15.3.2
- ollama 0.6.2
- Openhermes v2.5
- emacs 30.1
- gptel 0.9.8
gptel インストール
- M-x package-list-packages
- gptel -> i -> x
gptel 設定ファイル作成
- vim .emacs.d/site-lisp/llm/init.el
;; OPTIONAL configuration
(setq
gptel-model 'openhermes:latest
gptel-backend
(gptel-make-ollama
"Ollama"
:host "localhost:11434"
:stream t
:models '(openhermes:latest)))
動作確認
gptel
M-x gptel を実行すると Openhermes とやりとりするバッファを選択するので *Ollama*
バッファを選択します
すると ###
というプロンプトになるのでここに質問を入力します
質問を入力したら C-c RET で質問を送信できます
gptel-send
gptel-send は現在のカーソル位置より上部のテキストを送信します
また返答も現在のバッファにそのまま書き込まれます
gptel-rewrite
gptel-rewrite はリファクタなどに使えます
現在選択している部分を上書きしてくれる機能です
リファクタする際に一行ずつやリファクタする方法などを追加で送信することもできます
最後に
他にもいろいろ機能はありそうです
Tools モードを使うと特定のパスに設定ファイルを作成してくれるタスクをインタラクティブに生成することもできるようです
copilot-mode と混同しているとキーバインドが同じケースがあるので別の割当てをする必要がありそうです
copilot-mode はデフォルトで auto-complete のように自動で補完してくれます
gptel はデフォルトではそうでなく修正したい箇所や新規でコードを追加してい場合で質問して LLM 側に書いてもらう感じになります
おそらくどちらも同じ機能があるかなと思うので使い分けというよりかはどちらか一方を使い倒すほうがいいかなと思います
copilot は無料だと制限があるので無制限にかつ無料で使いたい場合には必然的に gptel になるかなと思います
ただ gptel は当然ですがローカルに LLM を動かす環境が必要になるのでそれなりのマシンスペックが要求される点に注意です
0 件のコメント:
コメントを投稿