Dify理论+部署+实战

article/2025/7/21 17:35:10

概述

一个功能强大的开源AI应用开发平台,融合后端即服务(Backend as Service)和LLMOps理念,使开发者能够快速搭建生产级的生成式AI应用。

核心优势

  • 直观的用户界面:提供简洁明了的操作界面,使得用户能够快速上手,无需复杂的培训和学习过程。无论是初学者还是有经验的开发者,都能轻松地进行AI应用的开发和管理;
  • 强大的插件系统:Dify引入全新的插件化架构,将模型和工具以插件的形式运行,实现了真正的即插即用。这种设计不仅提高了系统的灵活性,降低开发门槛,让更多开发者能够参与到Dify生态的共建中来;
  • 智能工作流:新增的Agent节点使得工作流具备了自主智能编排与决策的能力。Agent节点如同工作流的智能大脑,能够根据预设策略智能选择工具、调度资源,实现工作流的自主编排和动态适应;
  • 开放的生态系统:正式推出Marketplace插件市场,汇聚来自官方、社区及第三方开发者贡献的各类插件,涵盖模型、工具、Agent策略等。这不仅丰富AI应用的功能,还为开发者提供展示和分享成果的平台。

应用场景

  • 企业级应用开发:能够帮助企业快速构建生产级的AI应用,从智能客服到数据分析,从内容生成到工作流自动化,满足多种业务场景的需求;
  • 教育与培训:在教育领域,可用于开发智能教育应用,如个性化学习助手、智能辅导系统等,提升教学效果和学习体验;
  • 科研与创新:科研人员可利用Dify的强大功能进行AI模型的实验和创新,加速科研进程,推动技术发展。

安装

支持Windows版本。提前安装好Docker Desktop。
源码安装,依次执行如下命令即可:

git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d

这种基于docker(docker compose)的安装方式,适用于Mac和Linux系统。

常见错误

  1. 镜像下载失败
    在这里插入图片描述
    解决方法,为docker配置代理,vim /etc/docker/daemon.json,追加类似下述内容:
"proxies": {"http-proxy": "http://192.168.0.100:7890","https-proxy": "http://192.168.0.100:7890"
}

保存退出。然后执行systemctl restart docker

  1. iptables
    镜像下载成功,但是运行镜像失败,报错信息:
    在这里插入图片描述
    解决方法:
    执行如下命令
mkdir -p /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/override.conf

大概率是新文件,填入如下内容:

[Service]
Environment="DOCKER_INSECURE_NO_IPTABLES_RAW=1"

当然要重启docker:systemctl restart docker

  1. 设置pip源
    编辑文件:vim docker-compose.yaml,找到第二个配置,配置成清华源:https://pypi.tuna.tsinghua.edu.cn/simple

  2. S3
    编辑文件:vim .env,找到S3相关配置:

PLUGIN_S3_USE_AWS_MANAGED_IAM=false
PLUGIN_S3_USE_PATH_STYLE=false

简介

在这里插入图片描述

探索

功能概述
探索模块是 Dify 为用户提供的一个发现和学习平台,旨在帮助用户了解 Dify 的各项功能、使用技巧以及社区资源等。它是用户获取灵感、学习新知识、发现优秀应用案例的重要渠道。

内容详情

  • 功能介绍与教程:提供 Dify 平台各项功能的详细图文和视频教程,帮助用户从基础到高级逐步掌握平台的使用方法。无论是新手入门还是进阶提升,都能找到适合自己的学习资源;
  • 社区分享与案例:展示用户社区中优秀的作品、应用案例和经验分享,激发用户的创作灵感,促进用户之间的交流与学习。通过实际案例了解如何将 Dify 应用于不同领域和场景;
  • 最新动态与更新:及时发布 Dify 平台的最新功能更新、版本升级、活动公告等信息,让用户第一时间了解平台的发展动态,不错过任何新功能的体验机会。

使用场景

  • 新手用户:刚注册的用户可以通过探索模块快速了解 Dify 的基本功能和操作流程,找到适合自己的学习路径,快速上手平台的使用。
  • 进阶用户:已经有一定使用经验的用户可以通过探索模块深入学习高级功能和技巧,提升自己的开发能力和应用水平。
  • 社区互动:用户可以在这里浏览其他用户的分享和案例,与其他用户交流心得,共同进步。同时,也可以将自己的作品和经验分享到社区,帮助更多的人。

工作室

功能概述
工作室是 Dify 的核心区域,用户可以在这里创建、编辑和管理自己的 AI 应用。它是用户将创意转化为实际应用的工作空间,提供了丰富多样的功能和工具,满足不同用户的需求。

