リモートMacでOllamaに批推論キューを流すと、入口が分散したり並列過多でメモリが跳ねたり、再試行が雪だるまになりがちです。本稿はOpenClawゲートウェイと組みAPIルート固定、並列上限、バックオフ再試行、資源枠を揃える手順です。OpenClaw本番稿、SSHとVNC、ブログ索引も参照してください。
① 要点:なぜゲートウェイ前にキューを挟むか
直叩きは認証境界が曖昧になり、逼迫時の制御も難しくなります。ゲートウェイを単一入口にし、推論はループバックのOllamaへ閉じ、手前で同時本数と再試行規律を課すと夜間バッチの再現性が上がります。
② 痛点の整理(番号付き)
- ルート分散:URLがばらけログとレートが追えない。
- 並列誤り:長文でVRAM相当領域を食いスワップが増える。
- 再試行暴発:五〇三やタイムアウトの即リトライでキューが詰まる。
③ APIルーティング方針の対比表
外向きは一つのベースURLに寄せます。
| 観点 | 推奨 | 避ける |
|---|---|---|
| 入口 | ゲートウェイまたは逆プロキシの単一ホスト | 生IP直叩きとポート乱立 |
| Ollama | ループバック限定とFW遮断 | 一一四三四番の全世界公開 |
| API | パス固定とREADME明記 | クライアント都度のパス変更 |
| 観測 | リクエストIDとキュー番号をログ化 | 失敗ジョブが特定できない出力のみ |
④ 導入の要点(Ollamaとゲートウェイ)
Ollamaは公式導入後curl -fsS http://127.0.0.1:11434/api/tagsで確認。OpenClawは既稿どおりdocker-setup.sh等で起動しgateway.bindとトークンとTLSを揃えます。常駐はlaunchdやnohup、ログと空き容量を週次点検します。
⑤ キューと並列:シェルでの最小再現
一行ずつ読み同時スロットだけ並べます。OLLAMA_NUM_PARALLELは一二から試し漸増します。
# 例: 同時2本、ゲートウェイまたはOllama直のURLに合わせて置換
export OLLAMA_NUM_PARALLEL=2
BASE="http://127.0.0.1:11434"
run_one() {
local id="$1" payload="$2" n=0 max=5 wait=2
while [ "$n" -lt "$max" ]; do
if curl -fsS -m 300 -H "Content-Type: application/json" \
-d "$payload" "$BASE/api/chat" -o "out-${id}.json"; then
return 0
fi
n=$((n+1)); sleep "$wait"; wait=$((wait*2))
done
echo "dead-letter ${id}" >&2; return 1
}
export -f run_one
parallel -j 2 run_one ::: $(seq 1 100)
ペイロードはjq等で組み、機密は権限で保護。parallel無しならxargs -P2で代替。
⑥ 降格・再試行・資源枠の運用ルール
再試行はバックオフ上限のあと死信へ。降格はメモリ八割超で並列を下げ小モデルへ。傾向はモニタで見、重いビルドと時間帯を分けると安定します。
⑦ 引用しやすい目安(三項目以上)
- 並列第一感:M4十六ギガは一二から、二十四ギガも二三上限候補で実測確定。
- タイムアウト:長文バッチ三百秒級、短いスモーク六十秒前後。
- 再試行:最大五回、待機二秒倍増キャップ六十秒が扱いやすい出発点。