dify报错 Run failed: Failed to transform agent message: PluginInvokeError: {"args":{},"error_type":"Exception","message":"invoke llm model failed: Post \"dify-api:5001\": unsupported protocol scheme \"dify-api\""}
时间: 2025-06-17 19:49:29 浏览: 172
### 解决 Dify 运行时插件调用错误问题
在使用 Dify 平台时,如果遇到 `PluginInvokeError: invoke llm model failed unsupported protocol scheme diify-api` 的错误信息,这通常与模型调用的协议配置不正确有关。以下是可能导致此问题的原因及解决方案:
#### 1. 检查 LLM 模型调用协议
Dify 平台依赖于正确的协议来与 LLM 模型进行通信。如果协议配置不当,可能会导致 `unsupported protocol scheme` 错误。确保在 Dify 配置文件中指定的模型接口协议是有效的,并且与实际部署的模型服务一致[^1]。
例如,在使用 Ollama 部署的 Qwen2.5 模型时,需要确认以下内容:
- 模型服务是否通过 HTTP 或 HTTPS 提供 API 接口。
- 在 Dify 配置中,是否正确指定了 API 的协议前缀(如 `http://` 或 `https://`)。
```yaml
# 示例:Dify 配置文件中的模型设置
model:
provider: ollama
api_url: http://localhost:11434 # 确保协议为 http 或 https
```
#### 2. 验证 Ollama 服务状态
Ollama 是作为后端服务运行的,如果其服务未正常启动或监听地址配置有误,也可能引发类似的错误。可以通过以下命令检查 Ollama 服务的状态:
```bash
curl http://localhost:11434/models
```
如果返回了模型列表,则说明 Ollama 服务正常运行;否则需要排查 Docker 容器或本地服务的启动日志,确保服务无异常[^1]。
#### 3. 检查 Dify 插件配置
Dify 的插件机制允许扩展功能,但插件的实现可能依赖特定的协议或接口。如果插件未正确处理 LLM 模型的调用协议,也会导致上述错误。可以尝试以下方法解决:
- 确认插件版本是否与当前 Dify 平台兼容。
- 如果插件存在自定义代码,检查其中是否硬编码了错误的协议方案。
#### 4. 更新 Dify 和相关依赖
如果问题仍未解决,可能是由于 Dify 或其依赖库的版本过旧导致的兼容性问题。建议更新到最新版本并重新测试:
```bash
docker compose pull
docker compose up -d
```
#### 5. 日志分析
若以上方法均无效,可以通过查看 Dify 的运行日志进一步定位问题。运行以下命令获取详细日志输出:
```bash
docker logs <container_name>
```
日志中可能会包含更多关于 `PluginInvokeError` 的上下文信息,从而帮助确定具体原因。
---
### 示例代码:验证模型调用
以下是一个简单的 Python 脚本,用于验证 Ollama 模型服务是否正常工作:
```python
import requests
url = "http://localhost:11434"
response = requests.get(f"{url}/models")
if response.status_code == 200:
print("Ollama service is running correctly.")
print("Available models:", response.json())
else:
print("Failed to connect to Ollama service.")
```
---
阅读全文
相关推荐


















