【原创】MAC OS 本地搭建部署 dify

news/2025/3/1 0:42:25/文章来源:https://www.cnblogs.com/gdut1425/p/18680432

 一、什么是 dify?

Dify 是一个开源的大语言模型(LLM)应用开发平台,融合了后端即服务(Backend as Service, BaaS)和 LLMOps 理念,旨在简化和加速生成式AI应用的创建和部署。它支持多种大型语言模型(如OpenAI的GPT系列、Claude3等),并提供强大的数据集管理功能、可视化的 Prompt 编排以及应用运营工具

1. Dify 的主要作用和功能

  1. 低代码/无代码开发:通过可视化界面,开发者可以轻松定义Prompt、上下文和插件,无需深入底层技术细节
  2. 模块化设计:采用模块化设计,每个模块功能清晰,开发者可根据需求选择性地使用
  3. 丰富的功能组件:包括AI工作流、RAG管道、Agent、模型管理等,支持从原型到生产的全过程
  4. 支持多种大语言模型:已支持主流的模型,开发者可以根据需求选择最适合的模型来构建AI应用
  5. RAG功能:提供从文档摄取到检索的广泛RAG功能,支持从PDF、PPT等常见文档格式中提取文本
  6. 代理功能:内置50多个工具(如Google Search、Stable Diffusion等),支持自定义工具,可基于LLM函数调用或ReAct定义代理
  7. LLMOps:支持监控和分析应用程序日志和性能,根据生产数据和注释不断改进提示、数据集和模型
  8. 后端即服务:所有产品都附带相应的API,方便将Dify集成到自己的业务中

2. Dify 的应用场景

  • 聊天助手:基于LLM的对话助手,能够与用户进行自然语言交互
  • 文本生成:专注于各种文本生成任务,如撰写故事、新闻报道、文案、诗歌等
  • Agent(智能代理):具备任务分解、推理、工具调用等高级能力,能够理解复杂指令并调用API完成任务
  • 工作流程(Workflow):根据用户定义的流程编排,灵活地组织和控制LLM的工作流程
Dify通过集成关键的技术栈,为开发者节省了大量时间,使他们能够专注于创新和业务需求

3.Dify和字节 coze 的区别

Dify 和字节跳动的“扣子”(Coze)都是用于开发AI应用的平台,但它们在功能、用户群体和应用场景上存在一些区别:

1. 功能特点 

  • Dify
    • 模型接入:支持多种开源大语言模型(LLM),包括OneAPI、Ollama等,用户可以在系统界面直接配置,操作友好
    • 工作流:提供丰富的节点类型,支持AI对话配置、知识库检索、代码执行等功能,适合有一定技术背景的用户
    • 知识库:支持多种数据源同步,如Notion,提供灵活的分段和索引设置
    • 发布应用:支持多平台部署,提供详细的统计数据和监控功能 
  • 扣子(Coze)
    • 模型接入:主要支持字节跳动的豆包(闭源)大模型,以及国内的智谱、通义千问等模型
    • 工作流:操作简单,适合初级用户,提供工作流模板,降低了使用门槛
    • 知识库:支持丰富的数据格式,包括表格、图片等,支持智能标注和预览
    • 发布应用:对字节跳动平台友好,适合快速嵌入字节系应用

2. 用户群体 

  • Dify
    • 更面向专业开发者和企业用户,适合需要高级功能和定制化需求的场景
    • 提供多用户支持和国际化功能,适合B端业务
  • 扣子(Coze)
    • 更面向普通用户和C端开发者,注重用户体验和易用性
    • 提供丰富的插件和模板,适合快速开发和部署

3. 应用场景 

  • Dify
    • 适合需要高度定制化和灵活配置的AI应用开发,例如企业级知识管理、复杂工作流自动化等
    • 支持国际化部署,适合有海外业务需求的用户
  • 扣子(Coze)
    • 适合快速开发和部署AI应用,尤其是需要快速嵌入字节跳动生态的应用
    • 提供丰富的插件和模板,适合需要快速上手和简单操作的用户

4. 总结:如果你是专业开发者,需要高度定制化的功能和灵活的配置,Dify可能是更好的选择;如果你是普通用户,注重易用性和快速开发,扣子(Coze)可能更适合你

Dify 有云端cloud 版本和社区版本,本文介绍的是如何在本地安装 dify 的社区版本。

二、安装 docker

1. 什么是 docker?

Docker 是一个开源的容器化平台,用于开发、部署和运行应用程序。它通过使用容器技术,允许开发者将应用程序及其依赖项打包到一个独立的、可移植的容器中,从而确保应用程序在不同的环境中能够一致地运行。

2. 下载地址

https://www.docker.com/ 根据操作系统型号选择对应的版本。

三、安装 dify

下载地址:https://dify.ai/

 

 点击上述红色图标,然后下载代码包,如下所示:

 

下载后完成解压,如下所示:

进入到 cmd 终端环境

运行如下三行命令

