大模型部署实践2
第27-28 学时:大模型任务实践
课中实施:
使用python部署deepseek R1 1.5B
使用deepseek帮我们写代码。
软件环境
python-3.11.7-amd64
PyCharm IDE
下载地址:
python-3.11.7
PyCharm IDE实践步骤
1.下载模型代码
import os
import requests
base_url = "http://192.168.189.3:8015/DeepSeek-R1-Distill-Qwen-1.5B/"
files = [
"config.json",
"generation_config.json",
"tokenizer_config.json",
"tokenizer.json",
"model.safetensors"
]
save_dir = r"D:\aimodel\DeepSeek-R1-Distill-Qwen-1.5B"
os.makedirs(save_dir, exist_ok=True)
for file in files:
url = base_url + file
save_path = os.path.join(save_dir, file)
print(f"⬇️ 正在下载 {file} ...")
r = requests.get(url, stream=True)
with open(save_path, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
if chunk:
f.write(chunk)
print("✅ 所有模型文件下载完成!")
2.运行模型测试代码
from transformers import AutoTokenizer, AutoModelForCausalLM import torch # 模型路径(你本地下载的) model_path = "D:/aimodel/DeepSeek-R1-Distill-Qwen-1.5B" # 加载 tokenizer 和 model print("📦 正在加载模型和分词器...") tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True) model.eval() # 如果有GPU,放上去 device = "cuda" if torch.cuda.is_available() else "cpu" model.to(device) print(f"🚀 模型已加载,使用设备:{device}") # 初始化对话历史 chat_history = [] def build_prompt(history, new_question): full_prompt = "" for i, (q, a) in enumerate(history): full_prompt += f"[Round {i+1}]\n问:{q}\n答:{a}\n" full_prompt += f"[Round {len(history)+1}]\n问:{new_question}\n答:" return full_prompt print("\n🤖 欢迎使用 DeepSeek 模型!输入你的问题吧,输入 `exit` 退出。\n") while True: query = input("🧑 你:") if query.strip().lower() in ["exit", "quit"]: print("👋 再见!") break prompt = build_prompt(chat_history, query) inputs = tokenizer(prompt, return_tensors="pt").to(device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=200, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.1, eos_token_id=tokenizer.eos_token_id, ) response = tokenizer.decode(outputs[0], skip_special_tokens=True) answer = response[len(prompt):].strip() print(f"🤖 DeepSeek:{answer}\n") chat_history.append((query, answer))3. 常见问题是下载不了软件包
解决办法:安装时指定镜像仓库源
清华大学pypi软件仓库:
https://pypi.tuna.tsinghua.edu.cn/simple阿里pypi软件仓库:
https://mirrors.aliyun.com/pypi/simple/腾讯pypi软件仓库:
https://mirrors.cloud.tencent.com/pypi/simple/使用方法:
pip install requests -i https://mirrors.cloud.tencent.com/pypi/simple
作者:信息技术教研室 创建时间:2025-04-03 17:20
最后编辑:信息技术教研室 更新时间:2025-08-13 10:53
最后编辑:信息技术教研室 更新时间:2025-08-13 10:53