【Windows】ollamaを任意のディレクトリに展開する
- 掲載日
結論
コマンドプロンプトを起動し、以下のコマンドで展開します。
OllamaSetup.exe /DIR="d:/ollama"
※ OllamaSetup.exeは任意のexeを配置したパス名に変更すること。
※ "d:/ollama"は任意の展開したいパス名に変更すること。やりたかったこと
WindowsのPCでローカルLLM(ollamaを使用)を試すにあたって、自分のPC環境がCドライブとDドライブがあり、Cはあまり容量が無くDには余裕がありました。
モデルによっては数十GBとかあるので、余裕のあるDドライブに展開して実行やモデルの保存をしたかったのですが、exeを実行しただけだとCドライブに展開されてしまいました。
展開先を指定する場合、結論のように\DIR="[ここに展開したいパス]"オプションを付けて実行する必要があります。
上手くいかない場合
- コマンドプロンプトは管理者権限で実行しているか確認します。
(もしくは、管理者権限でログインしているか確認します。)
最終的にやりたかったこと
ollamaを使って画像を読み取り、適切な代替文字を提案して欲しかった。
前提
- カレントディレクトリ配下に
imagesディレクトリが作成してあり、その下に代替文字を生成したい画像が配置されているものとします。 - modelは画像認識が出来るものを使用します。
ここではgemma3:27bを使用していますが、同じgemmaであればgemma3:4b以上であれば画像認識可能です。
(数字が大きいほど認識の精度は上がりますが、その分メモリも食うのでPCのスペックややりたいことに合わせて調整してください。)
スクリプト
以下のようなpythonスクリプトで、画像ごとに代替文字を出力してくれます。(雑に,入れてcsv出力してますが、業務とかで使用する場合はライブラリとか使ってちゃんとやりましょう。)
import os
import ollama
# 現在の作業ディレクトリを取得
current_directory = os.getcwd()
image_directory = current_directory + '/images/'
file_names = os.listdir(image_directory)
for file in file_names:
res = ollama.chat(
model="gemma3:27b",
messages=[{
'role': 'user',
'content':'30文字程度のシンプルな画像代替文字を1つ、そのまま出力してください。',
'images': ['./images/' + file]
}]
)
print(file + ',' + res['message']['content'])
結果
5件画像を使って試した結果は以下のような感じ。
※画像のタイトルから何か意味を見出される可能性を考慮してファイル名は0~9を割り振ってあります。
0.jpg,みかんと猫のイラスト
1.jpg,広大な田園風景と町並みを空から見た景色。
2.jpg,黒ぶどうの房
3.jpg,川と高層ビル、青空の風景
4.jpg,緑の崖と青い海の風景
5.png,おにぎり(梅)実際の画像との比較は以下の通り。(※画像は圧縮してwebp形式にしていますが、実際はjpg,pngで読んでいます。)
| ファイル名 | 画像 | 代替文字 |
|---|---|---|
| 0.jpg | ![]() | みかんと猫のイラスト |
| 1.jpg | ![]() | 広大な田園風景と町並みを空から見た景色。 |
| 2.jpg | ![]() | 黒ぶどうの房 |
| 3.jpg | ![]() | 川と高層ビル、青空の風景 |
| 4.jpg | ![]() | 緑の崖と青い海の風景 |
| 5.png | ![]() | おにぎり(梅) |
かなりいいのではないでしょうか。
画像代替文字は目が不自由な方には重要な設定ですが、割と「画像1」等のように割り振っておしまい(表のタイトルと勘違いされている)部分なので、こうしてAIで補えると良いですね。
画像出典

この記事を書いた人
- A.W.
- 茨城県在住Webエンジニアです。 PHPなどを業務で使用しています。 趣味ではGoやNuxt、Flutterをやってます。





