从此

AI 大模型、生成式技术、Stable Diffusion、Gemini API

综合

AI人工智能专题Google AI

Gemini

AI 大模型函数调用 - https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/tools/function-calling?hl=zh-cn

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\ 或自定义 F:\big\comfyui\stable-diffusion-webui\models\Stable-diffusion\sd3.5_medium.safetensors
      修改 ComfyUI 模型目录: Help -> Open Folder -> Open extra_model_paths.yaml(Windows 名为 extra_models_config.yaml / a111 是 stable-diffusion-webui 专用配置),追加:
a111: base_path: F:\big\comfyui\stable-diffusion-webui checkpoints: models/Stable-diffusion clip: models/CLIP/
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

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

其他