在 Ollama 里直接敲 ollama run grok,通常不会成功。Ollama 官方模型库以可下载的开源权重为主,Grok 是 xAI 的闭源模型,需要通过 xAI 的 API 调用,Ollama 本身不提供它的权重条目。所以「Ollama 怎么用 grok」要拆成两个可以分别验证的问题:官方库里到底有没有可拉取的条目(用模型库搜索页和 ollama list 确认),以及在没有的情况下,用什么方式拿到接近的本地推理能力,或者把请求转去 API。
建议按这个顺序判断:先在 Ollama 模型库搜索页确认有没有 grok 同名条目,没有就别在本地环境反复试;要在本地跑,就选官方库里有明确 tag 的模型,比如 deepseek-r1 系列,再确认显卡推理是否生效;确实要用 Grok 本身时,走 xAI 的 OpenAI 兼容接口,把 base_url 指向 api.x.ai,请不要试图让 Ollama 去转发外部 API。模型名、版本、价格和限速都会变,以模型库 Tags 页和 xAI 控制台页面当前显示为准。
Ollama怎么用显卡跑
这一步对应的是「模型权重加载进显存」的环节,凡是本地跑权重都要过这一关,与模型叫什么名字无关。判断有没有真正走显卡,最直接的是看 ollama ps 的输出:
ollama ps
表格里有 NAME、ID、SIZE、PROCESSOR、UNTIL 几列,其中 PROCESSOR 列就是答案——显示 GPU 表示整模型在显存里,显示 CPU 或类似 CPU/GPU 混合的字样,说明有层被卸载到内存,速度会明显下降。具体取值以你本机这一列的输出为准,不要照抄别人的截图。
第二个可核对的位置是服务日志。用 systemd 安装的 Linux 环境可以这样看:
journalctl -u ollama -n 200 --no-pager | grep -iE "gpu|offload|library"
日志里通常会出现把多少层卸载到 GPU 的行。如果不是用 systemd 启动,就前台起服务并打开调试:
OLLAMA_DEBUG=1 ollama serve
再配合 nvidia-smi 看显存占用是否随推理上升,三者互相印证:ollama ps 的 PROCESSOR 列是结论,日志是过程,nvidia-smi 是旁证。macOS 上同样用 ollama ps 判断,字段一致。

Ollama怎么用deepseek
这一步对应的是「拉取模型」环节。之所以拿 deepseek 说,是因为它是官方库里有明确条目、可以照着验证的参照物;照着走一遍,你就知道「在 Ollama 里用一个模型」长什么样,再看 grok 缺了哪一步就很清楚。
先到模型库页面找到条目:打开 ollama.com/library,搜索框输入 deepseek,进入 deepseek-r1 页面,切到 Tags 标签页,那里列出所有可拉取的 tag。这一步的核对点是「页面里有没有这个 tag」,不要在终端里瞎猜名字。
ollama pull deepseek-r1:7b
ollama list
ollama list 输出的 NAME 列出现 deepseek-r1:7b,就说明模型已经在本地。同样的搜索框里输入 grok,如果没有同名条目,那就是「Ollama 官方库暂不提供 Grok 权重」的判断依据,此时继续在本地试只会得到 pull 失败。
Ollama之前先确认这三件事
版本。看 ollama --version 的输出,与 GitHub Releases 页面当前标注的版本对比。版本决定了支持哪些模型架构和哪个 GPU 后端,太老的版本会遇到「拉下来了却加载不了」的情况。
权限。在没有 sudo 的情况下运行 nvidia-smi 能不能出结果;能出才算普通用户可用。Linux 下还要确认 ollama 服务用户对 /dev/nvidia* 有读权限,否则 ollama ps 会一直显示 CPU。启动参数文件在 /etc/systemd/system/ollama.service,改完要执行 systemctl daemon-reload && systemctl restart ollama。

