You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 11本地通过Python调用本地Llama 2 7B模型?

本地Llama-2-7B-chat模型交互代码

前置依赖安装

如果你的conda环境还没装必要库,先执行:

pip install transformers accelerate sentencepiece

如果显存不足,可额外安装bitsandbytes启用8bit/4bit量化:pip install bitsandbytes

核心交互代码

替换代码中的LOCAL_MODEL_PATH为你存放checklist.chk、consolidated.00.pth、params.json的文件夹路径:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# 本地模型路径,替换为你的实际路径
LOCAL_MODEL_PATH = "./llama-2-7b-chat"

# 加载tokenizer,Llama需要指定trust_remote_code
tokenizer = AutoTokenizer.from_pretrained(LOCAL_MODEL_PATH, trust_remote_code=True)
tokenizer.pad_token = tokenizer.eos_token  # 设置pad token,避免报错

# 加载模型,自动分配到CUDA;显存不足时可添加load_in_8bit=True或load_in_4bit=True
model = AutoModelForCausalLM.from_pretrained(
    LOCAL_MODEL_PATH,
    trust_remote_code=True,
    torch_dtype=torch.float16,  # 用float16节省显存,CUDA支持的话优先用
    device_map="auto"
)

def chat_with_model(prompt):
    # Llama-2 chat有固定的prompt格式,必须严格遵循
    formatted_prompt = f"<s>[INST] {prompt} [/INST]"
    inputs = tokenizer(formatted_prompt, return_tensors="pt").to(model.device)
    
    # 生成回答,可根据需求调整参数
    outputs = model.generate(
        **inputs,
        max_new_tokens=512,  # 最多生成的token数
        temperature=0.7,  # 控制生成随机性,越低越保守
        top_p=0.9,
        do_sample=True,
        eos_token_id=tokenizer.eos_token_id
    )
    
    # 解码并返回结果,去掉原始prompt部分
    response = tokenizer.decode(outputs[0], skip_special_tokens=True).split("[/INST]")[-1].strip()
    return response

# 示例交互循环
print("输入'quit'退出对话")
while True:
    user_input = input("你: ")
    if user_input.lower() == "quit":
        break
    response = chat_with_model(user_input)
    print(f"Llama-2: {response}")

关键说明

  • prompt格式:Llama-2 chat模型要求严格使用<s>[INST] 你的问题 [/INST]格式,否则生成效果会异常。
  • 显存优化:如果你的GPU显存不足(比如小于16G),可以在from_pretrained中添加load_in_8bit=True(需安装bitsandbytes),能大幅降低显存占用。
  • 参数调整:max_new_tokens控制回答长度,temperature控制随机性,可根据需求自行修改。

内容的提问来源于stack exchange,提问作者lutz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:52:38