内容详情

  • 应用创建与选择:用户可以根据自己的需求选择合适的应用类型,如聊天助手、Agent、文本生成应用、Chatflow、工作流等,并进行自定义配置。每种应用类型都有其独特的功能和适用场景;
  • 应用配置与编辑:在工作室中,用户可以对应用进行详细的配置和编辑。包括设置应用的基本信息、选择和授权使用的语言模型、设计应用的交互逻辑、添加和编辑提示词等。还可以通过 DSL 文件导入和导出应用配置,方便在不同环境或团队间共享应用;
  • 工作流设计与编排:用户可以利用工作流功能,通过添加各种节点(如 LLM 模块、代码模块、搜索模块等)并进行连接和配置,实现复杂的业务逻辑和自动化流程。工作流的可视化编辑界面让用户能够直观地看到整个流程的结构和逻辑;
  • 应用测试与调试:在工作室中,用户可以方便地对应用进行测试和调试。通过输入测试数据,观察应用的输出结果,及时发现和解决应用中存在的问题。测试过程中可以实时查看和调整应用的配置和逻辑,确保应用的稳定性和准确性;
  • 应用发布与分享:当应用开发完成并经过充分测试后,用户可以在工作室中将应用发布上线,使其可供其他用户访问和使用。同时,也可以将应用分享给团队成员或社区用户,进行协作开发或展示成果。

使用场景

  • 个人开发者:个人用户可以在工作室中独立创建和开发自己的 AI 应用,实现自己的创意和想法。无论是用于个人项目、学习实践还是创业尝试,工作室都提供了完善的开发环境和工具支持;
  • 团队协作:团队成员可以在工作室中共同开发和管理一个应用。通过权限管理和协作功能,团队成员可以分工合作,共同完成应用的开发和优化工作,提高开发效率和质量;
  • 企业应用开发:企业用户可以利用工作室的强大功能快速构建生产级的 AI 应用,满足企业的业务需求。从简单的客服聊天机器人到复杂的业务流程自动化系统,工作室都能提供相应的支持和解决方案。

知识库

功能概述
知识库模块是 Dify 为用户提供的一种高效的知识管理和检索功能。它允许用户将各种格式的文档(如 PDF、PPT、Word 等)上传到平台,自动提取其中的文本内容,并通过向量化等技术手段实现知识的结构化存储和快速检索。结合 RAG(检索增强生成)功能,知识库可以与语言模型生成的内容相结合,提高回答的准确性和相关性。

内容详情

  • 文档上传与管理:用户可以方便地将本地的文档上传到知识库中,支持多种常见的文档格式。上传后的文档会自动进行解析和处理,提取出文本内容并进行存储。用户可以对知识库中的文档进行分类、标签、搜索等管理操作,方便快速定位和查找所需的知识;
  • 知识检索与查询:知识库提供了强大的检索功能,用户可以通过关键词、短语、文档标题等多种方式进行精确或模糊搜索。检索结果会以列表形式展示,包括文档的相关信息和匹配的内容片段,帮助用户快速找到所需的知识点。同时,检索结果还可以与语言模型的生成内容相结合,实现更智能的知识应用;
  • RAG 功能应用:结合 RAG 技术,知识库中的知识可以作为背景信息融入到语言模型的生成过程中。当用户提出问题时,系统会先从知识库中检索相关的知识内容,然后将这些知识作为上下文提供给语言模型,使其能够生成更准确、更符合用户需求的回答。这种功能在需要专业领域知识或特定背景信息的应用场景中非常有用;
  • 知识图谱与关联分析:知识库可以对上传的文档进行知识图谱构建和关联分析,挖掘文档之间的潜在关系和知识网络。通过可视化的方式展示知识之间的关联,帮助用户更全面地理解和掌握知识体系,发现知识之间的内在联系。

使用场景

  • 企业知识管理:企业可以将内部的文档资料、培训教材、业务流程等上传到知识库中,构建企业专属的知识库。员工可以通过知识库快速查找和获取所需的知识,提高工作效率和协作能力。同时,结合 RAG 功能,可以实现智能的企业知识问答系统,提升企业内部沟通和决策的效率;
  • 学术研究与学习:学术研究人员可以将大量的学术论文、研究报告等上传到知识库中,方便进行文献检索和知识梳理。在撰写论文或进行研究时,可以利用知识库快速获取相关领域的知识和研究成果,提高研究效率。学生也可以通过知识库整理和管理学习资料,实现个性化学习和知识复习;
  • 专业领域知识应用:对于需要特定专业领域知识的应用场景,如医疗、法律、金融等,知识库可以存储相关的专业文献和法规政策等。结合语言模型,可以开发出专业的智能助手,为用户提供准确、专业的咨询服务和解答。

