用途:通过 llama.cpp 在本地运行 LLM 任务,复用 Ollama 已拉取的 GGUF 模型(文本与嵌入无需重新下载),全程在本机运行,无 API 密钥、无网络、无按 token 费用。适合隐私敏感(脱敏 PII、个人笔记、健康数据)、离线、大批量低风险(分类打标数百条)或快速一次性任务(摘要、翻译)。需要强推理、长上下文、精细代码或高准确度时应改用前沿模型,因为本地模型较小(0.6–4B)。
主要能力:入口为 scripts/lm,用绝对路径调用,如 ~/ai_projects/claude-skills/local-models/scripts/lm。命令包括 lm models 列出本地模型;lm ask [MODEL] "PROMPT" 单次提示(默认 qwen2.5:3b);lm chat [MODEL] 交互式 REPL;文本预设 summarize、tldr、keywords、anonymize、proofread、translate、classify、extract,可接受文件路径、内联文本或 stdin;视觉命令 describe-image、tag-image、vision;嵌入 lm embed;以及 lm serve qwen2.5:3b 8080 启动 OpenAI 兼容服务。输出干净,仅返回答案。
使用方式:Ollama 将权重存为 ~/.ollama/models/blobs/ 下无扩展名的 GGUF blob,scripts/ollama_blob.py 读取清单把友好名(如 qwen2.5:3b)解析为权重路径,llama.cpp 直接加载,无需转换或重复下载。默认模型:文本预设 qwen2.5:3b(LM_TEXT_MODEL),分类/抽取 qwen2.5:3b(LM_REASON_MODEL,温度 0),嵌入 jeffh/intfloat-multilingual-e5-large:f16(LM_EMBED_MODEL)。环境变量还有 LM_NTOK、LM_VISION_HF、LM_DEBUG=1。可在 ask/chat/embed/serve 首参显式指定模型。
限制与注意:Ollama 的 gemma3 GGUF 无法在原生 llama.cpp 加载,会报 key not found in model: gemma3.attention.layer_norm_rms_epsilon,应改用 qwen* 模型或通过 -hf 拉取社区 gemma3 GGUF。qwen3:4b 会输出 thinking…</think> 推理块,会污染预设输出,故预设默认 qwen2.5:3b。视觉无 Ollama blob 可复用,使用 llama-mtmd-cli -hf ggml-org/Qwen2.5-VL-3B-Instruct-GGUF,首次会下载模型与投影器(约 2–3 GB)到 ~/.cache/llama.cpp,之后离线运行,首次调用前应提醒用户。每次单次调用都会重新加载模型(小模型需数秒),大量顺序调用建议先用 lm serve 启动服务并请求 http://localhost:8080/v1/chat/completions。要求:安装 llama.cpp(brew install llama.cpp),Ollama 至少拉取一个模型,python3 用于解析器,无需 API 密钥。