本帖是遇到很多问题然后搜集各种资源,解决问题后为自己写的一个完整流程
windows11安装配置wsl2
可用命令安装wsl(Windows 10 版本需要 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令)
wsl --install
这里介绍手动安装的方式
1.打开搜索找到Windows功能的面板
2.启用 适用于Linux的Windows子系统 和 虚拟机平台 然后点确定后重启更新配置
3.打开微软商店下载ubuntu(这里下载的是22.04)
4.下载完成后点打开等待配置后输入用户名和密码即可
5.快捷键win+r后输入cmd,然后命令检查确认下载完成
wsl -l -v
运行结果
NAME STATE VERSION
* Ubuntu-22.04 Running 2
ps:可能遇到的问题
错误代码 0x800701bc:可更新现有发行版解决或者重装
wsl --update
错误代码 0x80370102:虚拟化未打开,检查之前的Windows功能中虚拟机相关功能是否已经打开
Ctrl+shift+esc 可查看任务管理器,选择性能查看CPU界面是否已经打开虚拟化,若成功打开时这样的界面
若还是未打开,上述图片中虚拟化显示已禁用字样,可以在 BIOS 中启用虚拟化功能
可使用开机时快捷键进入也可选择在设置中的高级启动中进入
重启后进入选择一个选项 > 疑难解答 > 高级选项 > UEFI固件设置
进入后找到本电脑的CPU相关选项然后打开虚拟化设置即可
Anaconda安装和配置
打开安装好的ubuntu22.04,然后进行安装, 中间可q跳过,走流程按enter和输yes即可
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
bash Anaconda3-2024.10-1-Linux-x86_64.sh
配置环境变量
vim ~/.bashrc
打开文件后按G跳转到最后一行,按i进入编辑模式,在最底部添加代码
export PATH="/home/用户名/anaconda3/bin:$PATH"
然后按esc退出模式,输入:wq退出文件编辑,再运行如下命令更新配置
source ~/.bashrc
验证安装
conda --version
得到下面结果
conda 24.9.2
配置conda和pip镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://repo.anaconda.com/pkgs/main
conda config --add channels https://repo.anaconda.com/pkgs/r
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
配置HF模型相关库
先前在一个anaconda环境中导出完整的conda环境配置
conda env export > environment.yml
在新conda中快速安装
conda env create -f environment.yml
也可以根据conda的相关命令重新配置相关库包
# 创建虚拟环境
conda create -n 虚拟环境名称 python=版本号
#激活虚拟环境
conda activate 虚拟环境名称
#安装库包
conda install 库包名称 #conda安装方式
pip install 库包名称 #pip安装方式
基本上涵盖以下库包
# Name Version Build Channel
_libgcc_mutex 0.1 main http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
_openmp_mutex 5.1 1_gnu http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
absl-py 2.1.0 pypi_0 pypi
accelerate 1.4.0 pypi_0 pypi
aiohappyeyeballs 2.5.0 pypi_0 pypi
aiohttp 3.11.13 pypi_0 pypi
aiosignal 1.3.2 pypi_0 pypi
airportsdata 20250224 pypi_0 pypi
annotated-types 0.7.0 pypi_0 pypi
anyio 4.8.0 pypi_0 pypi
astor 0.8.1 pypi_0 pypi
async-timeout 4.0.3 pypi_0 pypi
attrs 25.1.0 pypi_0 pypi
blake3 1.0.4 pypi_0 pypi
bzip2 1.0.8 h5eee18b_6 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
ca-certificates 2024.12.31 h06a4308_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
certifi 2025.1.31 pypi_0 pypi
charset-normalizer 3.4.1 pypi_0 pypi
click 8.1.8 pypi_0 pypi
cloudpickle 3.1.1 pypi_0 pypi
compressed-tensors 0.9.1 pypi_0 pypi
cupy-cuda12x 13.4.0 pypi_0 pypi
dashscope 1.22.2 pypi_0 pypi
dataclasses-json 0.6.7 pypi_0 pypi
decorator 5.2.1 pypi_0 pypi
depyf 0.18.0 pypi_0 pypi
dill 0.3.9 pypi_0 pypi
diskcache 5.6.3 pypi_0 pypi
distro 1.9.0 pypi_0 pypi
dnspython 2.7.0 pypi_0 pypi
docker-pycreds 0.4.0 pypi_0 pypi
einops 0.8.1 pypi_0 pypi
email-validator 2.2.0 pypi_0 pypi
et-xmlfile 2.0.0 pypi_0 pypi
exceptiongroup 1.2.2 pypi_0 pypi
fastapi 0.115.11 pypi_0 pypi
fastapi-cli 0.0.7 pypi_0 pypi
fastrlock 0.8.3 pypi_0 pypi
filelock 3.17.0 pypi_0 pypi
fire 0.7.0 pypi_0 pypi
frozenlist 1.5.0 pypi_0 pypi
fsspec 2024.6.1 pypi_0 pypi
gguf 0.10.0 pypi_0 pypi
gitdb 4.0.12 pypi_0 pypi
gitpython 3.1.44 pypi_0 pypi
greenlet 3.1.1 pypi_0 pypi
h11 0.14.0 pypi_0 pypi
httpcore 1.0.7 pypi_0 pypi
httptools 0.6.4 pypi_0 pypi
httpx 0.28.1 pypi_0 pypi
httpx-sse 0.4.0 pypi_0 pypi
huggingface-hub 0.28.1 pypi_0 pypi
idna 3.10 pypi_0 pypi
importlib-metadata 8.6.1 pypi_0 pypi
iniconfig 2.0.0 pypi_0 pypi
interegular 0.3.3 pypi_0 pypi
jinja2 3.1.6 pypi_0 pypi
jiter 0.8.2 pypi_0 pypi
joblib 1.4.2 pypi_0 pypi
jsonpatch 1.33 pypi_0 pypi
jsonpointer 3.0.0 pypi_0 pypi
jsonschema 4.23.0 pypi_0 pypi
jsonschema-specifications 2024.10.1 pypi_0 pypi
langchain 0.3.20 pypi_0 pypi
langchain-community 0.3.19 pypi_0 pypi
langchain-core 0.3.41 pypi_0 pypi
langchain-experimental 0.3.4 pypi_0 pypi
langchain-text-splitters 0.3.6 pypi_0 pypi
langsmith 0.3.12 pypi_0 pypi
lark 1.2.2 pypi_0 pypi
ld_impl_linux-64 2.40 h12ee557_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libffi 3.4.4 h6a678d5_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libgcc-ng 11.2.0 h1234567_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libgomp 11.2.0 h1234567_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libstdcxx-ng 11.2.0 h1234567_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
libuuid 1.41.5 h5eee18b_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
llvmlite 0.43.0 pypi_0 pypi
lm-format-enforcer 0.10.11 pypi_0 pypi
markdown-it-py 3.0.0 pypi_0 pypi
markupsafe 2.1.5 pypi_0 pypi
marshmallow 3.26.1 pypi_0 pypi
mdurl 0.1.2 pypi_0 pypi
mistral-common 1.5.3 pypi_0 pypi
modelscope 1.22.3 pypi_0 pypi
mpmath 1.3.0 pypi_0 pypi
msgpack 1.1.0 pypi_0 pypi
msgspec 0.19.0 pypi_0 pypi
multidict 6.1.0 pypi_0 pypi
mypy-extensions 1.0.0 pypi_0 pypi
ncurses 6.4 h6a678d5_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
nest-asyncio 1.6.0 pypi_0 pypi
networkx 3.3 pypi_0 pypi
nltk 3.9.1 pypi_0 pypi
numba 0.60.0 pypi_0 pypi
numpy 1.26.4 pypi_0 pypi
nvidia-cublas-cu11 11.11.3.6 pypi_0 pypi
nvidia-cublas-cu12 12.4.5.8 pypi_0 pypi
nvidia-cuda-cupti-cu11 11.8.87 pypi_0 pypi
nvidia-cuda-cupti-cu12 12.4.127 pypi_0 pypi
nvidia-cuda-nvrtc-cu11 11.8.89 pypi_0 pypi
nvidia-cuda-nvrtc-cu12 12.4.127 pypi_0 pypi
nvidia-cuda-runtime-cu11 11.8.89 pypi_0 pypi
nvidia-cuda-runtime-cu12 12.4.127 pypi_0 pypi
nvidia-cudnn-cu11 9.1.0.70 pypi_0 pypi
nvidia-cudnn-cu12 9.1.0.70 pypi_0 pypi
nvidia-cufft-cu11 10.9.0.58 pypi_0 pypi
nvidia-cufft-cu12 11.2.1.3 pypi_0 pypi
nvidia-curand-cu11 10.3.0.86 pypi_0 pypi
nvidia-curand-cu12 10.3.5.147 pypi_0 pypi
nvidia-cusolver-cu11 11.4.1.48 pypi_0 pypi
nvidia-cusolver-cu12 11.6.1.9 pypi_0 pypi
nvidia-cusparse-cu11 11.7.5.86 pypi_0 pypi
nvidia-cusparse-cu12 12.3.1.170 pypi_0 pypi
nvidia-nccl-cu11 2.20.5 pypi_0 pypi
nvidia-nccl-cu12 2.21.5 pypi_0 pypi
nvidia-nvjitlink-cu12 12.4.127 pypi_0 pypi
nvidia-nvtx-cu11 11.8.86 pypi_0 pypi
nvidia-nvtx-cu12 12.4.127 pypi_0 pypi
openai 1.66.3 pypi_0 pypi
opencv-python-headless 4.11.0.86 pypi_0 pypi
openpyxl 3.1.5 pypi_0 pypi
openssl 3.0.15 h5eee18b_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
orjson 3.10.15 pypi_0 pypi
outlines 0.1.11 pypi_0 pypi
outlines-core 0.1.26 pypi_0 pypi
packaging 24.2 pypi_0 pypi
pandas 2.2.3 pypi_0 pypi
partial-json-parser 0.2.1.1.post5 pypi_0 pypi
pillow 11.0.0 pypi_0 pypi
pip 25.0 py310h06a4308_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
platformdirs 4.3.6 pypi_0 pypi
pluggy 1.5.0 pypi_0 pypi
prometheus-client 0.21.1 pypi_0 pypi
prometheus-fastapi-instrumentator 7.0.2 pypi_0 pypi
propcache 0.3.0 pypi_0 pypi
protobuf 5.29.3 pypi_0 pypi
psutil 7.0.0 pypi_0 pypi
py 1.11.0 pypi_0 pypi
py-cpuinfo 9.0.0 pypi_0 pypi
pybind11 2.13.6 pypi_0 pypi
pycountry 24.6.1 pypi_0 pypi
pydantic 2.10.6 pypi_0 pypi
pydantic-core 2.27.2 pypi_0 pypi
pydantic-settings 2.8.1 pypi_0 pypi
pygments 2.19.1 pypi_0 pypi
pytest 8.3.5 pypi_0 pypi
python 3.10.16 he870216_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
python-dateutil 2.9.0.post0 pypi_0 pypi
python-dotenv 1.0.1 pypi_0 pypi
python-multipart 0.0.20 pypi_0 pypi
pytz 2025.1 pypi_0 pypi
pyyaml 6.0.2 pypi_0 pypi
pyzmq 26.2.1 pypi_0 pypi
ray 2.40.0 pypi_0 pypi
readline 8.2 h5eee18b_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
referencing 0.36.2 pypi_0 pypi
regex 2024.11.6 pypi_0 pypi
requests 2.32.3 pypi_0 pypi
requests-toolbelt 1.0.0 pypi_0 pypi
retry 0.9.2 pypi_0 pypi
rich 13.9.4 pypi_0 pypi
rich-toolkit 0.13.2 pypi_0 pypi
rouge-score 0.1.2 pypi_0 pypi
rpds-py 0.23.1 pypi_0 pypi
safetensors 0.4.5 pypi_0 pypi
sentencepiece 0.2.0 pypi_0 pypi
sentry-sdk 2.22.0 pypi_0 pypi
setproctitle 1.3.5 pypi_0 pypi
setuptools 75.8.0 py310h06a4308_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
shellingham 1.5.4 pypi_0 pypi
six 1.17.0 pypi_0 pypi
smmap 5.0.2 pypi_0 pypi
sniffio 1.3.1 pypi_0 pypi
sqlalchemy 2.0.38 pypi_0 pypi
sqlite 3.45.3 h5eee18b_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
starlette 0.46.0 pypi_0 pypi
sympy 1.13.1 pypi_0 pypi
tenacity 9.0.0 pypi_0 pypi
termcolor 2.5.0 pypi_0 pypi
tiktoken 0.9.0 pypi_0 pypi
tk 8.6.14 h39e8969_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
tokenizers 0.21.0 pypi_0 pypi
tomli 2.2.1 pypi_0 pypi
torch 2.5.1 pypi_0 pypi
torchaudio 2.5.1 pypi_0 pypi
torchvision 0.20.1 pypi_0 pypi
tqdm 4.67.1 pypi_0 pypi
transformers 4.49.0 pypi_0 pypi
triton 3.1.0 pypi_0 pypi
typer 0.15.2 pypi_0 pypi
typing-extensions 4.12.2 pypi_0 pypi
typing-inspect 0.9.0 pypi_0 pypi
tzdata 2025.1 pypi_0 pypi
urllib3 2.3.0 pypi_0 pypi
uvicorn 0.34.0 pypi_0 pypi
uvloop 0.21.0 pypi_0 pypi
vllm 0.7.3 pypi_0 pypi
wandb 0.19.8 pypi_0 pypi
watchfiles 1.0.4 pypi_0 pypi
websocket-client 1.8.0 pypi_0 pypi
websockets 15.0.1 pypi_0 pypi
wheel 0.45.1 py310h06a4308_0 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
xformers 0.0.28.post3 pypi_0 pypi
xgrammar 0.1.11 pypi_0 pypi
xz 5.4.6 h5eee18b_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
yarl 1.18.3 pypi_0 pypi
zipp 3.21.0 pypi_0 pypi
zlib 1.2.13 h5eee18b_1 http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
zstandard 0.23.0 pypi_0 pypi
VLLM运维HF模型
因为国外网站需要科学上网,此处提供镜像网站HF-Mirror
配置镜像网站
#配置代理
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
#重启配置
source ~/.bashrc
切到配置好的环境中下载模型(这里是huggingface-cli方式)
#无需登录获取
huggingface-cli download --resume-download 复制模型名称 --local-dir 本地文件夹指定路径
#需要登录获取
huggingface-cli download --token hf_*** --resume-download 复制模型名称 --local-dir 本地文件夹指定路径
模型名称
其余获取token(需要科学上网)以及另一种下载模型的方式指路网站首页的教程。
VLLM运维模型
可通过vscode连接wsl进行相关操作
具体可安装这些插件
然后使用vllm运行测试相关代码如下
import torch
from vllm import LLM, SamplingParams
import os
#hf模型必备
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True"
# 设置使用的 GPU
os.environ["CUDA_VISIBLE_DEVICES"] = "3"
# 1. 加载本地模型并指定使用的 GPU
model_path = "models/ChatDoctor" # 本地模型路径
# 加载模型到指定的 GPU 上
llm = LLM(model=model_path, tensor_parallel_size=1,trust_remote_code=True, dtype="float16") # 使用 1 块 GPU
# 2. 定义生成参数
sampling_params = SamplingParams(
max_tokens=512, # 生成的最大 token 数
temperature=0.7, # 控制生成多样性
top_p=0.95, # 采样策略
)
def generate_response(prompt):
# 使用 llm.generate 生成响应
outputs = llm.generate([prompt], sampling_params)
return outputs[0].outputs[0].text
# 4. 对话循环
print("开始对话!输入 'exit' 结束对话。")
while True:
user_input = input("你: ")
if user_input.strip().lower() == "exit": # 严格匹配
print("对话结束。")
break
response = generate_response(user_input)
print(f"AI: {response}")