工具

功能概述
工具模块是 Dify 提供的一系列实用工具和插件的集合,旨在丰富应用的功能和拓展平台的使用场景。这些工具涵盖了多种类型,包括但不限于搜索引擎、图像生成工具、代码执行工具等,用户可以直接在应用中调用这些工具,提升应用的实用性和多样性。

内容详情

  • 内置工具使用:Dify 平台内置了多种常用的工具,如搜索引擎工具、图像生成工具、代码执行工具等。用户在创建应用时,可以直接在工具模块中选择并添加这些工具到应用中。通过简单的配置和连接,就可以在应用中实现相应的功能,如在聊天应用中添加搜索引擎工具,实现智能问答与网页搜索的结合;
  • 自定义工具开发:除了内置工具外,用户还可以根据自己的需求开发自定义工具。通过 Dify 提供的工具开发接口和文档,用户可以将自己的业务逻辑或外部 API 集成到平台中,作为自定义工具使用。这使得 Dify 的功能得到了极大的扩展,能够满足更多个性化和特定场景的需求;
  • 工具插件市场:Dify 正式推出了 Marketplace 插件市场,汇聚了来自官方、社区及第三方开发者贡献的各类插件。用户可以在工具模块中访问插件市场,浏览和选择适合自己应用需求的插件。插件市场中的工具插件涵盖了模型、工具、Agent 策略等多个方面,丰富了应用的功能和可能性;
  • 工具管理与更新:用户可以在工具模块中对已添加的工具进行管理,包括查看工具的详细信息、配置工具的参数、更新工具的版本等。平台会定期对工具进行更新和维护,确保工具的稳定性和兼容性。用户也可以根据自己的需求手动更新工具或卸载不再需要的工具。

使用场景

  • 丰富应用功能:在开发 AI 应用时,用户可以通过工具模块添加各种实用工具,使应用具备更多的功能和特性。例如,在一个旅游推荐应用中,可以添加地图工具、天气查询工具等,提升应用的实用性和用户体验;
  • 拓展业务场景:通过自定义工具开发和插件市场,用户可以将 Dify 平台与自己的业务系统或外部服务进行整合,拓展应用的业务场景。例如,将企业内部的 CRM 系统集成到 Dify 应用中,实现智能客服与客户关系管理的结合;
  • 创新应用开发:工具模块为用户提供了更多的创作空间和可能性,激发用户的创新思维。用户可以结合不同的工具和插件,开发出具有独特功能和创新性的 AI 应用,满足特定领域或用户群体的需求。

创建应用

聊天助手、Agent、文本生成应用、Chatflow、工作流五种应用类型的详细对比

应用类型核心功能适用场景特点配置复杂度
聊天助手基于 LLM 的对话助手,能够与用户进行自然语言交互,理解用户的问题、请求或指令,并给出相应的回答或执行相应的操作客户服务、智能问答、对话机器人等界面友好,易于上手,具备基本的对话交互能力简单
Agent不仅具备对话能力,还具备任务分解、推理、工具调用等高级能力。能够理解复杂的指令,将任务分解为多个子任务,并调用相应的工具或API来完成这些子任务复杂任务自动化、智能助手等需要执行多步操作的场景支持函数调用和ReAct推理框架,能够自主调用工具完成复杂任务中等
文本生成应用专注于各种文本生成任务,如撰写故事、新闻报道、文案、诗歌等创意写作,以及文本分类、翻译等任务内容创作、文本翻译、文案撰写等专注于文本生成,提供高质量的文本输出,但相比聊天助手和Agent,交互性较弱中等
Chatflow面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序复杂对话流程管理,如多轮对话、需要记忆上下文的对话场景提供问题理解类节点,支持对话历史、标注回复等功能,适合复杂的对话流程设计复杂
工作流根据用户定义的流程编排,灵活地组织和控制LLM的工作流程。用户可以自定义一系列的操作步骤和逻辑判断,让LLM按照预定的流程执行任务自动化任务处理、批处理任务、数据处理等提供丰富的逻辑节点,如代码节点、IF/ELSE节点等,支持定时和事件触发,适合自动化流程构建复杂

聊天助手、Agent和文本生成应用

