给一个本地LLM同时接8个代理 — Ollama并发吞吐量实测
我以为并行触发子代理会让本地模型也随之变快。实测发现默认的Ollama会把请求排队处理,接8个和接1个的总吞吐量一样。我在M1 16GB上实测了调高OLLAMA_NUM_PARALLEL带来的吞吐增益,以及它的代价。
标签
10篇文章
我以为并行触发子代理会让本地模型也随之变快。实测发现默认的Ollama会把请求排队处理,接8个和接1个的总吞吐量一样。我在M1 16GB上实测了调高OLLAMA_NUM_PARALLEL带来的吞吐增益,以及它的代价。
上一篇文章里我把gemma4:12b的空回复断定为打包bug。错了,它其实是推理模型。于是我用推理开/关跑了13道题。 推理多答对了1题,却多花了68倍的输出token和19倍的时间。本文用实测整理在代理里该何时开、何时关。
本地智能体在长输入下突然无视指令。我把一段秘密代码藏在提示开头,逐步加长输入直到 recall 崩掉。 一旦超过 num_ctx,Ollama 就不报错地砍掉提示前半段。而且"默认值是 4096"这个说法,在我的 MacBook 上是错的。
离开一会儿再叫回代理,第一条响应就格外迟钝。我把Ollama每次响应都返回的load_duration按模型大小拆开看:2GB是1.5秒, 9.6GB最高9.7秒。而且"冷"原来有两种。keep_alive一个开关如何决定这笔开销,我做了实测整理。
同样一段9,700 token的提示词,在我的笔记本上第一个token要等55秒,而第二次相同调用只用了65毫秒。我直接取出Ollama的时间戳,分离测量prefill与generation,弄清prefix缓存为何快了396倍,以及如何把它用到代理的上下文设计上。
我把同一个提示词向本地Gemma 4发送了数十次,测量输出的可复现程度。temperature=0是确定性的, 即使提高temperature,只要固定seed,输出也会收敛成一行。文末给出可直接用于评估和CI的结论。
将Ollama 0.3+的JSON Schema强制模式与Pydantic结合,实现本地LLM响应的类型安全解析。 实测结果:结构化输出比普通文本快6倍,JSON解析成功率接近100%。
本指南完整介绍如何通过FastAPI封装Ollama REST API,逐步构建具备SSE流式传输、健康检查、Docker Compose容器化部署的生产级本地LLM服务器,并附有Llama 3.2、Mistral等主流模型的实际运行日志与完整API调用测试示例。
使用Ollama + Gemma 4 + FastMCP构建无需互联网的离线AI工具管道。适用于医疗、法律、金融环境中数据不能外发的实战实现指南。
仅凭Mac mini和30美元的LoRa收音机,在没有互联网的情况下实现语音控制和智能家居操作的实战案例分析。深入探讨本地AI×IoT的具体实现与成本。