使用 Ollama 的本地大语言模型:命令行界面、API 与 WSL 网络连接
使用 Ollama 运行本地大语言模型:通过 llmfit 选择合适的模型,借助 ollama show 查看标签信息,并通过网关 IP 从 WSL 访问运行在 Windows 上的 Ollama API。
随着开源模型的质量提升以及笔记本显卡性能的进步,本地大语言模型再次变得有趣起来。在换上配备 NVIDIA RTX 5070 Ti(12 GB VRAM)的 HP OMEN Max 后,我在家测试模型不再像做科学实验,而更像是使用日常工具。
有许多运行环境能让这个流程变得轻松:Ollama、vLLM、LM Studio、lama.cpp。我选择Ollama是因为它的部署速度更快。除了日常聊天,我还希望像 LangChain DeepAgents 这样的智能体框架能够通过本地 API 进行交互,而无需在每次实验中消耗云服务费用。
哪款模型适合这台机器?
该目录每周都在扩充。那个反复出现的问题——“我到底应该在这块 GPU 上运行哪个开源模型?”现在有了解决方案:llmfit,它能在你盲目下载数十GB 的模型之前,先帮你判断哪些模型适合你的硬件。这 alone 就能节省大量反复试错的時間。
Ollama 的聊天界面
如果你使用过 ChatGPT 或 Gemini,就会觉得这个界面很熟悉。如果显存允许,可以选择云端托管的模型或本地模型(例如 qwen3.6)。通过地球仪图标可以切换模型的网络访问状态,从而在需要联网查询与无需联网获取答案之间进行选择。
能显示真实模型信息的 CLI 命令
像 qwen3.6 这样的界面标签仅显示模型名称,而不会透露架构细节——如参数数量、所属系列以及 Modelfile 的特殊设置。CLI 能迅速填补这一信息空白。
列出本地已安装的模型:
ollama list
NAME ID SIZE MODIFIED
qwen3.6:latest 07d35212591f 23 GB 2 months ago
gemma4:latest c6eb396dbd59 9.6 GB 3 months ago
显示指定标签的参数与架构信息:
ollama show qwen3.6:latest
Model
architecture qwen35moe
parameters 36.0B
context length 262144
embedding length 2048
quantization Q4_K_M
Capabilities
completion
vision
tools
thinking
Parameters
temperature 1
top_k 20
top_p 0.95
min_p 0
presence_penalty 1.5
repeat_penalty 1
License
Apache License
Version 2.0, January 2004
...
输出用于构建该标签的模型文件内容:
ollama show --modelfile qwen3.6:latest
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this, replace FROM with:
# FROM qwen3.6:latest
FROM C:\Users\Guangyuan\.ollama\models\blobs\sha256-f5ee307a2982106a6eb82b62b2c00b575c9072145a759ae4660378acda8dcf2d
TEMPLATE {{ .Prompt }}
RENDERER qwen3.5
PARSER qwen3.5
PARAMETER min_p 0
PARAMETER presence_penalty 1.5
PARAMETER repeat_penalty 1
PARAMETER temperature 1
PARAMETER top_k 20
PARAMETER top_p 0.95
LICENSE """
这三个命令无需查阅文档或根据产品名称猜测,就能直接回答“究竟运行了什么?”这一问题。
通过 HTTP 与模型通信
Ollama 提供了类似 OpenAI 或 Claude 接口的 HTTP API,非常适合在调试提示词和工具时进行 LangGraph 或 DeepAgents 实验,且无需按令牌数量付费。
对标签相关接口进行合理性检查:
curl http://localhost:11434/api/tags
StatusCode : 200
StatusDescription : OK
Content : {"models":[{"name":"qwen3.6:latest","model":"qwen3.6:latest","modified_at":"2026-05-17T22:03:48.7536396+01:00","size":23938333577,"digest":"07d35212591fc27746f0a317c975a6d68754fb38e9053d82e25f06057af2...
RawContent : HTTP/1.1 200 OK
Content-Length: 843
Content-Type: application/json; charset=utf-8
Date: Fri, 14 Aug 2026 21:04:05 GMT
{"models":[{"name":"qwen3.6:latest","model":"qwen3.6:latest","modified_at":"...
Forms : {}
Headers : {[Content-Length, 843], [Content-Type, application/json; charset=utf-8], [Date, Fri, 14 Aug 2026 21:04:05 GMT]}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 843
Windows 系统中的 WSL 应用方式
如果 Ollama 在 Windows 上运行,而你的智能体代码在 WSL 中执行,默认的 localhost 指向的是错误的机器——它实际上指向的是 Linux 虚拟机,而非 Ollama 所监听的 Windows 主机。请在 Ollama 设置中开启允许网络访问 Ollama选项,然后从 WSL 中获取 Windows 主机的 IP 地址:
wsl
ip route | grep default
default via 172.20.160.1 dev eth0 proto kernel
在端口 11434 上访问该网关 IP:
curl http://172.20.160.1:11434/api/tags
{"models":[{"name":"qwen3.6:latest","model":"qwen3.6:latest","modified_at":"2026-05-17T22:03:48.7536396+01:00","size":23938333577,"digest":"07d35212591fc27746f0a317c975a6d68754fb38e9053d82e25f06057af28522","details":{"parent_model":"","format":"gguf","family":"qwen35moe","families":["qwen35moe"],"parameter_size":"36.0B","quantization_level":"Q4_K_M","context_length":262144,"embedding_length":2048},"capabilities":["vision","completion","tools","thinking"]},{"name":"gemma4:latest","model":"gemma4:latest","modified_at":"2026-05-08T20:45:49.3801369+01:00","size":9608350718,"digest":"c6eb396dbd5992bbe3f5cdb947e8bbc0ee413d7c17e2beaae69f5d569cf982eb","details":{"parent_model":"","format":"gguf","family":"gemma4","families":["gemma4"],"parameter_size":"8.0B","quantization_level":"Q4_K_M"},"capabilities":["completion","tools","thinking"]}]}
现在,Linux 环境下的 Python 或 Node 代码可以像访问单操作系统环境中的 localhost 一样,连接到 Windows 上运行的模型。
本地大语言模型的实际实用程度仍取决于所分配给它们的任务——先设定合理的预期,再通过上述命令行工具和 API 不断优化,直到延迟和时间质量符合你的工作流程要求。