特性聊天助手(Chat Assistant)Agent文本生成应用(Text Generation Application)
定义主要通过自然语言与用户进行互动,提供解答、建议或执行任务执行指定任务的智能体,通常具有某种目标或任务管理功能基于预训练模型生成符合需求的文本内容
应用场景智能客服、对话式用户界面、问答系统等自动化任务处理、虚拟助手、软件代理、智能客服等内容创作、文章生成、摘要生成、代码生成等
核心功能- 识别用户意图
- 提供对话反馈
- 执行简单任务或查询
- 执行特定任务或指令
- 自主决策
- 与外部系统交互
- 基于输入生成相关文本
- 文本创作和优化
- 回答问题
交互方式用户与系统之间的自然语言对话与用户或其他系统进行任务导向的交互,可能通过文本、API等通常是与用户的单向交互,生成与输入相关的文本内容
目标提高用户体验,提供实时的对话支持和服务完成特定任务或目标,执行智能决策或任务自动化生成流畅、相关且有意义的文本
智能程度中等,依赖于自然语言处理和意图识别高度智能,能够执行复杂任务并做出自主决策基于大模型的预训练,智能程度依赖于模型质量和训练数据
任务处理能力处理与对话相关的任务,如查询、建议、简单执行等可执行各种任务,从简单到复杂的决策、任务自动化等主要生成文本,无法主动执行任务,依赖于输入的指导
实时性通常需要实时响应,适用于即时对话可能实时执行任务,特别是与用户或系统的交互生成文本通常是按需生成,不一定实时
输出类型对话、回答、建议、指令等任务结果、决策、执行反馈等文章、段落、代码、摘要等
依赖性依赖于自然语言处理、意图识别、对话管理等技术依赖于任务管理、决策逻辑、外部接口等技术依赖于大型语言模型、文本生成算法和数据
适用领域客服支持、自动问答、个人助手等虚拟助手、自动化代理、智能系统等内容创作、写作助手、自动生成报告或摘要等
智能程度调优需要不断优化对话策略和意图识别精度需要优化任务执行能力和决策智能通过模型微调、优化数据集来提升文本质量
适用对象主要针对用户,通过交互提高体验可以是用户、开发者、系统间的交互,更多侧重任务完成主要是内容创作者或需要文本生成的领域
示例Siri、Alexa、智能客服系统等自动化客户支持代理、智能推荐系统等GPT-3、ChatGPT、文章生成工具等

总结:

  • 聊天助手:是与用户进行对话并提供实时反馈的系统,主要关注与用户的自然语言交互;
  • Agent:是执行具体任务的智能体,可以是任务导向型的,具有自主决策和跨系统交互的能力,通常不专注于对话,而是专注于任务完成;
  • 文本生成应用:侧重于根据输入生成相关的文本,适用于内容创作、报告生成等领域,更多关注文本内容的生成而非与用户的互动。

ChatFlow和工作流

特性ChatFlowWorkflow
定义用于设计和管理对话流程,处理用户输入和系统响应自动化一系列任务的流程,涉及数据处理、任务执行和系统间的协作
应用场景聊天机器人、智能客服、对话系统等业务流程自动化、跨系统集成、任务调度、数据流转等
核心功能- 设计多轮对话流
- 管理用户输入和系统响应
- 状态管理
- 任务的顺序执行与并行执行
- 跨系统协作
- API 调用和数据传输
交互方式交互式对话,关注用户输入和系统反馈之间的流畅性自动化处理,无需实时用户交互,关注任务和数据的处理
目标提升对话的自然流畅和用户体验提高工作效率、自动化业务操作、减少人工干预
触发机制通过用户输入或预设条件触发对话的下一步根据条件、时间或事件触发任务执行
复杂性较低,主要关注对话的逻辑较高,涉及多个任务、服务、系统的协调
任务管理主要管理对话步骤和状态管理多个任务的执行顺序、并行执行等
灵活性灵活的对话设计,可以处理多轮对话的复杂性灵活的工作流设计,可以处理复杂的自动化任务流
系统协作主要关注用户和系统之间的互动,系统间的协作较少强调跨系统的数据传递和操作执行
数据流转数据流主要是用户输入和系统反馈包含多个系统间的数据流转,可能包括数据库、API调用等
调试与监控主要调试对话流程,监控对话的状态和响应调试工作流中任务的执行,监控任务的成功与失败
依赖性通常依赖于对话管理引擎可能依赖多个系统、服务或API
示例智能客服系统中,用户询问问题,系统给出相应的回答企业的订单处理流程,自动生成发货单、调度物流等任务

总结:

  • ChatFlow:主要聚焦于用户与系统的对话交互,适用于对话型应用和聊天机器人开发;
  • Workflow:是一种更加全面的流程管理工具,适用于自动化任务管理和跨系统集成,涉及更多的业务逻辑和数据流。

添加本地模型

首先需要安装OpenAI-API-compatible插件
在这里插入图片描述
安装成功后,点击【添加模型】:
在这里插入图片描述
在这里插入图片描述
添加reranker小模型时写http://10.158.0.104:30012即可。最后的效果:
在这里插入图片描述
如上截图,有个WARNING标记,点击【系统模型设置】
在这里插入图片描述
文本转语音模型未设置,所以还是会有警告标记。

