ラベル ollama の投稿を表示しています。 すべての投稿を表示
ラベル ollama の投稿を表示しています。 すべての投稿を表示

2026年2月3日火曜日

VSCode + Continue でエージェント開発をする

VSCode + Continue でエージェント開発をする

概要

前回 VSCode + copilot + ollama でローカル開発する方法を紹介しました
Ask モードしか使えないのが残念でした
今回は VSCode + continue + ollama で Agent 開発してみます

環境

  • M2 mac mini macOS 26.2
    • ollama 0.14.3
    • codegemma 7b
    • llama3.1 8b
  • VSCode 1.108.2

Continue のインストール

VSCode の拡張一覧から「continue」で検索しインストールすれば OK です

https://github.com/continuedev/continue

Continue の設定

  • 左メニューから Continue のアイコンを選択
  • 右上の歯車マークを選択
  • Configs
  • Local Config の歯車マークを選択
  • YAML を以下のように編集 (IP部分は適宜変更)
name: Local Config
version: 1.0.0
schema: v1
models:
  - name: codegemma
    provider: ollama
    model: codegemma:latest
    apiBase: http://192.168.1.65:11434
    roles:
      - chat
      - edit
      - apply
      - autocomplete

動作確認

あとは Continue のチャット画面に移動しチャットすれば OK です
「Agent」になっておりかつ先程設定したモデルが選択されていることを確認してからチャットしましょう

M2 mac mini 上では特にストレスなくレスポンスが返ってきました

トラブルシューティング: Agent モードが使えない

「Agent might not work well with this model」という警告が出ている場合は Agent モードが使えません

codegemma は tools に対応しているモデルではないようです
https://ollama.com/library/codegemma に「Tools」というタグが付与されていないと Agent モードは使えません

なのでモデルを変更しましょう
ただ Tools が使えるモデルは比較的大きめなのでマシンスペックが必要になるので注意しましょう

公式のおすすめモデルは https://docs.continue.dev/ide-extensions/agent/model-setup です

  • ollama run llama3.2
name: Local Config
version: 1.0.0
schema: v1
models:
  - name: llama3.2
    provider: ollama
    model: llama3.2:latest
    apiBase: http://192.168.1.65:11434
    roles:
      - chat
      - edit
      - apply
      - autocomplete
    capabilities: 
     - tool_use
     - image_input

最後に

コンテキストの渡し方 (現在選択中のファイルや別のファイル) を送信する方法などは copilot chat プラグインとは少し違うので注意しましょう

また ollama を使う場合エージェントモードが使えるモデルと使えないモデルがあり使えるモデルはそれなりの大きさのモデルが必要になるようです

gemma3 などは使えませんでした
この辺り最適なモデルの選択などは続けていきたいです

エージェントモードで動かすと回答の処理や Continue の挙動がおかしくなるのでその場合は素直に Chat モードを使いましょう

参考サイト

2026年2月2日月曜日

VSCode で copilot の無料プランの上限が来たらローカル LLM を使おう

VSCode で copilot の無料プランの上限が来たらローカル LLM を使おう

概要

ollama を使います

環境

  • M2 mac mini macOS 26.2
    • ollama 0.14.3
    • codegemma 7b
  • VSCode 1.108.2

ollama の起動

インストールはこちら

LISTEN ポートを公開する場合はこちら

モデルのダウンロード

  • ollama pull codegemma

ollama run はしなくて OK です
API でモデルを指定して呼び出すだけなのでインタラクティブモードで放置しておかないで大丈夫です

VSCode の設定

ollama のエンドポイントを指定します
json は以下

{
  "github.copilot.chat.byok.ollamaEndpoint": "http://192.168.1.65:11434"
}

ここで一度 VSCode を再起動することをおすすめします

copilot 設定

  • 右ペインのチャットにある「Auto」から「Manage Models」を選択
  • 一覧に Ollama 上の codegemma モデルが表示されることを確認
  • 目のマークがあるのでクリックして有効にする

