复制成功
请遵守本站许可
REPORT
Chapter_Post // Field_Report

Post_Ref: RL-DIFY大语言模

2026.04.08

Dify大语言模型配置

Echo HaoRan
Echo HaoRan
ANALYSIS
  • LLM
  • Ollama
  • OpenClaw
  • Posts
  • 安全

Dify 大语言模型配置#

概述#

在使用大型语言模型节点之前,需要在 系统设置 → 模型供应商 中配置至少一个模型供应商。本文将详细介绍如何在 Dify 中配置和使用各种大语言模型。


模型选择和参数#

配置模型供应商#

步骤

  1. 进入 系统设置
  2. 选择 模型供应商
  3. 点击 添加供应商
  4. 配置 API 密钥
  5. 测试连接

支持的模型提供商#

提供商模型系列特点
OpenAIGPT-4o, GPT-4o-mini强大的推理能力,多模态支持
AnthropicClaude 3.5 Opus, Sonnet, Haiku优秀的对话能力,长上下文
GoogleGemini Pro, Ultra多模态,Google 生态集成
通义千问Qwen Max, Plus, Turbo中文优化,性价比高
智谱 AIGLM-4, GLM-4 Flash国产模型,适合中文场景
DeepSeekDeepSeek Chat, Coder代码能力强,性价比高
本地模型Ollama, LocalAI, Xinference隐私安全,无网络依赖

模型选择建议#

场景推荐模型原因
复杂推理GPT-4o, Claude Opus推理能力最强
代码生成GPT-4o, DeepSeek Coder代码理解准确
对话聊天Claude Sonnet, Qwen Plus对话自然流畅
成本敏感GPT-4o-mini, Haiku价格低廉
隐私要求本地模型数据不上传
中文场景Qwen Max, GLM-4中文优化更好

LLM 节点配置#

模型选择#

从已配置的任何模型供应商中进行选择。

配置示例

PRTCL // YAML
LLM 节点配置:
model:
provider: "openai"
name: "gpt-4o"
mode: "chat" # chat, completion

温度参数#

温度控制输出的随机性和创造性:

温度值效果适用场景
0.0 - 0.3确定性输出,一致性强代码生成、数据分析、精确问答
0.4 - 0.7平衡输出,适度创造性日常对话、内容生成、翻译
0.8 - 1.0高创造性输出创意写作、头脑风暴、故事生成

配置示例

PRTCL // YAML
LLM 节点配置:
model:
temperature: 0.7

核采样(Top P)#

通过概率限制词汇选择,通常设置在 0.8-1.0。

配置示例

PRTCL // YAML
LLM 节点配置:
model:
top_p: 0.95

频率惩罚#

减少重复内容,范围 -2.0 到 2.0。

配置示例

PRTCL // YAML
LLM 节点配置:
model:
frequency_penalty: 0.5

存在惩罚#

鼓励讨论新话题,范围 -2.0 到 2.0。

配置示例

PRTCL // YAML
LLM 节点配置:
model:
presence_penalty: 0.3

预设选项#

Dify 提供三种预设配置:

预设温度Top P频率惩罚存在惩罚
精确0.30.950.00.0
平衡0.70.950.30.3
创意1.00.950.50.5

提示词配置#

提示词类型#

聊天模型#

使用消息角色:

  • 系统(System):定义 AI 的行为和角色
  • 用户(User):用户的输入
  • 助手(Assistant):AI 的回复示例

配置示例

PRTCL // YAML
LLM 节点配置:
prompt:
system: "你是一个专业的 {{role}},专注于 {{expertise}}。"
user: "请处理以下内容:{{input}}"
assistant: "这是一个示例回复。"

完成模型#

使用简单的文本续写。

配置示例

PRTCL // YAML
LLM 节点配置:
prompt:
completion: "以下是一段文本:{{text}}\n\n 请继续:"

变量引用#

使用双花括号语法引用工作流变量:

PRTCL // YAML
LLM 节点配置:
prompt:
system: "你是 {{User Input/role}}"
user: "处理:{{Previous Node/output}}"

Jinja2 模板支持#

使用 Jinja2 模板进行高级变量处理:

PRTCL // YAML
LLM 节点配置:
prompt:
system: |
你是一个 {{role|default(' 助手 ')}}。
{% if language %}
请使用 {{language}} 回答。
{% endif %}

支持的 Jinja2 功能

  • 变量替换
  • 条件判断
  • 循环
  • 过滤器

上下文变量#

知识库上下文#

将知识库内容注入到 LLM 节点中。

配置示例

PRTCL // YAML
LLM 节点配置:
context:
knowledge_base: "product_docs"
retrieval:
top_k: 5
similarity_threshold: 0.7
variable_name: "context"
prompt:
system: "你是一个客服助手。"
user: |
基于以下上下文回答问题:
{{context}}
问题:{{query}}

文件上下文#

处理上传的文件,包括图像和文档。

配置示例

PRTCL // YAML
LLM 节点配置:
context:
files:
variable: "User Input/user_file"
vision:
enabled: true
detail: "high" # high, low
document:
extract_text: true

变量来源#

变量来源说明示例
用户输入从用户输入节点获取{{User Input/text}}
节点输出从其他节点的输出获取{{Previous Node/output}}
知识库从知识库检索获取{{context}}
系统变量系统提供的变量{{sys.workflow_run_id}}
环境变量环境配置的变量{{env.API_KEY}}

结构化输出#

配置结构化输出#

强制模型返回特定数据格式(如 JSON)以便程序化使用。

配置方法

  1. 可视化编辑器
  2. JSON Schema
  3. AI 生成

可视化编辑器#

配置示例