语音功能

麦克风未授权

解决方案:
1、首先排除电脑的麦克风权限是否可用,具体可以在百度上搜索。然后打开浏览器的麦克风权限。

在线测试浏览器是否可以使用麦克风。使用链接在线测试。

2、浏览器的麦克风权限已经打开,但是dify发布的应用中麦克风还是不可以用。此处有两种方法,
2.1 部署dify时使用https协议,根据dify的官方的issue中反馈部署https协议版本的就可以解决这类问题。具体怎么部署https版本的,我没有仔细研究,若是后续有了解的话再更新此部分。
2.2 既然https协议中麦克风权限可以使用,那么http协议中也可以使用,只是需要设置一些东西,Chrome浏览器中打开
chrome://flags/#unsafely-treat-insecure-origin-as-secure页面后,将Insecure origins treated as secure设置为enabled,并将允许使用麦克风的网页的地址写入可访问列表,如http://ip:port”,重启浏览器后可用!

语音接口报错

语音提问时,audio-to-text 接口报错:

{"code": "invalid_param","message": "Speech to text is not enabled","status": 400
}

在这里插入图片描述

知识库

在这里插入图片描述
在这里插入图片描述
解读:
分段设置

  • 分段标识符:用于定义文本分段的规则,如按换行符\n\n\n分段。这有助于将长文本分割成更小的、易于处理的片段,方便后续的语义分析和检索;
  • 分段最大长度:设置每个分段的最大长度(以tokens为单位)。这可以防止单个分段过长,影响处理效率和模型的理解能力;
  • 分段重叠长度:设置分段之间的重叠长度(以tokens为单位)。重叠部分可以帮助保持上下文的连贯性,避免因分段而导致的信息割裂;
  • 文本预处理规则:包括去除连续的空格、换行符和制表符,以及去除所有URL和电子邮件地址。这些规则可以清理文本数据,减少噪声(在NLP或文本检索中,噪声(Noise)是指对核心信息或有价值内容无帮助的无效信息,它们会影响模型的理解和分析能力),提高文本质量和处理效率。

勾选【使用Q&A分段】:
在这里插入图片描述
启用此选项可以针对问答场景优化分段,使分段更符合问答的逻辑和需求。选择语言(如Chinese)可以针对特定语言的文本进行优化处理。

使用【高质量】索引方式:
在这里插入图片描述
【父子分段】使用父子模式时,子段借用父段的上下文:子段可以继承父段的上下文信息。这有助于在处理嵌套或层次化的文本结构时,保持各分段之间的语义关联和上下文连贯性。

索引方式

  • 经济:可节省计算资源和处理时间,但可能会牺牲一定的检索质量。适用场景:适用于对检索速度和资源消耗较为敏感的场景,如快速原型开发、资源受限的环境等;
  • 高质量:可提高检索的准确性和相关性,但可能会增加计算资源的消耗和处理时间。适用场景:适用于对检索结果质量要求较高的场景,如专业领域的知识问答、复杂问题的解答等。

检索设置

  • 混合检索:同时执行全文检索和向量检索,并应用重新排序步骤,从两类检索结果中选择匹配用户问题的最佳结果。用户可选择设置权重或配置重新排序模型,以优化检索结果的组合和排序。适用场景:适用于需要结合关键词检索和语义检索优势的复杂场景,可提高检索的全面性和准确性。
  • 全文检索:基于文本中的关键词进行检索,返回包含这些关键词的文本片段。简单直接,适用于基于关键词的检索需求。
  • 向量检索:通过生成查询向量并返回与其向量表示最相似的文本分段。可基于语义相似性进行检索,适用于语义搜索和复杂的文本匹配场景。

选项:
Rerank 模型:可选的重新排序模型,用于对初步检索结果进行重新排序,提高检索结果的相关性和准确性。
Top K:设置返回的最相似文本分段的数量,决定每次检索返回的结果数量。
Score 阈值:设置检索结果的分数阈值,只有分数高于阈值的结果才会被返回。这可过滤掉质量较低或相关性较低的结果。

在这里插入图片描述

添加文档

文档禁用和归档

  • 禁用:数据集支持将暂时不想被索引的文档或分段进行禁用,在数据集文档列表,点击禁用按钮,则文档被禁用;也可以在文档详情,点击禁用按钮,禁用整个文档或某个分段,禁用的文档将不会被索引。禁用的文档点击启用,可取消禁用。
  • 归档:一些不再使用的旧文档数据,如果不想删除可将它进行归档,归档后的数据就只能查看或删除,不可进行编辑。在数据集文档列表,点击归档按钮,则文档被归档;也可以在文档详情,归档文档。归档的文档将不会被索引。归档的文档也可点击撤销归档。

