Gemma LMStudio Pi本地模型运行指南

📅 2026/6/18 15:02:30
Gemma LMStudio Pi本地模型运行指南
本地跑AI模型终于好用了以前本地跑模型又慢又笨现在真不一样了。我试过Mistral 7B、Gemma 3、OpenAI OSS-20B、Qwen 3 MOE还有Qwen 2.5 Coder这些模型搭配llama.cpp、Ollama、LM Studio这些工具折腾下来最大的感受就是本地模型终于能正经干活了。本地模型的能力进化早期本地模型简直没法用。速度慢得像蜗牛装起来麻烦得要死写代码还不准。那时候大家都说本地模型跟云端模型差着十万八千里这话确实没毛病。但对我来说GPT-OSS出来之后情况就变了。我的判断标准特别简单用完之后还得再拿API模型查一遍吗GPT-OSS是我第一个不怎么需要复查的本地模型。现在本地模型已经成了我的快速私人搜索引擎。遇到开发问题不用上网搜直接问本地模型几秒钟就出答案。虽然这些模型不知道最新的事但大部分开发问题根本不需要最新信息。Gemma 4系列出来之后就更夸张了。我现在能用本地模型做智能体编程让模型自己写代码、改代码、跑代码准确率和速度能达到前沿模型的75%左右。放在半年前想都不敢想。Gemma-4-12b-qat的实际表现我一直在用LM Studio跑gemma-4-26b-a4b最近刚出的gemma-4-12b-qat更猛。体积更小跑得更快准确率还没怎么下降。这模型特别有意思的地方在于它的设计思路如果性能和价格都有限制架构上该怎么取舍在现在这种疯狂堆算力的环境下这个问题很少人认真想过。我用本地模型干了不少实事。把一个Jupyter笔记本重构成了五六个模块的Python项目让模型自动给代码加上泛型类型提示。现在大部分前沿模型都能自动干这事但以前本地模型根本做不到。还拿它改博客文章、写单元测试。最绝的是让模型从零搭一个推荐系统的双塔模型就是那种完全空白让它自己发挥。生成的东西虽然基础但放在去年我根本不信本地模型能干这事。本地模型跑智能体的环境配置想自己试的话需要三样东西本地模型推理引擎、智能体框架、模型文件。让智能体框架连上本地推理服务就行。我现在用Pi做智能体框架LM Studio做推理服务器。虽然直接拿llama.cpp可能更快但这组合已经够用了。配置Pi和LM Studio联动的步骤其实很简单。Pi的models.json里加上LM Studio的配置jsonlmstudio: { baseUrl: http://host.docker.internal:1234/v1, api: openai-completions, apiKey: not-needed, models: [ { id: google/gemma-4-12b-qat, input: [ text, image ] } ] }这里baseUrl指向LM Studio开的本地服务默认是1234端口。apiKey随便填因为本地服务不需要鉴权。模型ID填你要用的具体模型名字就行。Docker容器里的安全配置我所有智能体工作流都跑在Docker容器里只给最基本的执行权限。这样模型万一抽风删文件也伤不到物理硬盘。Docker Compose配置长这样yamlservices: pi: build: context: . dockerfile: Dockerfile image: pi-agent:0.74.0 init: true stdin_open: true tty: true extra_hosts: - host.docker.internal:host-gateway environment: ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} OPENAI_API_KEY: ${OPENAI_API_KEY:-not-needed} GEMINI_API_KEY: ${GEMINI_API_KEY:-} OPENAI_API_BASE: ${OPENAI_API_BASE:-http://host.docker.internal:1234/v1} WHATEVER_API_KEY: ${WHATEVER_API_KEY:-} volumes: - ${HOME}/.pi/agent/models.json:/config/models.json - ${WORKSPACE:-.}:/workspace - pi-config:/config - pi-sessions:/sessions working_dir: /workspaceextra_hosts那块是关键让容器能通过host.docker.internal访问宿主机的LM Studio服务。volumes把模型配置文件挂载进去这样Pi才知道连哪个模型。Pi启动脚本的改造启动Pi的bash脚本做了点调整。核心是处理工作目录和容器名字bash#!/usr/bin/env bashSCRIPT_DIR$(cd -- $(dirname ${BASH_SOURCE[0]}) pwd)WORKSPACE_DIR${WORKSPACE:-$(pwd)}case $WORKSPACE_DIR in /*) ;; *) WORKSPACE_DIR$(cd -- $WORKSPACE_DIR pwd) ;; esacexport WORKSPACE$WORKSPACE_DIRsandbox${PI_SANDBOX:-0}pi_args()while (($#)); do case $1 in--sandbox) sandbox1 ;; --no-sandbox) sandbox0 ;; *) pi_args($1) ;;esac shiftdonecompose_files( -f $SCRIPT_DIR/docker-compose.yml )if [[ $sandbox 1 ]]; then compose_files( -f $SCRIPT_DIR/docker-compose.sandbox.yml )firepo_slug$(basename -- $WORKSPACE_DIR | tr -c a-zA-Z0-9_.- - | sed s/^-*//)[[ -z $repo_slug ]] repo_slugworkspacecontainer_namepi-${repo_slug}-$$api_key_args( -e OPENAI_API_KEY -e DEEPSEEK_API_KEY -e ANTHROPIC_API_KEY -e GEMINI_API_KEY)cmd( docker compose --project-directory $SCRIPT_DIR ${compose_files[]} run --rm --name $container_name ${api_key_args[]} pi)if ((${#pi_args[]})); then cmd(${pi_args[]})fi脚本根据当前目录生成唯一的容器名字避免多个项目冲突。--sandbox参数可以切到更严格的沙箱模式跑不信任的代码时特别有用。跑本地模型碰到的坑本地模型问题确实还有。推理速度还是慢尤其模型大的时候。上下文窗口受硬件限制我64GB内存的机器KV缓存动不动就涨到64GB。生态工具虽然方便多了但新模型刚出的时候经常遇到提示词模板对不上。好在这些问题社区修得特别快三五天就有人给出解决方案。生产环境用还差点意思。速度、稳定性、上下文长度都不太够。但做实验、写个人项目、日常开发辅助完全够了。本地模型的好处好处是真不少。能看token是怎么生成的每一步都看得清清楚楚。能改上下文窗口看性能怎么变能换量化方式能让模型互相PK。在GPU上怎么处理token的全过程都能盯着看。智能体这边也能调。改系统提示词、调参数所有东西都在自己手里。不像云端模型黑盒一个啥都看不见。我这几个月用Pi翻LM Studio的日志发现大部分时间都在查文档、搜代码示例。这些活看着简单但半年前本地模型根本干不了。我还在做一个抓Arxiv热门论文的应用顺手让Pi分析了我的历史使用记录发现全是这类查询。不意外因为我一直在搞Rijksearch这个项目。未来展望本地模型工具只会越来越好。LM Studio这种一键启动的工具、HuggingFace的Use This Model按钮都让上手门槛低了好多。社区修bug快新模型出来配置方法马上有人分享。虽然离正经生产软件还有距离但方向特别对。每次新模型出来都能感受到进步不像以前那种挤牙膏。现在六个月的变化顶过去两年。我自己在Docker里跑Pi模型放LM Studio里这组合目前最顺手。以后可能直接换llama.cpp追求速度或者换其他智能体框架试试。反正现在选择多想怎么折腾都行。本地模型跑智能体这件事真的从能不能变成怎么才能更好了。门槛越来越低能做的事越来越多接下来就看社区怎么把速度和上下文窗口这些短板补上了。总结本文以本地模型实践者的视角分享当前本地模型在编程辅助、智能体工作流中的实际表现。作者使用M2 Mac运行Gemma-4-12b-qat等模型配合LM Studio和Pi智能体框架在Docker容器中构建了完整的本地开发环境。文章详细记录了模型能力从不可用到基本可用的演进过程并提供了具体的配置代码和部署方案。原文https://www.jdon.com/92777-running-local-models-guide-2026.html