入口位置。Ollama 的 HTTP 入口默认是 127.0.0.1:11434,用下面这条确认服务真的在监听:
curl -s http://127.0.0.1:11434/api/tags
但如果你要的是 Grok 本身,入口完全不在 Ollama 上,而在 xAI 的 OpenAI 兼容接口。骨架如下,模型名以 xAI 控制台的 Models 页面列出为准,额度和限速在控制台的用量页查看:
curl https://api.x.ai/v1/chat/completions \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MODEL_NAME","messages":[{"role":"user","content":"用一句话解释向量检索"}]}'
Ollama:最短可用路径
- 确认版本:
ollama --version,看到版本号输出即可。 - 起服务并确认端口:
ollama serve,另开一个终端curl -s http://127.0.0.1:11434/api/tags,应返回 JSON 而不是连接被拒。 - 拉一个官方库里有 tag 的模型:
ollama pull deepseek-r1:7b,进度条走完、命令返回提示符。 - 跑一次并看速度:
ollama run deepseek-r1:7b --verbose,输入一句话后回车,输出末尾会打印 eval rate 之类的统计行。 - 另开终端确认落点:
ollama ps,PROCESSOR 列显示 GPU 才算这条路径在显卡上跑通。
这里最容易踩的坑:以为 Ollama 的 /v1 OpenAI 兼容层可以当成上游转发器,配一个外部 base_url 就能把 Grok 接进来。它做的只是把本地模型按 OpenAI 格式暴露给别的客户端,方向是「对外提供」,不是「对外请求」。想用 Grok,请求方必须自己把 base_url 改成 xAI 的地址,Ollama 在这条链路上不参与。
Ollama:一个真实场景的完整做法
场景:一台单卡 24GB 显存的 Linux 工作站,要把 500 份中文产品说明书 PDF(每份 5 到 20 页)里的型号、额定电压、功率、保修期四个字段抽成结构化数据。因为要批量跑,模型必须在显存里常驻,不能每次都重新加载。
配置一,服务常驻与并发,写在 /etc/systemd/system/ollama.service 的 [Service] 段:

Environment=OLLAMA_HOST=127.0.0.1:11434
Environment=OLLAMA_KEEP_ALIVE=30m
Environment=OLLAMA_NUM_PARALLEL=2
改完执行 systemctl daemon-reload && systemctl restart ollama,再用 curl -s http://127.0.0.1:11434/api/tags 确认服务回来了。KEEP_ALIVE 决定模型闲置多久后卸载,并行数决定同时处理几份,这两个值要结合你的显存和单份文档长度调,不要一次开大。
配置二,抽取用的模型定义,写在 /opt/ollama/Modelfile.extract:
FROM deepseek-r1:7b
PARAMETER num_ctx 8192
PARAMETER temperature 0.2
然后 ollama create extract-7b -f /opt/ollama/Modelfile.extract,再 ollama list 看 NAME 列是否多出 extract-7b。num_ctx 要按单份文档实际切分后的 token 量设,设太小会把字段截断,设太大直接吃掉显存。
配置三,调用,跑单份验证:
curl -s http://127.0.0.1:11434/api/generate \
-H "Content-Type: application/json" \
-d '{"model":"extract-7b","prompt":"从以下文本抽取型号、额定电压、功率、保修期,输出 JSON:<正文>","stream":false}'
验证顺序固定:先看返回体里的 response 字段是不是合法 JSON,再看 ollama ps 的 PROCESSOR 列是不是 GPU,最后看 nvidia-smi 显存是否稳定在模型占用附近而不持续上涨。三项都对,再把单份调用换成循环跑那 500 份;有一项不对就先停下来查,批量跑只会放大问题。如果这一轮验证下来发现本地 7B 级模型抽不准字段,那说明你需要的是更强的模型而不是更多参数调整,这时候再去评估 xAI 接口的成本与配额,比继续在 Ollama 里换 tag 更省时间。