PRTCL // YAML
LLM 节点配置:
structured_output:
enabled: true
schema:
type: "object"
properties:
title:
type: "string"
description: "标题"
content:
type: "string"
description: "内容"
tags:
type: "array"
items:
type: "string"
description: "标签列表"
required:
- "title"
- "content"

JSON Schema#

直接粘贴 JSON Schema 定义。

配置示例

PRTCL // JSON
{
"type": "object",
"properties": {
"platform_name": {
"type": "string",
"description": "平台名称"
},
"post_content": {
"type": "string",
"description": "帖子内容"
},
"hashtags": {
"type": "array",
"items": {
"type": "string"
},
"description": "标签列表"
},
"character_count": {
"type": "number",
"description": "字符数"
}
},
"required": ["platform_name", "post_content"]
}

AI 生成#

让 AI 自动生成适合的 Schema。

步骤

  1. 点击 AI 生成
  2. 描述需要的数据结构
  3. AI 自动生成 Schema
  4. 手动调整和优化

记忆和文件处理#

记忆管理#

记忆是节点特定的,不会在不同对话之间持续存在。

配置示例

PRTCL // YAML
LLM 节点配置:
memory:
enabled: true
max_messages: 10
strategy: "recent" # recent, summary

文件处理#

支持处理多种文件类型:

图像处理

PRTCL // YAML
LLM 节点配置:
files:
vision:
enabled: true
detail: "high" # 高细节,更准确但使用更多 token
# 或 "low" - 低细节,更快但准确性较低

文档处理

PRTCL // YAML
LLM 节点配置:
files:
document:
extract_text: true
max_pages: 10

自动获取文件

PRTCL // YAML
LLM 节点配置:
files:
variable: "User Input/user_file" # 自动从用户输入节点获取

流式结果返回#

流式响应#

大型语言模型节点默认支持流式结果返回。

配置示例

PRTCL // YAML
LLM 节点配置:
streaming:
enabled: true
chunk_size: 100

流式事件#

每个文本块都作为 RunStreamChunkEvent 产生,实现实时响应显示。

事件类型

  • message:文本块
  • message_end:消息结束
  • error:错误信息

不同场景的配置#

创意写作#

PRTCL // YAML
LLM 节点配置:
model:
temperature: 0.9
top_p: 0.95
frequency_penalty: 0.5
presence_penalty: 0.3
prompt:
system: "你是一个创意写作专家。"
user: "请创作一个关于 {{topic}} 的故事。"

代码生成#

PRTCL // YAML
LLM 节点配置:
model:
temperature: 0.2
top_p: 0.95
frequency_penalty: 0.0
presence_penalty: 0.0
prompt:
system: "你是一个专业的程序员。"
user: "请编写一个 {{language}} 函数来 {{task}}。"
structured_output:
enabled: true
schema:
type: "object"
properties:
code:
type: "string"
explanation:
type: "string"

文档摘要#

PRTCL // YAML
LLM 节点配置:
model:
temperature: 0.3
top_p: 0.9
frequency_penalty: 0.1
presence_penalty: 0.1
prompt:
system: "你是一个文档摘要专家。"
user: |
请总结以下文档:
{{context}}
摘要要求:
1. 提取关键信息
2. 保持简洁(不超过 500 字)
3. 使用要点列表

问答系统#

PRTCL // YAML
LLM 节点配置:
model:
temperature: 0.1
top_p: 0.85
frequency_penalty: 0.0
presence_penalty: 0.0
context:
knowledge_base: "faq"
retrieval:
top_k: 3
prompt:
system: "你是一个客服助手。"
user: |
基于以下信息回答问题:
{{context}}
问题:{{query}}
如果信息不足,请诚实告知。

性能优化#

Token 优化#

控制上下文长度

PRTCL // YAML
LLM 节点配置:
model:
max_tokens: 2000

使用缓存

PRTCL // YAML
LLM 节点配置:
cache:
enabled: true
ttl: 3600

批处理#

批量处理相似请求:

PRTCL // YAML
迭代节点:
parallel_mode: true
max_parallelism: 10

模型选择#

根据任务复杂度选择合适的模型:

PRTCL // YAML
路由配置:
rules:
- condition: "task.complexity < 3"
model: "gpt-4o-mini"
- condition: "task.complexity >= 3"
model: "gpt-4o"

故障排查#

连接问题#

症状:无法连接到模型 API

解决方案

PRTCL // BASH
Terminal window
# 测试网络连接
curl -I https://api.openai.com
# 检查 API 密钥
echo $OPENAI_API_KEY
# 测试模型连接
openclaw model test <model-id>

认证问题#

症状:401 Unauthorized 错误

解决方案

PRTCL // BASH
Terminal window
# 验证 API 密钥
echo $OPENAI_API_KEY
# 重新设置 API 密钥
export OPENAI_API_KEY="new-key"
# 测试连接
openclaw model test <model-id>

限流问题#

症状:429 Too Many Requests 错误

解决方案

PRTCL // YAML
# 降低请求频率
rate_limit:
enabled: true
requests_per_minute: 60
# 使用多个 API 密钥
providers:
- name: "openai"
api_keys:
- "${OPENAI_API_KEY_1}"
- "${OPENAI_API_KEY_2}"

资源链接#


最后更新: 2026-03-12 作者: EchoHaoRan

R P
Rhine Lab Pioneer Division
Auth_Verified: 2026.04.08
// END OF POST

订阅

通过 RSS 订阅本站,新文章发布时第一时间收到通知。

Follow
Classified
Chapter_06
Protocol_Ref: CC-BY-NC-SA-4.0

Dify大语言模型配置

Author: CHONGXIReleased: 2026.04.08

Licensed under CC BY-NC-SA 4.0

评论

© 2025-2026 EchoSpace
Powered by Astro & echohaoran Non-Collaborative_Entity // Protocol_V.4.21