Windows 部署大模型 不联网 本地离线推理
Ollama:本地模型运行引擎
代码模型 (根据自身需求选用)
此处 以 qwen2.5-coder:7b-instruct 为例
Open WebUI:本地网页界面,类似 ChatGPT 窗口,粘贴代码直接对话;断网可用
安装Ollama
外网环境下载安装包
- 官网下载 Ollama:https://ollama.com/download
- 双击安装,一路下一步;安装完成打开 PowerShell
- 拉取代码模型(下载一次,之后离线永久使用)
ollama pull qwen2.5-coder:7b-instruct
文件大小约 4.7GB,下载完成后,可以彻底断网运行
测试离线运行
ollama run qwen2.5-coder:7b-instruct
运行起来就可以输入问题了
ctrl+d 可以退出
安装 部署 Open WebUI (未实现)
这里考虑到python环境冲突问题,不适用pip 方式安装,使用 Open WebUI Windows 独立桌面版(单文件 exe)
下载地址(GitHub 官方): Release v0.0.20 · open-webui/desktop · GitHub
找最新版本:open-webui-x64-setup.exe
安装后打不开http://127.0.0.1:8080/ 我跳过了这步😂
配置网页访问ollama服务(可行方案)
1. 新建一个文件夹(路径不要中文、不要空格),新建ollama-ui.html,代码内容如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Ollama Local Chat</title>
<style>
* {box-sizing: border-box;margin:0;padding:0;font-family:Consolas,system-ui}
body{background:#111;color:#eee;padding:16px;max-width:1200px;margin:0 auto}
.top-bar{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
select,input,button{padding:8px 12px;font-size:14px;border-radius:6px;border:none}
select,input{background:#222;color:#fff;border:1px solid #444}
button{background:#2563eb;color:#fff;cursor:pointer}
button:active{opacity:0.85}
#chat{height:60vh;overflow-y:auto;border:1px solid #333;padding:12px;border-radius:8px;margin-bottom:12px}
.msg{margin:8px 0;white-space:pre-wrap;line-height:1.5}
.user{color:#7dd3fc}
.ai{color:#a7f3d0}
.code{background:#1e1e1e;padding:10px;border-radius:6px;overflow-x:auto;margin:6px 0}
#prompt{width:100%;height:120px;background:#1a1a1a;color:#eee;border:1px solid #333;padding:10px;border-radius:8px;resize:none;font-size:14px}
</style>
</head>
<body>
<div class="top-bar">
<label>模型:</label>
<select id="model"></select>
<button id="refresh">刷新模型</button>
<label>Temperature:</label>
<input id="temp" type="number" value="0.1" min="0" max="1" step="0.05">
</div>
<div id="chat"></div>
<textarea id="prompt" placeholder="粘贴C驱动代码,输入提问..."></textarea>
<div style="margin-top:8px;display:flex;gap:8px">
<button id="send">发送</button>
<button id="clear">清空对话</button>
</div>
<script>
const API_URL = "http://127.0.0.1:11434/api";
const chatEl = document.getElementById("chat");
const modelSel = document.getElementById("model");
const promptEl = document.getElementById("prompt");
const tempEl = document.getElementById("temp");
async function loadModels(){
const res = await fetch(`${API_URL}/tags`);
const json = await res.json();
modelSel.innerHTML = "";
json.models.forEach(m=>{
const opt = document.createElement("option");
opt.value = m.name;
opt.innerText = m.name;
modelSel.appendChild(opt);
});
}
document.getElementById("refresh").onclick = loadModels;
document.getElementById("clear").onclick = ()=>chatEl.innerHTML="";
function appendMsg(text, cls){
const div = document.createElement("div");
div.className = "msg "+cls;
div.innerHTML = renderMarkdown(text);
chatEl.appendChild(div);
chatEl.scrollTop = chatEl.scrollHeight;
return div;
}
function renderMarkdown(s){
return s.replace(/```([\s\S]*?)```/g,'<div class="code">$1</div>');
}
document.getElementById("send").onclick = async ()=>{
const prompt = promptEl.value.trim();
if(!prompt) return;
appendMsg(prompt, "user");
promptEl.value = "";
const aiDiv = appendMsg("", "ai");
const resp = await fetch(`${API_URL}/chat`,{
method:"POST",
headers:{"Content-Type":"application/json"},
body:JSON.stringify({
model: modelSel.value,
messages: [{role:"user", content:prompt}],
stream:true,
options:{temperature: parseFloat(tempEl.value)}
})
});
const reader = resp.body.getReader();
const decoder = new TextDecoder();
let fullText = "";
while(true){
const {done,value} = await reader.read();
if(done) break;
const chunk = decoder.decode(value);
const lines = chunk.split("\n").filter(Boolean);
for(const line of lines){
const obj = JSON.parse(line);
if(obj.message?.content){
fullText += obj.message.content;
aiDiv.innerHTML = renderMarkdown(fullText);
chatEl.scrollTop = chatEl.scrollHeight;
}
}
}
}
loadModels();
</script>
</body>
</html>
2. 打开 PowerShell,cd 进入这个文件夹
3. 启动简易 HTTP 服务
python -m http.server 8000
看到输出 Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ... 代表成功。
4. 浏览器访问
http://127.0.0.1:8000/ollama-ui.html

5. 关闭方式
- 直接在PowerShell里面 ctrl+C
- 查找占用 8000 端口的进程并杀掉:
netstat -ano | findstr :8000
最后一列数字是 PID,然后执行:
taskkill /F /PID 这里替换成查到的PID
安装 配置VS Code插件 (可行方案)
安装:
在扩展插件栏 搜索:Continue - open-source AI code agent
点击【安装】,重启 VSCode
配置:
左侧边栏打开 Continue 面板(图标六边形)
点击面板右上角 ⚙设置 → Open Config(打开new config.yaml)

清空原有内容,粘贴下面这份配置
version: 0.0.1
schema: v1
models:
- name: Qwen2.5-Coder 7B-Instruct
provider: ollama
model: qwen2.5-coder:7b-instruct
apiBase: http://127.0.0.1:11434
roles:
- chat
- edit
completionOptions:
temperature: 0.1
num_ctx: 8192
报错 完成配置
之后就可以选中代码 ctrl+L 唤起 Continue 对话,或者直接在 Continue面板进行提问
更多推荐

所有评论(0)