
ollamaで動かしているGPT OSSへAPIでアクセスしてみた
2025-08-17
ollamaで動かしているGPT OSSへAPIでアクセスしてみた
OllamaでGPT OSSを動かすまでの手順は、前回の記事をご確認ください
GPT-OSSをMacのコマンドラインからOllamaで動かしてみた話
まずはOllamaを起動
% ollama serve Error: listen tcp 127.0.0.1:11434: bind: address already in use
、、、しようとしたらすでに起動されていた
デスクトップアプリケーションの方で起動しているせいか?
% ps aux | grep ollama yoshi 28969 0.0 0.3 35472272 48624 ?? S 4:13AM 0:00.88 /Applications/Ollama.app/Contents/Resources/ollama serve yoshi 29890 0.0 0.0 34130532 668 s008 S+ 4:19AM 0:00.00 grep ollama
とりあえず起動されているので、APIで「こんにちは」と話しかけてみる
% curl http://localhost:11434/api/chat -d '{ "model": "gpt-oss", "messages": [ { "role": "system", "content": "You are an expert in Japanese culture." }, { "role": "user", "content": "こんにちは" } ] }' {"model":"gpt-oss","created_at":"2025-08-16T19:22:39.351047Z","message":{"role":"assistant","content":"","thinking":"The"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:40.453318Z","message":{"role":"assistant","content":"","thinking":" user"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:41.514503Z","message":{"role":"assistant","content":"","thinking":" says"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:42.651513Z","message":{"role":"assistant","content":"","thinking":" \""},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:43.894889Z","message":{"role":"assistant","content":"","thinking":"こんにちは"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:45.131025Z","message":{"role":"assistant","content":"","thinking":"\""},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:46.307278Z","message":{"role":"assistant","content":"","thinking":" ("},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:47.247796Z","message":{"role":"assistant","content":"","thinking":"Hello"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:48.148422Z","message":{"role":"assistant","content":"","thinking":")."},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:48.923047Z","message":{"role":"assistant","content":"","thinking":" The"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:49.829927Z","message":{"role":"assistant","content":"","thinking":" instruction"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:50.864431Z","message":{"role":"assistant","content":"","thinking":":"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:51.7647Z","message":{"role":"assistant","content":"","thinking":" \""},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:52.490667Z","message":{"role":"assistant","content":"","thinking":"You"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:53.729253Z","message":{"role":"assistant","content":"","thinking":" are"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:54.671118Z","message":{"role":"assistant","content":"","thinking":" an"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:56.231688Z","message":{"role":"assistant","content":"","thinking":" expert"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:57.11328Z","message":{"role":"assistant","content":"","thinking":" in"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:58.067575Z","message":{"role":"assistant","content":"","thinking":" Japanese"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:59.02166Z","message":{"role":"assistant","content":"","thinking":" culture"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:22:59.865652Z","message":{"role":"assistant","content":"","thinking":".\""},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:00.48196Z","message":{"role":"assistant","content":"","thinking":" So"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:01.265601Z","message":{"role":"assistant","content":"","thinking":" reply"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:01.956852Z","message":{"role":"assistant","content":"","thinking":" in"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:02.742793Z","message":{"role":"assistant","content":"","thinking":" Japanese"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:03.362262Z","message":{"role":"assistant","content":"","thinking":","},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:04.040427Z","message":{"role":"assistant","content":"","thinking":" greeting"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:04.700426Z","message":{"role":"assistant","content":"","thinking":","},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:05.34445Z","message":{"role":"assistant","content":"","thinking":" perhaps"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:06.074517Z","message":{"role":"assistant","content":"","thinking":" ask"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:06.761499Z","message":{"role":"assistant","content":"","thinking":" how"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:07.506237Z","message":{"role":"assistant","content":"","thinking":" can"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:08.160416Z","message":{"role":"assistant","content":"","thinking":" help"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:08.764806Z","message":{"role":"assistant","content":"","thinking":"."},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:09.374419Z","message":{"role":"assistant","content":"","thinking":" Provide"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:09.982674Z","message":{"role":"assistant","content":"","thinking":" friendly"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:10.686055Z","message":{"role":"assistant","content":"","thinking":" tone"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:11.33573Z","message":{"role":"assistant","content":"","thinking":"."},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:16.034455Z","message":{"role":"assistant","content":"こんにちは"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:16.692213Z","message":{"role":"assistant","content":"!"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:17.301817Z","message":{"role":"assistant","content":"日本"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:17.951907Z","message":{"role":"assistant","content":"文化"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:18.562959Z","message":{"role":"assistant","content":"に"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:19.219804Z","message":{"role":"assistant","content":"関"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:19.955461Z","message":{"role":"assistant","content":"する"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:20.582314Z","message":{"role":"assistant","content":"ご"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:21.211648Z","message":{"role":"assistant","content":"質問"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:21.8601Z","message":{"role":"assistant","content":"や"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:22.482267Z","message":{"role":"assistant","content":"お"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:23.895936Z","message":{"role":"assistant","content":"悩"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:24.620886Z","message":{"role":"assistant","content":"み"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:25.279202Z","message":{"role":"assistant","content":"が"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:25.906645Z","message":{"role":"assistant","content":"あ"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:26.621717Z","message":{"role":"assistant","content":"れば"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:27.274604Z","message":{"role":"assistant","content":"、"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:27.997798Z","message":{"role":"assistant","content":"遠"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:29.626272Z","message":{"role":"assistant","content":"慮"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:30.298091Z","message":{"role":"assistant","content":"なく"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:30.997235Z","message":{"role":"assistant","content":"どう"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:31.620636Z","message":{"role":"assistant","content":"ぞ"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:32.29506Z","message":{"role":"assistant","content":"。"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:32.963583Z","message":{"role":"assistant","content":"お"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:33.659305Z","message":{"role":"assistant","content":"茶"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:34.557243Z","message":{"role":"assistant","content":"の"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:35.204263Z","message":{"role":"assistant","content":"作"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:35.867947Z","message":{"role":"assistant","content":"法"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:36.504369Z","message":{"role":"assistant","content":"から"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:37.123185Z","message":{"role":"assistant","content":"和"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:37.79307Z","message":{"role":"assistant","content":"食"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:38.552555Z","message":{"role":"assistant","content":"、"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:39.212676Z","message":{"role":"assistant","content":"祭"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:39.884572Z","message":{"role":"assistant","content":"り"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:40.51193Z","message":{"role":"assistant","content":"、"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:41.150848Z","message":{"role":"assistant","content":"ア"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:41.781618Z","message":{"role":"assistant","content":"ニメ"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:42.495505Z","message":{"role":"assistant","content":"や"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:43.132659Z","message":{"role":"assistant","content":"漫画"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:43.819469Z","message":{"role":"assistant","content":"、"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:44.606893Z","message":{"role":"assistant","content":"現"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:45.27445Z","message":{"role":"assistant","content":"代"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:45.913924Z","message":{"role":"assistant","content":"の"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:46.58709Z","message":{"role":"assistant","content":"ト"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:47.21986Z","message":{"role":"assistant","content":"レ"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:47.850878Z","message":{"role":"assistant","content":"ンド"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:48.951386Z","message":{"role":"assistant","content":"まで"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:49.590126Z","message":{"role":"assistant","content":"、"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:50.212801Z","message":{"role":"assistant","content":"幅"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:51.087197Z","message":{"role":"assistant","content":"広"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:51.853702Z","message":{"role":"assistant","content":"く"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:52.470172Z","message":{"role":"assistant","content":"お"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:53.133133Z","message":{"role":"assistant","content":"手"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:53.775312Z","message":{"role":"assistant","content":"伝"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:54.460286Z","message":{"role":"assistant","content":"い"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:55.122446Z","message":{"role":"assistant","content":"します"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:56.376583Z","message":{"role":"assistant","content":"。"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:57.067718Z","message":{"role":"assistant","content":"ど"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:57.755379Z","message":{"role":"assistant","content":"んな"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:58.425925Z","message":{"role":"assistant","content":"こと"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:59.076389Z","message":{"role":"assistant","content":"に"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:23:59.771683Z","message":{"role":"assistant","content":"興"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:24:00.585956Z","message":{"role":"assistant","content":"味"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:24:01.560137Z","message":{"role":"assistant","content":"があります"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:24:02.469041Z","message":{"role":"assistant","content":"か"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:24:03.530248Z","message":{"role":"assistant","content":"?"},"done":false} {"model":"gpt-oss","created_at":"2025-08-16T19:24:04.533017Z","message":{"role":"assistant","content":""},"done_reason":"stop","done":true,"total_duration":243986682847,"load_duration":86310483680,"prompt_eval_count":84,"prompt_eval_duration":68268699184,"eval_count":116,"eval_duration":89282859338} %
おおー、なんか言っている。
繋げると「こんにちは!日本文化に関するご質問やご悩みがあれば、遠慮なくどうぞ。お茶の作法から和食、祭り、アニメや漫画、現代のトレンドまで、幅広くお手伝いします。どんなことに興味がありますか?」
ちなみに応答時間は「4分4秒」(total_duration: 243,986,682,847 ns)
長すぎるー
プロセスを確認すると、起動されたままになっている
このまま会話を継続できそうだ
% ps aux | grep ollama yoshi 30272 0.0 12.4 50467488 2082796 ?? S 4:20AM 4:59.68 /Applications/Ollama.app/Contents/Resources/ollama runner --ollama-engine --model /Users/yoshi/.ollama/models/blobs/sha256-b112e727c6f18875636c56a779790a590d705aec9e1c0eb5a97d51fc2a778583 --ctx-size 4096 --batch-size 512 --threads 2 --no-mmap --parallel 1 --port 64758 yoshi 28969 0.0 0.3 35546516 48612 ?? S 4:13AM 0:01.89 /Applications/Ollama.app/Contents/Resources/ollama serve yoshi 30666 0.0 0.0 34130532 676 s008 S+ 4:27AM 0:00.00 grep ollama
Macへの負荷がすごいのでプロセスは切っておく
% kill 30272
% ps aux | grep ollama yoshi 28969 0.0 0.3 35546516 48656 ?? S 4:13AM 0:01.89 /Applications/Ollama.app/Contents/Resources/ollama serve yoshi 30826 0.0 0.0 34121316 604 s008 R+ 4:27AM 0:00.00 grep ollama %
以上。