cd docker
cp .env.example .env
docker compose up -d

如果出现如下报错,是因为镜像源拉取超时导致,docker 默认拉取的是 docker hub,国内网络访问容易超时会导致报错

 

因此需要调整下镜像源,打开 docker desktop,点击小齿轮设置部分,在 docker engine 部分

 将如下镜像源复制到上图红框部分

{
"registry-mirrors":["https://9cpn8tt6.mirror.aliyuncs.com","https://registry.docker-cn.com","https://mirror.ccs.tencentyun.com","https://docker.1panel.live","https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com","https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://your_preferred_mirror","https://dockerhub.icu","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"]
}

重启 docker 

 如显示如上,则表示安装成功,通过 http://localhost/install 即可在本地打开,首次打开需要设置邮箱/用户名/和密码,

登录成功后,即可体验 dify。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/871919.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apollo收紧权限

apollo收紧权限 1 系统权限管理 限制只有超级管理员可以创建项目。 1.1 系统权限管理参数 apollo 用户默认是系统的超级管理员,拥有管理所有项目和项目下所有命名空间的权限。 apollo 用户登录系统,点击右上角的管理员工具.系统权限管理。(1) 为用户添加创建应用权限(系统参数…

2025春秋杯DAY2DAY3部分wp

2025春秋杯DAY2DAY3部分wp DAY2 WEB easy_ser 源码如下 <?php //error_reporting(0); function PassWAF1($data){$BlackList = array("eval", "system", "popen", "exec", "assert", "phpinfo", "shell_…

SIP MESSAGE消息中的Content-Type

The Content-Type header field indicates the media type of the message-body sent to the recipient. SIP消息中<Content-Type> 消息头表示发送的消息体的媒体类型。如果消息体不为空,则必须存在 Content-Type 消息头。如果消息体为空且 Content-Type 消息头存在,则…

Hugging Face功能介绍,及在线体验当前顶级文生图模型Flux

Hugging Face简介 对于非机器学习或深度学习领域的人士来说,Hugging Face这个名字可能并不耳熟。然而,随着近年来大规模模型的迅速崛起,相信大家或多或少都有所接触。如果你对这一领域感兴趣,并在GitHub上查阅过一些开源资料,那么你一定会频繁地看到Hugging Face的身影。例…

[JavaScript] 深入理解流程控制结构

在编程中,流程控制是指控制代码执行顺序的机制。通过流程控制结构,我们可以根据不同的条件执行不同的代码块,实现逻辑判断、循环遍历和跳出循环等功能。常见的流程控制语句有:if-else、switch-case、for、while,以及控制语句break和continue。本文将详细讲解这些控制结构的…

ELF2开发板(rk3588飞凌)

ELF2开发板(飞凌嵌入式) 开箱包裹内容打开包装,你可以看到以下物品一个绿联的usb3.0读卡器、sandisk的32g内存卡(太好了) rk3588 4g+32g emmc版本ELF2开发板 输出为12v 3A的电源适配器(和ipad的充电器外观好像)图1 外包装盒图2 开箱物品内容图3 ELF2开发板正面图4 ELF2开发…

抗沙箱方式列举

前言 研究过免杀的朋友们一定会碰到过自己的🐎今天还能用,明天就被秒的情况。这种情况大多数是被上传到沙箱然后被沙箱检测和分析发现是🐎,进而记录特征让咱们花好几天写的🐎直接废了。为了提高🐎的存活周期,咱们就需要抗沙箱这门技术。 未加抗沙箱 首先,作为演示我…

K-D树及其应用

K-D树及其应用 简介 在单个维度的范围搜索场景下,如:搜索创建时间最靠近某个日期的商品信息。可以通过遍历所有的商品信息,计算每个商品的创建日期的差值,得到差值最小的商品即可,这样每次查询的时间复杂度为 \(O(n)\);或者通过构造一个 BST,通过日期进行比较查询,这样…

基础动态规划讲解

(标题就叫这个吧,我也没什么主意了) 动态规划,要给这个这个东西下个定义,确实不太好下,他是一种基于状态来思考问题的算法思想 用来表示状态的话,那就是dp,(这么说好抽象),就直接说涉及动态规划的题目怎么处理吧 ,这个还是有步骤可行的,就按如下步骤操作 1.寻找子…

遗传算法个人入门笔记

先举一个简单的求解例子: 变量x,y 函数f(x,y) = (x-5)^2 + (y+3)^2 - 5 求最小值。 def test(x,y):return (x - 5)**2 + (y - 3)**2 - 5显然,这个函数在x=5,y=3时取最小值-5。现在我们尝试用遗传算法解决之。 遗传算法主要是模拟生物进化的过程,将每一个值视作一个生物,有…

excel快速定位到某一行

左上角输入框输入:A100定位到第100行

2024秋季学期 电子技术基础期末复习笔记

这期末也太难了吧,15*2,俩超级难的电路,直接给我算麻了电路分析模拟电路