如何手把手搭建本地千问模型
您好,您提到的“本地话千问模型”应为“本地化部署通义千问模型”。一条命令即可下载模型,并通过美观的网页聊天界面进行交互,无需编写代码,也无需手动配置复杂的推理框架。通过几行 Python 代码直接加载模型,适合希望将模型集成到自己项目中进行二次开发的用户。
您好,您提到的“本地话千问模型”应为“本地化部署通义千问模型”。
针对本地部署,我们提供两种方案,您可以根据自己的技术背景和需求选择:
-
方案一:Ollama + Open WebUI (推荐新手)
一条命令即可下载模型,并通过美观的网页聊天界面进行交互,无需编写代码,也无需手动配置复杂的推理框架。
-
方案二:Python + ModelScope (适合开发者)
通过几行 Python 代码直接加载模型,适合希望将模型集成到自己项目中进行二次开发的用户。
💡 通用准备:硬件与模型选择
1. 硬件门槛
-
有独立显卡 (NVIDIA)
-
8GB 显存: 可尝试 0.5B、1.8B 等小参数模型。
-
8-12GB 显存: 可流畅运行 Qwen2.5-7B 等 7B 级模型。
-
≥16GB 显存: 可运行 Qwen2.5-14B、QwQ-32B 等更大模型 (可能需要量化或双卡)。
-
-
无独立显卡 (仅CPU)
可以运行,但速度较慢,适合体验 0.5B 级别的极轻量模型。
如何查看显存: 在 Windows 上打开任务管理器 → “性能” → “GPU”;在 Linux 上执行
nvidia-smi命令。
2. 模型选择
-
入门体验:
Qwen1.5-0.5B-Chat(约 0.5B 参数) -
日常使用:
Qwen2.5-7B-Instruct(约 7B 参数) -
进阶选择:
Qwen2.5-14B,Qwen3-14B,QwQ-32B(需更大显存)
🚀 方案一:Ollama + Open WebUI (新手推荐)
此方案适合不想编写代码,希望快速在本地拥有一个类似 ChatGPT 网页聊天界面的用户。
1. 环境准备 (以 Windows 11 + WSL2 为例)
-
安装 WSL2: 以管理员身份打开 PowerShell,执行以下命令并重启电脑。
powershell
wsl --install
wsl --set-default-version 2
-
安装 Docker Desktop: 从官网下载安装包,安装时务必勾选 “Use WSL 2”。完成后在 PowerShell 中验证
docker --version。 -
安装 Ollama: 在 PowerShell 中执行以下命令,然后在 WSL 子系统中验证
ollama --version。powershell
curl -fsSL https://ollama.com/install.sh| sh
2. 拉取并运行千问模型
在 WSL 终端中,使用 ollama run命令。首次运行会自动下载模型。
-
运行 7B 模型 (推荐)
bash
ollama run qwen2.5:7b
-
运行 14B 模型 (需 ≥16GB 显存)
bash
ollama run qwen3:14b-fp8
-
运行 0.5B 模型 (配置较低的设备)
bash
ollama run qwen:0.5b
运行后,在终端中即可开始对话。
3. 启动 Web 聊天界面 (Open WebUI)
-
在 WSL 中执行以下命令启动 Open WebUI 容器。
bash
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
-
在 Windows 浏览器中访问
http://localhost:3000,注册登录后即可在模型列表中选择并对话。
🐍 方案二:Python + ModelScope (开发者适用)
此方案适合熟悉 Python,希望将模型集成到自有项目中的开发者。
1. 环境准备 (以 Windows 11 为例)
-
安装 Anaconda: 从官网下载并安装,并将
Anaconda3及Scripts目录添加到系统环境变量PATH中。 -
创建并激活虚拟环境:
powershell
conda create -n qwen python=3.10
conda activate qwen
-
安装依赖库:
powershell
pip install modelscope transformers
如需 4bit/8bit 量化,可额外安装: pip install optimum auto-gptq
2. 下载模型
在 PowerShell 中执行以下命令,将模型下载到本地 Qwen目录。
powershell
mkdir Qwen
cd Qwen
git clone https://www.modelscope.cn/qwen/Qwen1.5-0.5B-Chat.git
提示: 国内用户访问 ModelScope (
modelscope.cn) 速度通常优于 Hugging Face。
3. 编写 Python 代码对话
在与 Qwen目录同级的路径下,创建 chat.py文件并粘贴以下代码:
python
from threading import Thread
from modelscope import AutoModelForCausalLM, AutoTokenizer
from transformers import TextIteratorStreamer
若有 GPU 则使用 "cuda",否则使用 "cpu"
device = "cuda"
从本地路径加载模型和分词器
model = AutoModelForCausalLM.from_pretrained(
"./Qwen/Qwen1.5-0.5B-Chat",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("./Qwen/Qwen1.5-0.5B-Chat")
print("模型加载完成,开始对话(输入 q 退出)...")
while True:
user_input = input("你:")
if user_input.lower() == "q":
print("再见!")
break
messages = [
{"role": "system", "content": "你是一个乐于助人的中文助手。"},
{"role": "user", "content": user_input}
]
# 应用聊天模板
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = tokenizer([text], return_tensors="pt").to(device)
# 流式输出
streamer = TextIteratorStreamer(tokenizer)
generation_kwargs = dict(inputs, streamer=streamer, max_new_tokens=512)
thread = Thread(target=model.generate, kwargs=generation_kwargs)
thread.start()
print("千问:", end="", flush=True)
for new_text in streamer:
print(new_text, end="", flush=True)
print()
运行 python chat.py即可开始对话。
🤔 如何选择?
-
新手 / 追求便捷: 选择 方案一 (Ollama),几分钟即可拥有本地 Web 聊天界面。
-
开发者 / 需要集成: 选择 方案二 (Python),可将模型能力嵌入到您的应用中。
如果您能提供您的操作系统和显卡配置,我可以为您提供更具体的命令和模型建议。
更多推荐



所有评论(0)