2026年6月1日月曜日

Dify で Ollama を使う

前提

  • OS: Windows 11 Pro 25H2 ビルド 26200.8457
  • WSL2: Ubuntu 24.04 LTS インストール済み
  • Docker: Docker version 29.4.0, build 9d7ad9f インストール済み
  • Dify を WSL2 上で動かす - mikoto2000 の日記 相当の環境構築が完了していること
  • Ollama インストール済みで、 http でアクセスできること

Ollama を Dify に登録

  1. Dify のワークスペース画面で、右上の自分のアイコンをクリックして、 設定 を選択
  2. 左のメニューから モデルプロバイダー を選択して、 Ollamaインストール をクリック
  3. Ollama の モデルを追加 をクリックし、以下の情報を入力(指定した項目以外は触っていない)
    • Model Name: qwen3.5:122b
    • Model Type: LLM
    • Base URL: http://localhost:11434
    • Completion mode: Chat
    • Vision support: Yes
  4. 追加 をクリック
  5. 右上の システムモデル設定 をクリックし、 システム推論モデルqwen3.5:122b を選択して、 保存 をクリック

以上。

Dify を WSL2 上で動かす

お仕事で使いそうなので、Dify を WSL2 上で動かしてみた。

前提

  • OS: Windows 11 Pro 25H2 ビルド 26200.8457
  • WSL2: Ubuntu 24.04 LTS インストール済み
  • Docker: Docker version 29.4.0, build 9d7ad9f インストール済み

インストールに必要なパッケージの取得

インストール時に jq コマンドを使用するため、以下のコマンドでインストールしておく。

sudo apt update
sudo apt install -y jq

リポジトリのクローン

Dify 最新リリースのタグを取得して、リポジトリをクローンする。

cd ~/project
git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git

Docker Compose で起動

.env ファイルの example をコピーして、 docker compose コマンドで起動する。

cd ~/project/dify/docker
cp .env.example .env
docker compose up -d

docker compose ps コマンドで、全てのコンテナが Up していることを確認する。

動作確認

http://localhost/install にアクセスして、管理者情報を入力。

管理者情報を入力すると、Dify のワークスペース画面に遷移する。

以後は http://localhost にアクセスすることで、Dify を利用できるようになる。

以上。

参考資料

2026年5月13日水曜日

Vim のステータスラインにカーソル下の文字コードを表示する

この記事はVim 駅伝の 2026-5-13 の記事です。 Vim 駅伝は常に参加者を募集しています。詳しくはこちらのページをご覧ください。


元々のステータスラインの設定が以下だとして、

set laststatus=2
set statusline=%<%f%h%m%r%y%=[%{&fenc!=''?&fenc:&enc}][%{&ff}][%l,%c%V]\ [%P]

文字コードの左隣にカーソル下の文字コードを表示するには、以下のように statusline を変更( %{CharCodeLabel()} を追加)したうえで、

set statusline=%<%f%h%m%r%y%=[%{CharCodeLabel()}][%{&fenc!=''?&fenc:&enc}][%{&ff}][%l,%c%V]\ [%P]

以下のような関数を定義すれば OK.

" カーソル下の文字の Unicode コードポイントを表示する関数
function! CharCodeLabel() abort
  " カーソル下の文字を取得
  let l:char = matchstr(getline('.'), '\%' . col('.') . 'c.')

  " 文字がない場合は空文字を返す
  if empty(l:char)
    return ''
  endif

  " 文字の Unicode コードポイントを取得
  let l:nr = char2nr(l:char)

  " コードポイントを U+XXXX 形式で返す
  return printf('U+%04X', l:nr)
endfunction

これで、 a の上にカーソルがあるときは U+0061 と表示されるようになる。

以上。