昨日は、Open WebUIからOpenAI APIでLLM Brokerに接続できる、というところまでやりました。
今日は、LLM Brokerにストリーム出力機能を実装しました。
開発で使っているPCは CPUがCore i5 13500、GPUがRTX A4000 16GBです。
それでllama.cppサーバー + gpt-oss-20b_Q4_K_M.ggufを走らせて、LLM Brokerから接続すると、安定的に90〜115トークン/秒くらいの生成速度が出ています。

まだツール呼び出し機能の実装ができていないので完成ではありませんが、もう少し頑張ればOllamaに近い機能が実現できそうです。
開発中のllama.cppの設定です。
gpt-oss:20bで扱えるコンテクスト長いっぱいに設定しています。
services:
llama-text:
image: ghcr.io/ggml-org/llama.cpp@sha256:13f61752307fc4b96c8607a1bc03f977a2a27a4372d194f2aead83d60b964289
container_name: llama-text
restart: unless-stopped
ports:
- "8081:8080"
volumes:
- ./models:/models:ro
command:
- -m
- /models/gpt-oss-20b-Q4_K_M.gguf
- --host
- 0.0.0.0
- --port
- "8080"
- --n-gpu-layers
- "99"
- --ctx-size
- "131072"
- --cache-type-k
- q8_0
- --cache-type-v
- q8_0
- --flash-attn
- "on"
- --batch-size
- "2048"
- --ubatch-size
- "512"
- --temp
- "1.0"
- --top-k
- "64"
- --top-p
- "0.95"
- --min-p
- "0.0"
- --repeat-penalty
- "1.0"
- --threads
- "4"
- --parallel
- "1"
- --cont-batching
- --log-verbose
- --mlock
ulimits:
memlock:
soft: -1
hard: -1
deploy:
resources:
reservations:
devices:
- driver: nvidia
device_ids:
- "0"
capabilities:
- gpu
コンテクストサイズ128Kで、これだけの性能が出れば十分過ぎる性能です。
別のもっと遅いPC(たぶんこの開発機の半分くらいの速度)では、PCIe 3.0接続のRTX 3060でgemma4 E4Bを載せていますが、似たような設定で70トークン/秒くらい出ています。
「LLM BrokerのOpenAI APIにストリーム出力機能を実装する」への1件のフィードバック