使用するモデルの選択

「Auto」ではなく追加したモデルを選択しましょう

Agent モードは使えない

copilot chat のプラグインにある「Agent」は使えないので「Ask」に切り替えましょう

動作確認

あとはいつも通りソースコードなどを選択して質問しれば回答してくれます

マシンスペックにもよりますが M2 mac mini + codegemma:7b で質問したらすぐにレスポンスが返ってきました

最後に

copilot + ollama を試してみました
Agent モードが使えないのは辛いです
次回は copilot + Continue を試してみます

参考サイト

2025年8月20日水曜日

macOS 上の ollama を 0.0.0.0 で LISTEN する方法

macOS 上の ollama を 0.0.0.0 で LISTEN する方法

概要

plist を編集します

環境

  • macOS 15.6
  • ollama 0.11.4

環境変数を設定する

OLLAMA_HOST と OLLAMA_ORIGINS を追加します

  • vim /opt/homebrew/opt/ollama/homebrew.mxcl.ollama.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>EnvironmentVariables</key>
        <dict>
                <key>OLLAMA_FLASH_ATTENTION</key>
                <string>1</string>
                <key>OLLAMA_KV_CACHE_TYPE</key>
                <string>q8_0</string>
                <key>OLLAMA_HOST</key>
                <string>0.0.0.0</string>
                <key>OLLAMA_ORIGINS</key>
                <string>192.168.*</string>
        </dict>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>homebrew.mxcl.ollama</string>
        <key>LimitLoadToSessionType</key>
        <array>
                <string>Aqua</string>
                <string>Background</string>
                <string>LoginWindow</string>
                <string>StandardIO</string>
                <string>System</string>
        </array>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/homebrew/opt/ollama/bin/ollama</string>
                <string>serve</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/opt/homebrew/var/log/ollama.log</string>
        <key>StandardOutPath</key>
        <string>/opt/homebrew/var/log/ollama.log</string>
        <key>WorkingDirectory</key>
        <string>/opt/homebrew/var</string>
</dict>
</plist>

動作確認

  • brew services restart ollama
  • ollama run gemma3

最後に

基本認証はないので外部からはアクセスできないようにしておきましょう

参考サイト

2025年4月27日日曜日

ollama で huggingface にあるモデルを動かす方法

ollama で huggingface にあるモデルを動かす方法

概要

GGUF 形式のモデルであれば ollama run で直接使えるようです
自分で Modelfile などを用意してビルドする必要はないようです

環境

  • macOS 15.4.1
  • ollama 0.6.6

コマンド

  • ollama run hf.co/elyza/Llama-3-ELYZA-JP-8B-GGUF

quantization (量子化) 情報を指定したい場合はタグとして指定します

  • ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF:IQ3_M

最後に

簡単にモデルの切り替えができるので便利です

参考サイト

2025年3月28日金曜日

emacs で gptel を使ってローカルで起動した ollama と接続してみる

emacs で gptel を使ってローカルで起動した ollama と接続してみる

概要

前回 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 を動かす環境が必要になるのでそれなりのマシンスペックが要求される点に注意です

参考サイト

2025年3月27日木曜日

M2 Pro Mac mini で Openhermes を動かす

M2 Pro Mac mini で Openhermes を動かす

概要

Ollama を使ってローカルで動かします

環境

  • macOS 15.3.2
  • ollama 0.6.2
  • Openhermes v2.5

ollama インストール

  • brew install ollama

ollama 起動

  • ollama services run ollama

Openhermes 起動

  • ollama run openhermes

この時点でインタラクティブモードになり質問することもできます

Open-WebUI 起動

  • docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

動作確認

localhost:3000 にアクセスすると UI を経由して Openhermes を使うことができます

最後に

精度はそこそこと言った感じです
軽量で日本語にも対応してるのでローカルで動かす LLM としては十分かもしれません
ただそこまで回答に期待はしないほうがいいかもです

参考サイト