第 4 期:接入你的第一个模型 Provider
Dify 的模型管理理念
Dify 支持数百种模型的无缝接入,包括 OpenAI、Anthropic、Google Gemini、Mistral、Llama、以及通过 Ollama / vLLM 等自托管的开源模型。
graph LR
subgraph "Dify Model Management"
Router[模型路由层] --> OpenAI[OpenAI]
Router --> Gemini[Google Gemini]
Router --> Claude[Anthropic Claude]
Router --> Ollama[Ollama 本地模型]
Router --> Custom[OpenAI 兼容 API]
end
App[Dify App] --> Router接入 OpenAI
在 Dify 后台 Settings → Model Providers,点击 OpenAI 卡片:
{
"provider": "openai",
"credentials": {
"openai_api_key": "sk-proj-xxxxxxxxxxxx"
}
}
通过 API 验证模型可用性:
# 验证 OpenAI 模型可用
curl -X POST http://localhost/console/api/workspaces/current/model-providers/openai/models/validate \
-H "Authorization: Bearer YOUR_CONSOLE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"model_type": "llm",
"credentials": {
"openai_api_key": "sk-proj-xxxx"
}
}'
接入 Google Gemini
{
"provider": "google",
"credentials": {
"google_api_key": "AIzaSyXXXXXXXXX"
}
}
Gemini 支持的模型列表:
gemini-2.0-flash— 最快速的多模态模型gemini-1.5-pro— 超长上下文窗口 (2M tokens)gemini-1.5-flash— 速度与质量均衡
接入本地 Ollama 模型
这是零成本玩 AI 的最佳方式!
# 1. 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 2. 拉取模型
ollama pull llama3.1
ollama pull qwen2.5:7b
# 3. 确认 Ollama 已启动
curl http://localhost:11434/api/tags
在 Dify 中添加 Ollama Provider:
{
"provider": "ollama",
"credentials": {
"base_url": "http://host.docker.internal:11434",
"model_name": "llama3.1",
"model_type": "llm",
"context_size": 8192
}
}
注意:如果 Dify 运行在 Docker 中,Ollama 运行在宿主机上,需要使用
host.docker.internal而不是localhost。
接入任意 OpenAI 兼容 API
许多推理框架(vLLM、TGI、LiteLLM)都提供 OpenAI 兼容接口:
# 以 vLLM 为例
# 启动 vLLM 推理服务
# python -m vllm.entrypoints.openai.api_server \
# --model meta-llama/Llama-3.1-8B-Instruct \
# --port 8000
# 在 Dify 中使用 OpenAI 兼容接口接入
config = {
"provider": "openai_api_compatible",
"credentials": {
"api_key": "not-needed", # vLLM 通常不需要 key
"endpoint_url": "http://your-vllm-server:8000/v1",
"model_name": "meta-llama/Llama-3.1-8B-Instruct"
}
}
模型负载均衡
graph TB
Request[用户请求] --> LB[Dify 模型负载均衡]
LB --> M1[OpenAI GPT-4o #1]
LB --> M2[OpenAI GPT-4o #2]
LB --> M3[Azure OpenAI GPT-4o]
style LB fill:#f9f,stroke:#333,stroke-width:2pxDify 支持为同一模型配置多个 API Key 或端点,自动轮询负载均衡,在高并发场景下尤为重要。