元数据管理

除了用于标记不同来源文档的元数据信息,例如网页数据的标题、网址、关键词、描述等。元数据将被用于知识库的分段召回过程中,作为结构化字段参与召回过滤或者显示引用来源。

文档分段

文档分段对于知识库应用的问答效果有明显影响,在将知识库与应用关联之前,建议人工检查分段质量。

通过字符长度、标识符或者 NLP 语义分段等机器自动化的分段方式虽然能够显著减少大规模文本分段的工作量,但分段质量与不同文档格式的文本结构、前后文的语义联系都有关系,通过人工检查和订正可以有效弥补机器分段在语义识别方面的缺点。

检查分段质量时,一般需要关注以下几种情况:

  • 过短的文本分段:导致语义缺失;
  • 过长的文本分段:导致语义噪音影响匹配准确性;
  • 明显的语义截断:在使用最大分段长度限制时会出现强制性的语义截断,导致召回时缺失内容;

添加文本分段
在分段列表内点击 「 添加分段 」 ,可在文档内自行添加一个或批量添加多个自定义分段。

批量添加分段时,你需要先下载CSV格式的分段上传模板,并按照模板格式在Excel内编辑所有的分段内容,再将CSV文件保存后上传。

在分段列表内,可对已添加的分段内容直接进行编辑修改。包括分段的文本内容和关键词。

Embedding模型,修改知识库的嵌入模型,修改Embedding模型将对知识库内的所有文档重新嵌入,原先的嵌入将会被删除。

API
Dify知识库提供整套标准API,开发者通过API调用对知识库内的文档、分段进行增删改查等日常管理维护操作,参考API文档。

节点

节点名称功能描述应用场景输入要求输出结果
LLM利用LLM处理文本生成、文本理解等任务自然语言处理、文本分析、聊天机器人等文本数据、问题描述、指令等处理后的文本结果,如回答、生成的文本等
知识检索在知识库中检索信息,提供基于查询的响应问答系统、智能助手、数据检索等查询关键词、问题描述等检索结果,如相关信息、数据记录等
结束表示工作流的结束,用于终止流程任何需要定义结束点的工作流无特定输入,或根据前序节点结果流程结束,无输出
Agent模拟智能体行为,执行决策和任务模拟对话、自动化任务执行等环境状态、任务指令等行为结果,如决策输出、任务完成状态等
问题分类器将输入的问题分类到预定义的类别中客户服务、技术支持等需要问题分类的场景问题描述、用户输入等分类结果,如问题类型、优先级等
条件分支根据条件判断执行不同的流程分支决策树、工作流分支等条件表达式、逻辑判断等分支结果,决定下一个执行的节点
迭代重复执行某个流程或任务,直到满足特定条件数据处理、批量操作等需要重复执行的场景迭代条件、循环次数等迭代结果,如处理后的数据集、完成标志等
代码执行执行代码块,运行脚本或程序代码自动化脚本执行、数据处理等代码块、脚本文件等代码执行结果,如输出数据、状态码等
模板转换将输入数据转换为特定格式或模板数据格式化、报告生成等输入数据、模板定义等转换后的数据,如格式化后的文本、生成的报告等
变量聚合器对多个变量进行聚合操作,如求和、平均等数据分析、统计计算等多个变量值、聚合函数等聚合结果,如总和、平均值等
文档提取器从文档中提取特定信息数据提取、信息检索等文档内容、提取规则等提取的信息,如关键数据、文本片段等
变量赋值为变量分配值,设置变量状态配置管理、初始化等变量名、赋值等赋值结果,更新后的变量状态
参数提取器从输入中提取参数,供后续节点使用参数解析、配置提取等输入数据、提取规则等提取的参数,如键值对等
HTTP请求发送HTTP请求到指定的URL,处理网络请求网络交互、API调用等请求URL、请求方法、头信息等请求结果,如响应数据、状态码等
列表操作对列表数据进行操作,如添加、删除或修改列表中的元素数据处理、列表管理等列表数据、操作类型等操作结果,如更新后的列表内容

添加Ollama

添加Ollama

在这里插入图片描述
在「基础URL中」,如果ollama和Dify是同机部署,并且Dify是通过Docker部署,那么填http://host.docker.internal:11434,其他情况填http://ollama的地址:11434,填完之后点击保存即可。

DeepSeek R1是一个推理模型,不支持函数调用,也就是说无法集成在DIfy的智能体中,但是DeepSeek V3可以。

