从此
📄文章 #️⃣专题 🌐酷站 👨‍💻技术 📺 📱

AI(人工智能)、LLM(大模型/Large language model) | Ollama本地部署RAG、ChatGPT云端对话、离线安装Gemma、MCP模型上下文协议、Python

综合

AI人工智能专题

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)
恐怖谷效应 - 当人类看到类似人类的物体,特别是机器人时,会产生不舒服的感受。