huggingface的模型deepseek-llm-7b-chat本地部署
本地地址
使用代码
AutoTokenizer.from_pretrained(model_name)
模型下载地址:下面bai是你的电脑用户名称
C:\Users\bai\.cache\huggingface\hub\
单次运行
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
model_name = "deepseek-ai/deepseek-llm-7b-chat"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
model.generation_config = GenerationConfig.from_pretrained(model_name)
model.generation_config.pad_token_id = model.generation_config.eos_token_id
messages = [
{"role": "user", "content": "Who are you?"}
]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device), max_new_tokens=100)
result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True)
print(result)
保留聊天窗口,使用pytorch,deepseek做一个带有历史的聊天
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
# 模型和tokenizer的加载
model_name = "deepseek-ai/deepseek-llm-7b-chat"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
model.generation_config = GenerationConfig.from_pretrained(model_name)
model.generation_config.pad_token_id = model.generation_config.eos_token_id
# 初始化对话历史
messages = []
# 循环,直到用户决定停止对话
while True:
# 获取用户输入
user_input = input("You: ")
if user_input.lower() == "quit":
break
# 更新对话历史
messages.append({"role": "user", "content": user_input})
# 将对话历史转换为模型的输入格式
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
# 生成回答
outputs = model.generate(input_tensor.to(model.device), max_new_tokens=100)
# 解码生成的回答
result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True)
print("AI:", result)
# 将AI的回答也加入到对话历史中
messages.append({"role": "system", "content": result})