必须确保xinference服务启动并暴露rest api,dify通过宿主机ip访问;在dify中选openai compatible类型,base url填http://ip:9997/v1,api key留空,保存后状态变绿即成功。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中成功调用Xinference部署的本地大语言模型,必须确保Xinference服务已启动并对外暴露REST API,且Dify能通过网络访问该服务端点;若跳过健康检查或协议不匹配,模型将始终显示“不可用”状态。
确认Xinference服务已就绪并可被Dify访问
首先验证Xinference是否正在运行且监听外部请求:执行 xinference - local --host 0.0.0.0 --port 9997 启动服务(注意不要用 --host 127.0.0.1,否则Dify容器无法连通)。
在另一台机器或Dify所在宿主机上运行:curl http://<strong>【Xinference服务器IP】</strong>:9997/v1/models。若返回JSON列表且含 "object": "list",说明服务可达;若超时或拒绝连接,需检查防火墙、Docker网络模式(推荐host模式)或云服务器安全组规则。
特别注意:Dify默认以容器方式部署,若Xinference运行在宿主机,Dify容器内需用宿主机真实IP(如 192.168.1.100),不能填 localhost 或 127.0.0.1。
在Dify管理后台添加自定义LLM模型
登录Dify Web控制台 → 左侧导航栏点击「Settings」→「Model Providers」→ 点击右上角「+ Add Model Provider」。
选择「OpenAI Compatible」类型——Xinference的REST API完全兼容OpenAI v1接口规范,这是唯一正确选项;选错类型会导致认证失败或404错误。
填写配置项:
-
Name:任意标识名,例如
Xinference-LLaMA2-7B -
Base URL:填
http://<strong>【Xinference服务器IP】</strong>:9997/v1(末尾必须带/v1) - API Key:留空(Xinference默认不启用鉴权;若启用了JWT,请填对应token)
点击「Save」后,Dify会立即发起探测请求。若状态变为绿色「Active」,说明连通成功;若为红色「Inactive」,请回到上一步检查Base URL格式和网络连通性。
绑定模型到应用并测试推理
进入「Applications」→ 选择目标应用 → 「Model Configuration」→ 「LLM」区域点击「Edit」。
第一步:在「Provider」下拉菜单中选择刚保存的 Xinference-LLaMA2-7B;
第二步:在「Model」下拉框中选择具体模型ID——该列表由Xinference的 /v1/models 接口动态拉取,若为空,请确认Xinference中已通过 client.launch_model() 成功加载模型并返回有效 model_uid;
第三步:设置「Max Tokens」为 2048,「Temperature」为 0.7,其他参数保持默认;
点击「Save」后,直接在右上角「Chat」面板发送测试消息(如“你好”),观察响应内容与延迟。若返回正常文本且耗时低于1.5秒,说明链路已通。











