第 4 期:接入你的第一个模型 Provider

更新于 2026/4/6

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:2px

Dify 支持为同一模型配置多个 API Key 或端点,自动轮询负载均衡,在高并发场景下尤为重要。