【无标题】

很好,Python 3.8.5 完全够用(第一天不需要更高版本)。接下来继续第一天剩余的任务 :在 base 环境里安装必需的库,并成功跑通第一个本地大模型。


第1步:确保你在 base 环境中

你的终端提示符前面已经有 (base),说明已经在 base 环境里。如果没有,运行:

bash 复制代码
conda activate base

第2步:安装三个核心库(约10分钟)

(base) 提示符下,依次执行(或一次性复制粘贴):

bash 复制代码
pip install torch transformers sentence-transformers
  • 如果下载慢,可以临时换成国内镜像:

    bash 复制代码
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch transformers sentence-transformers
  • 这不会影响你原有的 conda 环境,因为 pip install 只会装到当前激活的 base 环境里。


第3步:写一个测试脚本 test_model.py

在你习惯的目录下(比如 C:\Users\Lenovo\ai_test)新建一个文件 test_model.py,内容如下:

python 复制代码
import time
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2-0.5B-Instruct"  # 约300MB,适合CPU运行

print("正在加载模型和分词器(首次会自动下载)...")
start = time.time()

tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    trust_remote_code=True,
    device_map="cpu"
)

print(f"加载完成,耗时 {time.time()-start:.2f} 秒")

prompt = "介绍一下什么是LLM"
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

inputs = tokenizer(text, return_tensors="pt")
start_gen = time.time()
outputs = model.generate(
    inputs.input_ids,
    max_new_tokens=200,
    temperature=0.7,
    do_sample=True,
    pad_token_id=tokenizer.eos_token_id
)
gen_time = time.time() - start_gen

response = tokenizer.decode(outputs[0], skip_special_tokens=True)
assistant_response = response.split("assistant")[-1].strip()

print("\n--- 模型回答 ---")
print(assistant_response)
print(f"\n生成耗时:{gen_time:.2f} 秒")

本地下载模型失败,改成了魔塔模型。过程如下,

  • 第一步:安装 ModelScope 库

    ai_env 环境下执行命令:

    bash 复制代码
    conda activate ai_env
    pip install modelscope
  • 第二步:创建并使用新代码

    新建一个 test_modelscope.py 文件,将下面内容粘贴进去。这段代码直接通过 ModelScope 接口来加载和测试模型,不依赖 transformers 库,是目前最稳妥的连接方式:

    python 复制代码
    # test_modelscope.py
    from modelscope import AutoModelForCausalLM, AutoTokenizer
    import time
    
    # 指定 ModelScope 上的模型ID
    model_id = 'qwen/Qwen2-0.5B-Instruct'
    
    print("正在从 ModelScope (魔搭) 加载模型,首次下载可能需几分钟...")
    start = time.time()
    
    # 加载模型和分词器
    model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
    tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
    
    print(f"模型加载完成,耗时 {time.time()-start:.2f} 秒")
    
    prompt = "介绍一下什么是LLM"
    messages = [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": prompt}
    ]
    
    text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
    inputs = tokenizer(text, return_tensors="pt")
    
    start_gen = time.time()
    outputs = model.generate(inputs.input_ids, max_new_tokens=200, temperature=0.7, do_sample=True)
    gen_time = time.time() - start_gen
    
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    # 清理输出,只保留助手的回复
    assistant_response = response.split("assistant")[-1].strip()
    
    print("\n--- 模型回答 (来自 ModelScope) ---")
    print(assistant_response)
    print(f"\n生成耗时:{gen_time:.2f} 秒")
  • 第三步:运行新代码

    在终端运行:

    bash 复制代码
    python test_modelscope.py

    运行后,应该就能看到模型成功下载并生成回答了。如果你运行的是 test_modelscope.py 文件,模型就已经准备好,可以继续完成第一天的学习任务了。


第4步:运行脚本

bash 复制代码
python C:\Users\Lenovo\ai_test\test_model.py

(如果你把文件放在了别处,请替换成实际路径)

第一次运行会下载模型文件(大约300-400MB),取决于网速可能需要1-3分钟。之后你会看到类似下面的输出:

复制代码
正在加载模型...
加载完成,耗时 52.13 秒

--- 模型回答 ---
LLM是Large Language Model的缩写,即大语言模型...
生成耗时:2.67 秒

如果遇到常见问题

问题 解决方法
Connection error 或下载极慢 设置镜像环境变量: set HF_ENDPOINT=https://hf-mirror.com 然后重新运行脚本
No module named 'torch' 检查是否在 (base) 环境里,重新执行 pip install torch
内存不足(报 MemoryError 换一个更小的模型:model_name = "facebook/opt-125m"
输出乱码或无意义重复 正常现象,模型太小。可以降低 temperature 到 0.1 再试

今天的产出

✅ 你在 base 环境里成功安装了 AI 库

✅ 你运行了第一个本地大模型推理,看到了文字输出

明天我们会基于这个模型,用 FastAPI 把它包装成一个 HTTP 服务。

如果现在时间充裕,可以先把脚本跑通,把成功截图或报错信息发给我。

相关推荐
人月神话-Lee1 小时前
【图像处理】vImage/Accelerate——SIMD 让 CPU 也能飞
图像处理·深度学习·ios·cnn·ai编程·swift
zhangfeng11331 小时前
htc 中minconda 明明安装了 Python 3.10显示 python 3.8 因为 `conda activate` 没有真正切换成功
开发语言·python·conda
weixin_468466851 小时前
通义千问核心能力与实战表现深度评测
人工智能·深度学习·算法·ai·大模型
m沐沐1 小时前
【机器学习】NLP---用 Python+TF-IDF 给《红楼梦》自动提取关键词
人工智能·python·机器学习·自然语言处理·nlp·中文分词·tf-idf
Fleshy数模1 小时前
深度学习核心:神经网络
python
书生的梦1 小时前
《神经网络与深度学习》学习笔记(三):Transformer 模型
深度学习·神经网络·学习
m沐沐1 小时前
【机器学习】Python 实现垃圾邮件分类(随机森林 + 可视化 + 特征重要性)
人工智能·python·随机森林·机器学习·分类·pycharm·回归算法
在繁华处1 小时前
Java从零到熟练(八):泛型与注解
java·开发语言·python