版本

V1.4.0

新功能:

  • 深色模式;
  • 多模态输出:支持多模态输出,允许LLM在LLMNode中处理文本和图像。增强数据交互的丰富性并增强模型的功能。可使用Gemini 2.0 Flash Exp型号尝试这些新功能!这种集成可确保您的AI可以无缝处理和响应文本和视觉数据;
  • 问题编辑:允许在问题上线之前对其进行编辑。确保可以调整问题的清晰度和相关性;
  • 增强的Redis管理:支持Redis客户端缓存以优化数据处理(开箱即用),从而提高整体系统性能;
  • 强大的工作流程管理:解决工作流程中的许多不一致和错误,确保全面运营更顺畅、更可靠;

V1.4.1

新功能:

  • 可选请求日志记录:可以配置可选的请求和响应日志记录,以帮助进行调试和跟踪;
  • Web 媒体元素增强功能:添加了对具有属性的 和 元素的支持,从而在嵌入媒体时为您带来更大的灵活性;
  • 插件守护进程中的 Aliyun OSS 存储支持:新的插件存储类型现在支持 Aliyun OSS,以满足需要此云存储选项的用户;
  • 在 Opik Tracer 中跟踪对话:引入对通过Opik Tracer跟踪对话的支持,增强跟踪功能;
  • 简化应用程序创建:通过折叠基本应用程序类型简化应用程序创建体验,以实现更直观的设置;
  • 文档提取器增强功能:在文档提取器中实现chardet编码,以便更稳健地处理各种文本编码。

修复与改进:

  • 完全更新:将qdrant-client升级到v1.9.0,以确保环境安全并处于最新状态;
  • 溢出和布局修复:更正元数据条件名称溢出并改进对长机器人描述的处理;
  • 文件上传和导出:解决头像上传和自定义文件类型导出的问题,因此所有内容都可以在各自的拉取中顺利上传;
  • 性能优化:改进多个工作流程,包括OpsTraceManager中的验证逻辑和Markdown中的图表渲染,解决闪烁和循环问题;
  • 知识检索和工作流程增强功能:在知识检索工作中遇到的未初始化变量错误,并改进逻辑。

参考

  • 麦克风未授权

http://www.hkcw.cn/article/YIpQvLcUvF.shtml

相关文章

Java类和对象详解

文章目录 1.初步认识2.类的定义与实例化2.1 类的定义2.2 类的实例化与使用 3.this关键字4.对象的构造和初始化4.1 默认初始化4.2 就地初始化4.3 构造方法初始化 5.对象的打印6.包的理解6.1 导入包中的类6.2 自定义包6.3 包访问权限 7.封装7.1 访问限定符详解 8.static关键字8.1…

【Go语言】Fyne GUI 库使用指南 (面向有经验开发者)

引言 Fyne 是一个使用 Go 语言编写的、易于使用的跨平台 GUI 工具包和应用程序 API。它旨在通过单一代码库构建在桌面和移动设备上运行的应用程序。本文档面向有一定 Go 语言开发经验的开发者,将详细介绍 Fyne 最新版的核心功能,包括基础组件、布局系统…

1. pytorch手写数字预测

1. pytorch手写数字预测 1.背景2.准备数据集2.定义模型3.dataloader和训练4.训练模型5.测试模型6.保存模型 1.背景 因为自身的研究方向是多模态目标跟踪,突然对其他的视觉方向产生了兴趣,所以心血来潮的回到最经典的视觉任务手写数字预测上来&#xff0…

武警智能兵器室系统架构设计与关键技术解析

在现代化武警部队建设中,武器弹药的安全管理与快速响应能力直接影响部队战斗力。本文基于某实战化智能兵器室建设案例,深入解析其系统架构设计、关键技术实现及创新管理机制,为安防领域提供可借鉴的解决方案。 整体拓扑结构 系统采用分层分布…

HTML5 列表、表格与媒体元素、页面结构分析

1. 列表 无序列表 有序列表 定义列表 列表对比 2. 表格 跨列 跨行 跨行和跨列 3. HTML5的媒体元素 视频元素 注意:autoplay现在很多浏览器不支持了! 音频元素 4. 页面结构分析 5. 总结

中文文本分析及词云生成

一、代码解析(按执行顺序) 1. 库导入 import jieba # 中文分词工具 from wordcloud import WordCloud # 词云生成器 from collections import Counter # 词频统计 import matplotlib.pyplot as plt # 可视化 import numpy as np # 图像矩阵处理 f…

芯片手册解读

