我原本对DeepSeek R1的性能预期不高,但实际测试7B DeepSeek模型(deepseek-ai/deepseek-r1-distill-qwen-7b)后,结果却令人惊喜。
这是一个利用Transformer模型生成用户查询回复的项目,它巧妙地结合了Hugging Face和Torch的Transformers库,实现了高效的模型处理和推理。
配置
前提条件:
安装:
git clone https://github.com/alexander-uspenskiy/deepseek
cd deepseek
python -m venv venv
source venv/bin/activate
pip install transformers torch
使用方法:
python deepseek.py
项目结构
deepseek.py
:包含模型设置和回复生成逻辑的主脚本。
示例:
(venv) $ python deepseek.py
enter your question (or 'quit' to exit): a bat and a ball costs 1 dollar and 10 cents in total. the bat costs 1 dollar more than a ball. how much does the ball costs?
response: question: a bat and a ball costs 1 dollar and 10 cents in total. the bat costs 1 dollar more than a ball. how much does the ball costs?
answer: 5 cents.
... (后续推理过程) ...
该模型的回复展现了完整的推理过程,对于可在笔记本电脑上运行的模型而言,这着实令人印象深刻。
源代码:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
def setup_model():
model_id = "deepseek-ai/deepseek-r1-distill-qwen-7b"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto",
trust_remote_code=True
)
return model, tokenizer
def generate_response(model, tokenizer, prompt, max_length=512):
inputs = tokenizer(prompt, return_tensors="pt", padding=True, truncation=True).to(model.device)
with torch.no_grad():
outputs = model.generate(
inputs.input_ids,
attention_mask=inputs.attention_mask,
max_length=max_length,
temperature=0.7,
top_p=0.9,
do_sample=True,
pad_token_id=tokenizer.pad_token_id,
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response
def main():
try:
model, tokenizer = setup_model()
while True:
question = input("nenter your question (or 'quit' to exit): ")
if question.lower() == 'quit':
break
prompt = f"question: {question}nanswer:"
response = generate_response(model, tokenizer, prompt)
print(f"nresponse: {response}")
except Exception as e:
print(f"an error occurred: {str(e)}")
if __name__ == "__main__":
main()
故障排除:
如果遇到模型下载或运行问题,请确保网络连接稳定,并尝试以下步骤:
source venv/bin/activate
pip install --upgrade transformers torch
which python
通过以上步骤,您可以轻松运行并体验DeepSeek R1模型的强大功能。