Dify:在MacOS系统下Dify的本地部署与使用

目录

一、Dify介绍

Dify的功能

为什么使用Dify?

Dify与LangChain的区别

Dify与Coze的区别

二、Dify的本地部署

安装Dify依赖环境

三、Dify的使用

1、模型配置

2、知识库

四、Dify的实战

简单的聊天模式

总结


一、Dify介绍

Dify 一词源自 Define + Modify,意指定义并且持续的改进你的 AI 应用,它是为你而做的(Do it for you

Dify 是一个专注于 AI 应用开发的平台,旨在帮助开发者快速构建、部署和管理基于大语言模型(LLM)的应用程序。其核心功能涵盖从开发到运维的全流程,大幅降低了 AI 应用的开发门槛。

官方地址: Dify.AI · 生成式 AI 应用创新引擎

官方文档地址:产品简介 - Dify Docs

Dify的功能

关于Dify的核心功能其实就一个:那就是创建智能体,但是有5种模式:

看起来很厉害的样子,但其实最常用就是Chatflow

为什么使用Dify?

你或许可以把 LangChain 这类的开发库(Library)想象为有着锤子、钉子的工具箱。与之相比,Dify 提供了更接近生产需要的完整方案,Dify 好比是一套脚手架,并且经过了精良的工程设计和软件测试。

重要的是,Dify 是开源的,它由一个专业的全职团队和社区共同打造。你可以基于任何模型自部署类似 Assistants API 和 GPTs 的能力,在灵活和安全的基础上,同时保持对数据的完全控制

Dify与LangChain的区别

Dify的特点

  • 低代码/无代码:通过界面拖拽即可构建AI应用(如客服机器人、内容生成工具),无需深入编程。
  • 内置功能:直接集成模型管理、数据标注、API发布等,适合非技术或全栈开发者。
  • 快速上线:从设计到部署可能只需几小时,适合中小企业和个人开发者

LangChain的特点

  • 高灵活性:通过Python/JavaScript代码连接LLM、数据库、工具链,适合定制化需求(如自主Agent、复杂工作流)。
  • 模块化设计:提供链(Chains)、代理(Agents)等组件,开发者需自行组装和优化。
  • 技术门槛高:需熟悉编程和LLM技术栈,适合工程师或研究团队

适用场景对比

  • 选择Dify:需要快速搭建一个功能明确的AI应用(如智能写作助手),且希望减少运维和开发成本。
  • 选择LangChain:需要深度控制模型行为(如结合私有数据构建问答系统),或开发实验性AI功能(如多模型协作)

Dify vs LangChain

  • Dify:适合快速生产级部署,降低工程复杂度。
  • LangChain:适合深度定制(如多模型协作),需较高技术门槛

Dify与Coze的区别

顺带提一下Coze,Coze也是目前市场上主流的Agent开发工具,Coze更注重开箱即用的体验,适合快速部署轻量级Agent

Coze官方地址:扣子

Dify和Coze均为AI应用开发平台,但定位和功能侧重点不同:

  • 目标用户
    Dify面向开发者及企业,提供全流程的AI应用开发工具,支持复杂业务场景的定制化需求

    Coze更侧重无代码/低代码用户,适合快速构建聊天机器人等轻量级应用。

  • 技术栈
    Dify支持多模型集成(如GPT、Claude、开源模型),提供API、工作流和数据集管理

    Coze深度集成字节跳动生态(如豆包),模型选择相对有限,但内置丰富插件和知识库功能。

  • 部署与控制
    Dify支持私有化部署,企业可完全掌控数据和模型;Coze主要为云托管服务,灵活性较低。

Dify vs Coze

  • Coze:侧重开箱即用,适合轻量级 Agent。
  • Dify:提供更灵活的自主控制与数据管理。

二、Dify的本地部署

安装Dify依赖环境

确保Mac OS系统已安装Python 3.8或更高版本。可通过终端输入python3 --version检查版本。推荐使用Homebrew安装Python:

bash 复制代码
brew install python

Mac系统安装Docker Desktop或者OrbStack,用于容器化部署,个人使用的OrbStack

Docker Desktop 安装地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker

OrbStack安装地址:Download OrbStack · Fast, light, simple Docker Desktop alternative

修改OrbStack的Docker镜像地址:

bash 复制代码
vim /etc/docker/daemon.json  

添加如下配置

bash 复制代码
{
  	"registry-mirrors" : [
  		"https://docker.registry.cyou",
		"https://docker-cf.registry.cyou",
		"https://dockercf.jsdelivr.fyi",
		"https://docker.jsdelivr.fyi",
		"https://dockertest.jsdelivr.fyi",
		"https://mirror.aliyuncs.com",
		"https://dockerproxy.com",
		"https://mirror.baidubce.com",
		"https://docker.m.daocloud.io",
		"https://docker.nju.edu.cn",
		"https://docker.mirrors.sjtug.sjtu.edu.cn",
		"https://docker.mirrors.ustc.edu.cn",
		"https://mirror.iscas.ac.cn",
		"https://docker.rainbond.cc",
		"https://do.nark.eu.org",
		"https://dc.j8.work",
		"https://dockerproxy.com",
		"https://gst6rzl9.mirror.aliyuncs.com",
		"https://registry.docker-cn.com",
		"http://hub-mirror.c.163.com",
		"http://mirrors.ustc.edu.cn/",
		"https://mirrors.tuna.tsinghua.edu.cn/",
		"http://mirrors.sohu.com/"
	],
	 "insecure-registries" : [
	    "registry.docker-cn.com",
	    "docker.mirrors.ustc.edu.cn"
	    ],
	"debug": true,
	"experimental": false
}

然后重启OrbStack后,使用docker info,如果出现 Registry Mirrors,则镜像配置成功

bash 复制代码
Client:
 Version:    27.5.1
 Context:    orbstack
 Debug Mode: false

......

 Registry Mirrors:
  https://docker.registry.cyou/
  https://docker-cf.registry.cyou/
  https://dockercf.jsdelivr.fyi/
  https://docker.jsdelivr.fyi/
  https://dockertest.jsdelivr.fyi/
  ......

进入到Dify源码的docker目录中,我们需要先把 .env.example 修改为 .env

bash 复制代码
mv .env.example .env

在当前目录执行

bash 复制代码
docker-compose up -d

下载完毕后,访问:http://localhost/install

使用docker ps -a,查看启动的进程

⚠️注意 :Dify升级时,要备份Docker目录下volumes文件夹,因为Dify上的所有数据存储在此。升级后还原备份的volumes即可

三、Dify的使用

注册完账号,进入Dify主页后,配置下模型厂商

1、模型配置

在Dify主页选择账号头像,选择【设置 】-【模型供应商 】,即可添加Dify中使用的模型,并【安装

Dify默认支持基本上所有主流的模型厂商,添加时只需要提供对应的模型的 API Key,可以选择熟悉的模型厂商,例如:百度的文心一言、阿里的通义千问,本地的Ollama即可,可以去对应的网站获取API Key

因为众多API Key都是收费的,此处还是选择硅基流动的模型,是有免费2000 万 Tokens额度

硅基流动地址 硅基流动统一登录

进入硅基流动,选择 DeepSeek R1 模型

点击"在线体验 "后,选择API密钥,选择"新建API密钥 ",则可生成硅基流动的API Key

安装【硅基流动】

安装成功后,刷新当前页面,点击【设置】,将上面硅基流动中的API Key添加到配置中

点击【系统模型设置】,根据个人需求选择对应的模型

2、知识库

选择【知识库】,默认支持2种方式:

创建本地知识库:如果是简单场景,可以直接在Dify中创建知识库,后续直接引用,但功能有限

连接外部知识库 :复杂场景推荐这种方式,企业中一般外接RAGFlow知识库

此处暂时使用本地知识库,点击【创建知识库】,选择文件上传

点击【下一步】进入文本分段与清洗 ,可以全部默认设置后进行【保存并处理】,就可以直接进入智能体的创建,不再需要进行详细配置

如果有RAG基础,可以看看以下配置,

先大概复习一下RAG原理:

RAG就是将文档切分后,通过嵌入模型转换为高位向量,导入向量数据库,然后将用户的输入信息,也转换为向量,再在向量数据库中匹配最相似的向量,最后由大模型总结检索到的内容,以此响应用户

配置分为三个部分:分段设置(文本切分)、索引方式、检索方式

知识库检索就是从向量数据库中进行检索,此处选择【混合检索】检索出来的结果会更加准确

三种检索方式:

向量检索:通过生成查询嵌入并查询与其向量表示最相似的文本分段

全文检索:索引文档中的所有词汇,从而允许用户查询任意词汇,并返回包含这些词汇的文本片段

混合检索:同时执行全文检索和向量检索,并应用重排序步骤,从两类查询结果中选择匹配用户问题的最佳结果,用户可以选择设置权重或配置重新排序模型

其中混合检索中可以选择【权重设置】或【Rerank】模型

权重设置:通过调整语义和关键字的比例来对内容进行检索

Rerank模型:可以根据候选候选列表与用户问题语义匹配度进行重新排序,从而改进语义排序的结果,简而言之就是从检索结果中,把更符合问题的那些chunk片段排在最前面展示出来

配置完成后点击【保存并处理】,开始文档向量化, 可以看到已经嵌入完成

点击【前往文档】,点击上传的文档,可以发现文档已经Chunk分段成功,知识库就创建成功了

知识库默认只有创建人可见,如果设置团队人员可见范围,需要去【设置】修改知识库权限

下面就可以进入智能体的创建部分,先从简单的聊天模式的智能体

四、Dify的实战

简单的聊天模式

可以创建【聊天助手】的智能体,也可以根据Dify提供的应用模版创建聊天智能体

此处选择智能体:【会议纪要】添加到工作区,切换右上角的模型就可以使用了,点击【发布】选择【发布更新】进行保存

现在就测试一下,点击【运行】就进入到了使用页面,输入会议内容,可以看到会议纪要的聊天智能体已经整理出了会议纪要,第一个智能体完结撒花🎉......

总结

Dify 通过模块化设计和低代码交互,显著缩短了 AI 应用从开发到上线的周期。其核心优势在于平衡了灵活性与易用性,尤其适合中小团队或个人开发者实现垂直场景的 AI 解决方案

相关推荐
玄辰星君3 小时前
【MAC】nacos 2.5.1容器docker安装
macos·docker·nacos
atwdy8 小时前
MacOS安装linux虚拟机
linux·运维·ubuntu·macos·utm
Tim风声(网络工程师)9 小时前
如何通过mac的前24bit,模糊确认是那一台什么样的设备
运维·服务器·网络·macos
菜鸟5555515 小时前
河南萌新联赛2025第一场-河南工业大学
macos·objective-c·cocoa
名字不要太长 像我这样就好2 天前
【iOS】源码阅读(六)——方法交换
开发语言·macos·ios·objective-c·cocoa
Digitally2 天前
轻松将文件从 iPhone 传输到 Mac
macos·ios·iphone
小诸葛的博客2 天前
mac电脑无法阅读runc源码
macos·策略模式
Java与Android技术栈3 天前
macOS 为 Compose Desktop 构建跨平台图像库:OpenCV + libraw + libheif 实践
人工智能·opencv·macos·计算机视觉
布朗克1683 天前
mac上的app如何自动分类
macos·apple·电脑使用技巧