一: 1.这是一款差分转单端的芯片: 2.给出了逻辑高低的识别门限:并不是大于100mv和小于-100mv就识别不到了——而是大于100mv和小于-100mv都可以识别到,手册的意思仅仅代表门限节点而已,完全可以在进入门限后的其他电…

LangChain-Tool和Agent结合智谱AI大模型应用实例2

1.Tool(工具) 定义与功能 单一功能模块:Tool是完成特定任务的独立工具,每个工具专注于一项具体的操作,例如:搜索、计算、API调用等 无决策能力:工具本身不决定何时被调用,仅在被触发时执行预设操作 输入输出明确:每个工具需明确定义输入、输出参数及格式 2.Agent(…

专业级图片分割解决方案

在日常处理图片的过程中,我们常常会遇到需要将一张图分割成多个小图的情况。这一款高效又实用的图片分割工具——它操作简单、功能强大,关键是完全免费开源,适合所有有图像处理需求的朋友! 在使用之前,先花几分钟把它…

Re--题

一.[NSSCTF 2022 Spring Recruit]easy C 直接看for循环,异或 写代码 就得到了flag easy_Re 二.[SWPUCTF 2021 新生赛]非常简单的逻辑题 先对这段代码进行分析 flag xxxxxxxxxxxxxxxxxxxxx s wesyvbniazxchjko1973652048$-&*&l…

iOS 集成网易云信IM

云信官方文档在这 看官方文档的时候&#xff0c;版本选择最新的V10。 1、CocoPods集成 pod NIMSDK_LITE 2、AppDelegate.m添加头文件 #import <NIMSDK/NIMSDK.h> 3、初始化 NIMSDKOption *mrnn_option [NIMSDKOption optionWithAppKey:"6f6568e354026d2d658a…

边缘计算网关支撑医院供暖系统高效运维的本地化计算与边缘决策

一、项目背景 医院作为人员密集的特殊场所&#xff0c;对供暖系统的稳定性和高效性有着极高的要求。其供暖换热站传统的人工现场监控方式存在诸多弊端&#xff0c;如人员值守成本高、数据记录不及时不准确、故障发现和处理滞后、能耗难以有效监测和控制等&#xff0c;难以满足…

Google Earth Pro 7.3 中文绿色版 - 谷歌地球专业版(精准定位,清晰查看您家位置)

谷歌卫星高清地图 下载链接&#xff1a;https://pan.quark.cn/s/c6069864c9f3 Google Earth Pro-7.3.6.9796-x64 Google Earth WinMac安装版 GoogleEarthProPortable googleearthpromac-intel-7.3.6.10155 GoogleEarthProWin-7.3.6.10155 GoogleEarthProWin-x64-7.3.6.10…

【工作笔记】 WSL开启报错

【工作笔记】 WSL开启报错 时间&#xff1a;2025年5月30日16:50:42 1.现象 Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80370114 Error: 0x80370114 ??????????????????Press any key to continue...

《TCP/IP 详解 卷1:协议》第3章:链路层

以太网和IEEE802局域网/城域网标准 IEEE802局域网/城域网标准 IEEE 802 是一组由 IEEE&#xff08;电气与电子工程师协会&#xff09;定义的局域网和城域网通信标准系列&#xff0c;涵盖了从物理层到链路层的多个网络技术。其中&#xff1a; IEEE 802.3 定义的是传统的以太网…

【定昌linux开发板】设置密码的有效时间

查看密码策略命令 sudo chage -l 用户名 先查询下默认情况下&#xff0c;密码策略 结果&#xff1a; 可以看出&#xff0c;密码没什么策略 那么我要设置30天后过期&#xff0c;并且七天前要进行提醒 sudo chage -M 30 用户名 再进行查询&#xff0c;结果如下 显示密码的有…

Vue-数据监听

数据监听 基础信息 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>数据监听</title><!-- 引入Vue --><script type"text/javascript" src"../js/vue.js&qu…

Java 注解式限流教程(使用 Redis + AOP)

Java 注解式限流教程&#xff08;使用 Redis AOP&#xff09; 在上一节中&#xff0c;我们已经实现了基于 Redis 的请求频率控制。现在我们将进一步升级功能&#xff0c;使用 Spring AOP 自定义注解 实现一个更优雅、可复用的限流方式 —— 即通过 RateLimiter 注解&#xf…

C++学习-入门到精通【10】面向对象编程:多态性

C学习-入门到精通【10】面向对象编程&#xff1a;多态性 目录 C学习-入门到精通【10】面向对象编程&#xff1a;多态性一、多态性介绍&#xff1a;多态电子游戏二、类继承层次中对象之间的关系1.从派生类对象调用基类函数2.将派生类指针指向基类对象3.通过基类指针调用派生类的…

基于springboot的医护人员排班系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…