AI(人工智能)、LLM(大模型/Large language model) | Ollama本地部署RAG、ChatGPT云端对话、离线安装Gemma、MCP模型上下文协议、Python
AI(人工智能/Artificial intelligence)
ChatGPT云端对话
Model Context Protocol (MCP) 模型上下文协议 - 用于 LLM 与外部数据源和工具之间的无缝集成。
Prompt - AI 提示词。
大模型
云端部署/本地离线 - Gemini 和 ChatGPT 属于云端在线用; Gemma 3 和 DeepSeek R1 则为离线部署用。
RAG(Retrieval Augmented Generation,检索增强生成)将大规模语言模型(LLM)与外部知识源的检索相结合,以改进问答能力。
LLM蒸馏技术:
将Teacher Model蒸馏为Student Model,虽然会损失部分能力,但可使其硬件要求降低;国内比较火的DeepSeek-R1即为蒸馏模型。
Mac mini M4 16GiB 内存丐版最大可部署 9GiB 大小的 DeepSeek-R1-Distill-Qwen-14B,Tokens/second为11.3、8B为19.6。
Ollama本地部署DeepSeek:
DeepSeek-R1 7B 4.7GB ollama run deepseek-r1
DeepSeek-R1 671B 404GB ollama run deepseek-r1:671b
LangChain(RetrievalQA) 或 AnythingLLM 通过RAG技术投喂知识库 - https://anythingllm.com/
Python
编译:
[libssl-dev安装后Python构建时就不需要指定--with-openssl了?]
wget https://www.openssl.org/source/openssl-3.5.0.tar.gz
tar -zxvf openssl-3.5.0.tar.gz
cd openssl-3.5.0
./config --prefix=/usr/local/openssl/
make
sudo make install
[fatal error: ffi.h] sudo apt install libffi-dev
[Could not build the ssl module!] sudo apt install libssl-dev
https://www.python.org/downloads/release/python-3110/
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
tar -xzvf Python-3.11.0.tgz
cd Python-3.11.0
[可省略?]sudo vim.tiny /etc/ld.so.conf.d/my-openssl.conf 执行 ldconfig 使其生效?
/usr/local/openssl/lib
指定安装目录,否则会覆盖本机Python版本:
./configure --prefix=/usr/local/python311/ --with-openssl=/usr/local/openssl/ --with-openssl-rpath=auto
make
sudo make install
/usr/local/python311/pip3
/usr/local/python311/python3 -m venv .pt2
查看版本 cat .pt2/pyvenv.cfg
Stable Diffusion
版本:最新版为 SD 3.5(不足100万美元可免费商用),普通用户部署首选 Stable Diffusion 3.5 Medium;UI 首选 ComfyUI,次选 Stable Diffusion web UI。
竞品 - Black Forest Labs(黑森林实验室) 的 Flux(比SD更强更开放?)、只线上服务的Midjourney
硬件要求:
8G显存虽慢但能跑,建议12G;内存24G;亲测 16G 内存跑 SDXL-base-1.0,在 Load Model 阶段就把内存和交换空间吃完而卡死,而 SD-2.1-768 渲染出图只占用 8G 内存。
安装:
Windows:
桌面版 - https://www.comfy.org/download 下载 *.exe(约110MiB) 后点击安装;无需翻墙,安装时会自动下载安装PyTorch(约5分钟)、CUDA、Python(*.exe 已内置3.12),非 *.exe 方式则需手动安装这些。
启动日志 C:\Users\pc\AppData\Roaming\ComfyUI\logs\comfyui.log
确认 ComfyUI 的 python 环境能力:
cd C:\Users\pc\Documents\ComfyUI\
./.venv/Scripts/Activate.ps1 由Astral工具uv所管理
python --version
pip3 show torch
python -c "import torch; print(torch.cuda.is_available())"
启动报错 -
[Could not find module 'C:\Users\pc\Documents\ComfyUI\.venv\Lib\site-packages\torchaudio\lib\libtorchaudio.pyd'] - 去掉 _torchaudio.pyd 的前缀;不解决也不影响使用。
下载模型(需页面填邮箱等)放入目录(默认空) C:\Users\pc\Documents\ComfyUI\models\checkpoints\
wget --header="Authorization: Bearer HuggingFaceToken" https://huggingface.co/stabilityai/stable-diffusion-3.5-medium/resolve/main/sd3.5_medium.safetensors?download=true
下载 CLIP Text Encoder 模型 clip_g.safetensors, clip_l.safetensors, t5xxl_fp16.safetensors(或低内存版本) 并放入(默认空) models/clip/
打开 SD3.5M_example_workflow.json 并设置:
TripleCLIPLoader 依次选中 clip_g.safetensors, clip_l.safetensors, t5xxl_fp16.safetensors
Load Checkpoint 选中 sd3.5_medium.safetensors 后输入提示词(仅支持English),点击 Queue 进行生图,会占内存14.6G,GPU占17G,持续30秒出图。
CUDA:
nvidia-smi 待安装的CUDA版本必须小于或等于该命令输出的CUDA版本
sudo apt install nvidia-cuda-toolkit 约2.6G大小
安装后用CUDA的工具来查看CUDA版本: nvcc --version
PyTorch:
注意 - Stable Diffusion 锁死了 Python 3.11(测下FaceFusion的Python 3.12) + torch==2.0.1 版本!
sudo apt install python3-pip
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
sudo apt install git
拉取latest(约90MiB),后续考虑是否通过版本号克隆:
git clone https://github.com/Stability-AI/generative-models.git
cd generative-models
解决未生成 .pt2/bin/activate 文件:
sudo apt install python3-venv
[避免太旧] pip install --upgrade pip
[首次不用] rm -rf .pt2/
python3 -m venv .pt2
source .pt2/bin/activate 退出输入 deactivate
未被墙,3分钟安装完毕;此处的CUDA 11.8版本可低于系统已装CUDA版本;cu124 找不到 torchaudio 包
亲测可用版本 - https://pytorch.org/get-started/previous-versions/#linux-and-windows-26
注意 - Python版本必须是3.11,才能从url里检索到2.0.1版本(2G大小):
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
[可选?] 移除 requirements/pt2.txt 内未使用的 triton==2.0.0 行 https://github.com/Stability-AI/generative-models/issues/41
vim.tiny requirements/pt2.txt
[tokenizers 报 error: casting `&T` to `&mut T`] export RUSTFLAGS="-A invalid_reference_casting"
未完全被墙,但会从 https://github.com/openai/CLIP.git 构建,拉取失败就多试几次;或改为 https://gh-proxy.com/https://github.com/openai/CLIP.git
pip3 install -r requirements/pt2.txt
注意 - xformers会从0.0.20下载至0.0.29版本,挺浪费宽带流量的!
export PYTHONPATH=$(pwd) Windows 则用 $ENV:PYTHONPATH=$PWD
streamlit run scripts/demo/sampling.py --server.port 12345 选中 SDXL-base-1.0 勾上 Load Model 或指定目录:
vim.tiny configs/inference/sd_xl_base.yaml 在 conditioner_config 中 version 值 laion2b_s39b_b160k 改为 /home/aw/sd/CLIP-ViT-bigG-14-laion2B-39B-b160k/open_clip_pytorch_model.bin
分词器下载 https://huggingface.co/openai/clip-vit-large-patch14 放入 generative-models/openai/clip-vit-large-patch14/model.safetensors 等十几个文件
pip install -U "huggingface_hub[cli]" 无需登录
huggingface-cli download openai/clip-vit-large-patch14 --local-dir hf-dir
[A module that was compiled using NumPy 1.x cannot be run in NumPy 2.1.0 as it may crash.]降版本 - pip install numpy==1.26.4
[The shape of the 2D attn_mask is torch.Size([77, 77]), but should be (1, 1)] pip install open-clip-torch==2.24.0
[访问网页报 - ModuleNotFoundError: No module named '_bz2'、'_lzma']
sudo apt install liblzma-dev libbz2-dev Debian之外包名为bzip2-devel?
安装后需要重新编译Python
[只用于训练/暂时用不着] pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata
[can't find Rust compiler]
解决 Rust 编译时报 [pkg-config command could not be found.] sudo apt install pkg-config
Linux - https://www.rust-lang.org/tools/install 提问回车选择 1) Proceed with standard installation
export PATH="$HOME/.cargo/bin:$PATH"
rustc --version
Windows - https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
[大约3GB] 单个组件Tab搜索MSVC勾上MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
https://www.rust-lang.org/tools/install 选 64-bit
rustc --version # rustup default stable-msvc
解决ModuleNotFoundError: No module named 'torch'
pip3 install --upgrade setuptools wheel
其他
机器学习(machine learning)
恐怖谷效应 - 当人类看到类似人类的物体,特别是机器人时,会产生不舒服的感受。