【无标题】

很好,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 服务。

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

相关推荐
DLYSB_6 小时前
存储运维实战:基于 Ceph Event 监听与 Python 适配器的分布式存储健康度物理声光响应架构
运维·ceph·python·报警灯
刹那芳华19926 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作6 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
shxjnpl7 小时前
Qwen3-ASR 从 PyTorch 迁移到 vLLM:一次信创环境下的推理路径改造实录
人工智能·pytorch·vllm
阿童木写作8 小时前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
就是一只白9 小时前
复制地理信息python版本
python
看浪的路人9 小时前
第1讲:Agent 到底是什么?和 Chatbot 有什么区别
python·ai
瓦学妹10 小时前
什么是网络索引?它是如何工作的?
大数据·网络·python·网络爬虫
天天爱吃肉821810 小时前
商用车多体动力学实战笔记|第6篇:动力传动系统(发动机、变速箱、分动器、TCS、LSD限滑差速)
大数据·人工智能·笔记·python·嵌入式硬件·汽车
DogDaoDao10 小时前
DeepQTMT: 深度学习加速VVC帧内编码CU划分 —— 论文深度解读与源码拆解
人工智能·深度学习·视频编解码·h266·vvc·帧内预测·deepqtmt