必须通过反向代理(如ngrok)将本地Ollama的127.0.0.1:11434映射为公网HTTPS地址,并用FastChat或LiteLLM桥接为OpenAI兼容接口,再在Coze中配置该地址为API Endpoint、模型ID严格匹配桥接层定义的名称(如llama3-8b),才能成功调用本地大模型。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在Coze扣子平台中调用自己电脑上运行的本地大模型(如Ollama里的Llama 3、Qwen2、DeepSeek-Coder),但发现直接填127.0.0.1:11434根本连不通,Bot配置保存后测试始终返回“模型不可用”或超时错误——这是因为Coze云端服务无法访问你本机的localhost,且其API调用协议与本地模型服务不兼容,必须通过协议桥接+网络穿透双重手段打通链路。
确认本地模型服务已就绪并可被外部探测
在终端执行ollama serve,等待日志输出Listening on 127.0.0.1:11434;这说明Ollama服务已启动,但仅监听本机回环地址,外部完全不可达。
立刻在另一台局域网设备(如手机浏览器)访问http://你的电脑IP:11434/api/tags,若返回JSON且含"models": [...],说明服务已成功绑定到局域网;若拒绝连接或超时,需手动修改Ollama配置:编辑~/.ollama/config.json,将"host"字段改为"0.0.0.0:11434",然后重启ollama serve。
【必须验证】执行curl -s http://localhost:11434/api/tags | jq '.models[0].name',输出应为类似"llama3:8b"——注意,带:8b后缀才是完整tag,缺了就会在Coze侧报“model not found”。
构建OpenAI兼容层:用FastChat桥接Ollama API
Coze只认OpenAI格式的/v1/chat/completions接口,而Ollama原生是/api/chat,字段名、响应结构、流式格式全都不一样。不能硬改Coze源码,得在外围加一层转换。
方法一:用FastChat一键启动兼容服务
安装FastChat:pip install "fschat[all]";
启动桥接服务:python -m fastchat.serve.openai_api_server --host 0.0.0.0 --port 8000 --controller-address http://localhost:21001 --model-list-path ./models.json;
其中models.json内容为:[{"model_name":"llama3-8b","path":"llama3:8b"}]——这里model_name将作为Coze里填写的模型ID,path对应Ollama实际tag。
方法二:用LiteLLM轻量代理(适合资源受限环境)
安装:pip install litellm;
启动:litellm --model ollama/llama3:8b --host 0.0.0.0 --port 4000;
它会自动将http://localhost:4000/v1/chat/completions映射为标准OpenAI接口,且支持多模型路由。
启动后,在浏览器访问http://localhost:8000/v1/models,应返回{"object":"list","data":[{"id":"llama3-8b","object":"model","created":...}]}——这是Coze能识别的信号。
暴露本地服务至Coze云端:ngrok或cloudflared任选其一
Coze服务器不在你局域网内,必须把本地8000端口(或4000端口)变成公网HTTPS地址,否则Bot配置里的Endpoint永远连不上。
第一步:注册ngrok账号,下载客户端,执行ngrok config add-authtoken <your_token>;
第二步:运行ngrok http 8000,获取形如https://abc123.ngrok-free.app的临时域名;
第三步:立即验证——用curl发请求:curl https://abc123.ngrok-free.app/v1/models,必须返回模型列表,否则Coze后续调用必失败。
替代方案:用cloudflared(更稳定,无免费额度限制)
下载cloudflared二进制文件 → 运行cloudflared tunnel --url http://localhost:8000 → 复制生成的*.trycloudflare.com地址;
注意:cloudflared默认启用HTTPS强制跳转,Coze调用时Endpoint必须写https://开头,不能写http://。
【关键提醒】ngrok每次重启地址都会变,切勿把临时URL写死在生产Bot配置中;测试通过后,建议用cloudflared绑定自定义子域名(如llama3.internal.yourcoze.com),避免反复更新。
在Coze Bot中完成最终配置与测试
进入Bot后台 →「Bot设置」→「高级设置」→「大模型」→「添加自定义模型」;
填写三项核心参数:
① 模型名称:随意,例如local-llama3-8b;
② API Endpoint:粘贴上一步获得的ngrok或cloudflared HTTPS地址,末尾不加任何路径,只填根域名,例如https://abc123.ngrok-free.app;
③ 模型ID:必须与FastChat或LiteLLM中定义的model_name完全一致,例如llama3-8b。
点击「测试连接」,Coze会发送一个预设请求到你的桥接服务;若返回HTTP 200且响应体含"choices"字段,表示通路已通;若卡住或报错,重点检查FastChat是否监听0.0.0.0、ngrok是否转发成功、模型ID大小写是否匹配。
测试通过后,保存配置,回到Bot工作流,将原LLM节点替换为这个新模型;发送消息“你好”,观察Bot是否返回由本地Llama 3生成的响应——此时所有推理均发生在你自己的机器上,数据零出域。


















