笔记笔记
  • Home
  • AI&ML
  • Example
  • Zoo
  • 关于
⌘ K
Light mode
简介
Ollama
ZeroClaw
OpenClaw
Claude Code
RAGFlow
Stable Diffusion
ComfyUI
PyTorch
Paddle
关注的模型
关注的组织
目标检测
研究
YOLO
其他
文档技巧
最后更新时间:
Copyright © 2023-2026 | Powered by dumi | GuoDapeng | 冀ICP备20004032号-2 | 冀公网安备 冀公网安备13020302001452号

TABLE OF CONTENTS

‌
‌
‌
‌

Ollama

Ollama 官网

在 ollama version is 0.11.4 版本中,使用图形界面设置模型存储位置和外部访问,可以在重启系统后记住上次的设置了。

shell
# 设置模型存储位置
launchctl setenv OLLAMA_MODELS /Volumes/JZ4T/EasyWork/AI/ollama
# 设置允许外部访问
launchctl setenv OLLAMA_HOST "0.0.0.0"
# 查看已经下载的模型
ollama list
# 运行模型;没有下载就会自动下载
ollama run qwen2:72b
# 查看运行的模型状态;可以用来确认模型是否跑在 GPU 上
ollama ps
# 删除模型
ollama rm llava:34b

目前 Ollama 提供对话窗口

Open WebUI

Open WebUI - Ollama

shell
docker run -d \
--restart always \
--name open-webui \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
ghcr.io/open-webui/open-webui:main

http://host.docker.internal:11434 这样就可以使用本机部署的 Ollama API 了。

ollama run qwen3-vl:4b 下载模型在 Apple M3 Max 上进行测试。 open webui 与 qwen3-vl:4b 兼容有限,文本聊天看着还行。 上传图片后,open webui 调用这个模型后,模型心里逼逼赖赖了10多分钟,也没输啥有效信息。 我直接使用 CURL 调用 ollama API,这个模型就 30秒左右返回比较不错的结果。

MaxKB

MaxKB

shell
docker run -d \
--name=maxkb \
--restart=always \
-p 3001:8080 \
-v maxkb:/opt/maxkb \
registry.fit2cloud.com/maxkb/maxkb
# 用户名: admin
# 密码: MaxKB@123..

http://host.docker.internal:11434 这样就可以使用本机部署的 Ollama API 了。API Key 随便写点即可。

Ollama 可以使用 shaw/dmeta-embedding-zh:latest 模型对知识库向量化,使用 GPU 速度比较快。

目前 MaxKB 集成了 shibing624_text2vec-base-chinese 向量模型,CPU 运行速度还可以。

添加大语言模型,尽量选择列表里面同族的模型,比如 qwen3:4b 模型没有在列表里出现类似的,这个直接不好使。 deepseek-r1 存在列表里,deepseek-r1:latest 就很不错。

Qwen2-VL-72B error

能启动,但是不好使,胡说八道的

shell
# 克隆 llama.cpp
git clone https://github.com/ggerganov/llama.cpp.git
# 查看 poetry 的配置
poetry config --list
# 创建 python3 环境
poetry env use python3
# 貌似有些 poetry 的问题,需要手动删除 poetry.lock
rm poetry.lock
# 安装依赖
pip3 install torch torchvision torchaudio
poetry install
# 下载模型
git clone https://www.modelscope.cn/Qwen/Qwen2-VL-72B.git
# 查看一下模型是否下载好了
git reset
# 如果有差异,可以删除差异的文件,重新下载,也可以全部重新下载
rm -rf .git/lfs
git lfs pull
# 激活虚拟环境
source .venv/bin/activate
# 模型转换;得到 gguf 模型
python convert_hf_to_gguf.py ../Qwen2-VL-72B
# https://github.com/ggerganov/llama.cpp/releases 获取 quantize 工具;注意输入权重和输出权重的路径
sudo ./llama-quantize ../../Qwen2-VL-72B/Qwen2-VL-72B-F16.gguf ../../Qwen2-VL-72B/Qwen2-VL-72B-Q8_0.gguf Q8_0
# 创建 Modelfile
echo "FROM Qwen2-VL-72B-Q8_0.gguf" > Modelfile
# 设置 ollama 模型存储路径
launchctl setenv OLLAMA_MODELS /Volumes/xxx/ollama
# 在 ollama 创建模型
ollama create Qwen2-VL:72B -f Modelfile
# 查看模型的 Modelfile
ollama show --modelfile Qwen2-VL:72B
# 查看模型列表
ollama list
# NAME ID SIZE
# Qwen2-VL:2B 29f39fad7ea5 3.1 GB
# Qwen2-VL:72b 5d37bf291a90 77 GB

发送图片

创建 request.sh 一个脚本,bash request.sh input.HEIC request_json.json 这样测试。

我在 ubuntu:24.04 的容器中测试的,需要安装 convert 命令。

shell
#!/bin/bash
if [ -z "$1" ]; then
echo "用法: $0 <图片文件> [输出JSON文件]"
exit 1
fi
if [ ! -f "$1" ]; then
echo "文件 $1 不存在"
exit 1
fi
if [ -z "$2" ]; then
OUTPUT_FILE="json.json"
else
OUTPUT_FILE="$2"
fi
# 转换图片
convert "$1" -quality 60% "$1.jpg"
fileContentVariable=$(base64 -w 0 -i "$1.jpg")
cat > "$OUTPUT_FILE" <<EOF
{
"model": "qwen3-vl:4b",
"stream": false,
"seed": 1,
"prompt": "请根据这张图片完成两项任务:\n1. 写一段中文鉴赏文案:描述图片内容,并进行艺术或视觉上的评价(如构图、色彩、意境等),实事求是,不要刻意奉承。字数控制在100字左右。\n2. 提供一组中文关键词:列出可用于搜索该图片或相似图片的关键词,尽量覆盖图片中的物体、场景、风格等元素,关键词之间用逗号分隔。\n\n请直接输出结果,不要添加任何客套话。输出格式如下:\n\n'你的鉴赏文案'\n'关键词1, 关键词2, ...'",
"images": [
"$fileContentVariable"
]
}
EOF
curl --max-time 120 -s -X POST 'http://host.docker.internal:11434/api/generate' \
-H 'Content-Type: application/json; charset=utf-8' \
-d @$OUTPUT_FILE
Preview