28.6k Star!Dify:完善生态、支持Ollama与本地知识库、企业级拖放式UI构建AI Agent、API集成进业务!

cover_image

原文链接(更好排版、视频播放、社群交流)

28.6k Star!Dify:完善生态、支持Ollama与本地知识库、企业级拖放式UI构建AI Agent、API集成进业务!

原创 Aitrainee [ AI进修生 ](javascript:void(0)😉

AI进修生

微信号 AitraineeGPT

功能介绍 AI算法工程师 / Prompt工程师 / ROS机器人开发者 | 分享AI动态与算法应用资讯,提升技术效率。



Aitrainee | 公众号:AI进修生

🌟 Dify 是一款开源的大语言模型(LLM) 应用开发平台, 它融合了后端即服务和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI
应用。

即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中, 使用拖放式 UI 构 建 AI 应用程序和 RAG 工作流程!

体验地址:https://cloud.dify.ai/apps

为什么使用 Dify?

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

在可视化画布上构建和测试强大的 AI 工作流程,利用以下所有功能及其他功能。

我们的社区用户对 Dify 的产品评价可以归结为简单、克制、迭代迅速。——路宇,Dify.AI CEO

Dify 能做什么?

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

创业,快速的将你的 AI 应用创意变成现实,无论成功和失败都需要加速。在真实世界,已经有几十个团队通过 Dify 构建
MVP(最小可用产品)获得投资,或通过 POC(概念验证)赢得了客户的订单。

将 LLM 集成至已有业务,通过引入 LLM 增强现有应用的能力,接入 Dify 的 RESTful API 从而实现 Prompt 与业务代码的解耦,在
Dify 的管理界面是跟踪数据、成本和用量,持续改进应用效果。

作为企业级 LLM 基础设施,一些银行和大型互联网公司正在将 Dify 部署为企业内的 LLM 网关,加速 GenAI
技术在企业内的推广,并实现中心化的监管。

探索 LLM 的能力边界,即使你是一个技术爱好者,通过 Dify 也可以轻松的实践 Prompt 工程和 Agent 技术,在 GPTs
推出以前就已经有超过 60,000 开发者在 Dify 上创建了自己的第一个应用。

知识库

从 Notion 导入数据

Dify 数据集支持从 Notion 导入,并设置 同步 使得数据在 Notion 更新后便自动同步到 Dify。

通过 API 维护数据集

Dify中存在知识库数据集的单独API,这与他的服务api不同,你可以单独的使用数据集的API:

工作流

工作流通过将复杂的任务分解成较小的步骤,提高了 LLM 应用面向复杂任务的性能。

Dify 工作流按应用情景划分为两种类型:

• Chatflow:面向多步逻辑的对话式应用程序。

  • • Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。

• 常见案例 :

官方文档中详细的介绍了各种使用的节点,以及最终形成的工作流是支持导出的,方便我们团队协作。

接入众多LLM

模型配置

Dify 目前已支持主流的模型供应商,例如 OpenAI 的 GPT 系列、Anthropic 的 Claude 系列等。

_ 模型配置教程:https://docs.dify.ai/v/zh-hans/guides/model-configuration _

_ 请查看公众号往期文章(有关于免费OpenAI API调用的介绍、部署项目的时候如何进行API配置) _

在 Dify 的 设置 > 模型供应商 中设置要接入的模型。

配置完模型后,就可以在应用中使用这些模型了:

除此以外,Dify对于各种基础LLM,进行强大的兼容支持,支持各种本地如ollama以及第三方的模型,甚至支持你自定义的模型(需要自己重写类,和编写配置yaml)

发布你的应用

发布为公开 Web 站点

Dify还挺给力,用它创建AI应用,几分钟就能弄出一个Web应用,用户直接用,多方便。

发布AI站点

  • • 不管你是自己部署还是用云服务,比如Udify.app,都能快速上线。

  • • 在应用概览页里,找到那个AI站点(WebApp)的卡片,开启访问,就有链接可以分享了。

分享应用

  • • 无论是文本生成还是对话型应用,Dify都提供了好看的WebApp界面。就像是应用的脸,看起来得漂亮。

设置你的AI站点

  • • 点击WebApp卡片上的设置,可以弄一些东西,比如图标、名称、应用描述、界面语言、版权信息,还有隐私政策链接。这些都是最终用户会看到的。

嵌入你的AI站点

  • • Dify支持把你的AI应用嵌入到你的商业网站里。比如想做个AI客服或者问答系统,只要点击WebApp的嵌入按钮,复制那个嵌入代码,然后粘贴到你网站的合适位置。

  • • 用 iframe 标签,把代码放到网站的 <div><section> 这样的地方。

  • • 或者用 script 标签,复制代码到网站的 <head><body> 中。

比如说,你把script代码粘贴到官网的 <body> 里,这样就能有个官网AI机器人了。

基于 APIs 开发

Dify API基于“后端即服务”的理念,它让所有应用开发者都能轻松把大型语言模型的能力塞到前端应用里。想象一下,不用搞复杂的后端架构,直接在前端搞定一切。

这Dify API的好处多着呢:

  • • 直接在前端安全调用LLM,免去一堆后端开发麻烦。

  • • 设计应用时候,你看到的可视化界面,改啥都能实时反馈到所有客户端。

  • • 管理LLM供应商和密钥?都帮你封装得妥妥的,想换就换。

  • • 还有工具、插件、数据集持续更新,保证你的应用总是跟得上步伐。

怎么用呢?简单得很:

  1. 1. 在应用的左侧导航找到“API Access”。

  2. 2. 看看Dify提供的API文档,管理下你的API凭证。

想具体操作看看吗?比如你是开发部的,要用公司的数据库给终端用户提供AI能力,但你又不想外人摸清你的数据和AI逻辑。这时候,API密钥得后端调用,保证安全,防止被滥用。

搞文本生成型应用?调用 completion-messages 接口,输入点什么,文本结果就出来了。下面是个调用示例:

curl --location --request POST 'https://api.dify.ai/v1/completion-messages' \  
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \  
--header 'Content-Type: application/json' \  
--data-raw '{  
    "inputs": {},  
    "response_mode": "streaming",  
    "user": "abc-123"  
}'

或者是对话型应用,采用一问一答模式,持续对话的那种。启动对话的API调用看这里:

curl --location --request POST 'https://api.dify.ai/v1/chat-messages' \  
--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \  
--header 'Content-Type: application/json' \  
--data-raw '{  
    "inputs": {},  
    "query": "eh",  
    "response_mode": "streaming",  
    "conversation_id": "1c7e55fb-1ba2-4e10-81b5-30addcea2276"  
    "user": "abc-123"  
}'

下面提供Dify官方的 文档介绍、相关资源、部署教程 等,进一步支撑你的行动,以提升本文的帮助力。

![](https://res.wx.qq.com/t/wx_fed/we-

emoji/res/v1.3.10/assets/newemoji/Party.png) 快速开始

Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG
管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。以下是其核心功能列表:

1. 工作流 : 在画布上构建和测试功能强大的 AI 工作流程,利用以下所有功能以及更多功能。

https://github.com/langgenius/dify/assets/13230914/356df23e-1604-483d-80a6-9517ece318aa

2. 全面的模型支持 : 与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3
以及任何与 OpenAI API 兼容的模型。完整的支持模型提供商列表可在 此处 找到。

3. Prompt IDE : 用于制作提示、比较模型性能以及向基于聊天的应用程序添加其他功能(如文本转语音)的直观界面。

4. RAG Pipeline : 广泛的 RAG 功能,涵盖从文档摄入到检索的所有内容,支持从 PDF、PPT
和其他常见文档格式中提取文本的开箱即用的支持。

5. Agent 智能体 : 您可以基于 LLM 函数调用或 ReAct 定义 Agent,并为 Agent 添加预构建或自定义工具。Dify 为
AI Agent 提供了50多种内置工具,如谷歌搜索、DELL·E、Stable Diffusion 和 WolframAlpha 等。

6. LLMOps : 随时间监视和分析应用程序日志和性能。您可以根据生产数据和标注持续改进提示、数据集和模型。

7. 后端即服务 : 所有 Dify 的功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。

使用 Dify

  • • **云
    ** 我们提供[ Dify 云服务]:(https://dify.ai),任何人都可以零设置尝试。它提供了自部署版本的所有功能,并在沙盒计划中包含 200
    次免费的 GPT-4 调用。

  • • **自托管 Dify 社区版
    ** 使用这个 入门指南 快速在您的环境中运行
    Dify。使用我们的[文档]:(https://docs.dify.ai)进行进一步的参考和更深入的说明。

  • • **面向企业/组织的 Dify
    ** 我们提供额外的面向企业的功能。 与我们安排会议 或 给我们发送电子邮件 讨论企业需求。

对于使用 AWS 的初创公司和中小型企业,请查看 AWS Marketplace 上的 Dify 高级版 ,并使用一键部署到您自己的 AWS
VPC。它是一个价格实惠的 AMI 产品,提供了使用自定义徽标和品牌创建应用程序的选项。

安装社区版

系统要求

在安装 Dify 之前,请确保您的机器满足以下最低系统要求:

  • • CPU >= 2 Core

  • • RAM >= 4GB

快速启动

启动 Dify 服务器的最简单方法是运行我们的 docker-compose.yml 文件。在运行安装命令之前,请确保您的机器上安装了 Docker
和 Docker Compose :

cd docker  
docker compose up -d

运行后,可以在浏览器上访问 http://localhost/install 进入 Dify 控制台并开始初始化安装操作。

使用 Helm Chart 部署

使用 Helm Chart 版本,可以在 Kubernetes 上部署 Dify。

  • • Helm Chart by @LeoQuote

  • • Helm Chart by @BorisPolonsky

配置

如果您需要自定义配置,请参考我们的 docker-compose.yml 文件中的注释,并手动设置环境配置。更改后,请再次运行 docker- compose up -d 。您可以在我们的 文档 中查看所有环境变量的完整列表。

参考链接:

[1] https://gi thub.com/langgenius/ dify/
[2] h ttps://cloud.dify.ai/apps
[3] https://docs.dify.ai/v/zh-hans/getting-started/

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

**
**

** 点这里 👇 关注我,记得标星哦~ **

**
**

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预览时标签不可点

微信扫一扫
关注该公众号

轻触阅读原文

AI进修生



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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++杂货铺】红黑树

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 红黑树的概念 &#x1f4c1; 红黑树的性质 &#x1f4c1; 红黑树节点的定义 &#x1f4c1; 红黑树的插入操作 &#x1f4c1; 红黑树和AVL树的比较 &#x1f4c1; 全代码展示 &#x1f4c1; 总结 &#x1f308;前言…

mybatis-plus(2)

上文我们介绍完mybatis-plus的常用注解&#xff0c;现在介绍 mp的基础的yaml配置 mybatis-plus:type-aliases-package: #该位置写 数据库对应实体类的全路径global-config:db-config:id-type: auto # 全局id类型为自增长 mp同时也是支持手写sql&#xff0c;而且mapper的读取地…

OpenMVS学习笔记(一):WSL编译安装测试

1.CUDA和CUDNN安装 [1] WSL版本cuda安装&#xff1a; >> wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin >> sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 >> wg…

weblogic 反序列化 [CVE-2017-10271]

一、漏洞描述 这个漏洞是wls-wsat这个接口出了问题&#xff0c;Weblogic的WLS Security组件对外提供webservice服务&#xff0c;其中使用了XMLDecoder来解析用户传入的XML数据&#xff0c;在解析的过程中出现反序列化漏洞&#xff0c;导致可执行任意命令。攻击者发送精心构造的…

【Unity从零开始学习制作手机游戏】第01节:控制3D胶囊体运动

1. 新建Project L01 使用3D Mobile模板。 2. 建立一个平面&#xff0c;用来承载物体 3. 导入Unity库内的胶囊体 下载 StandardAssets https://download.unitychina.cn/download_unity/e80cc3114ac1/WindowsStandardAssetsInstaller/UnityStandardAssetsSetup-5.6.7f1.exe …

Abaqus显示单元面的编号

注意&#xff1a;这里为了显示单元的面编号&#xff0c;而不是‘Part’的面。对于六面体单元有六个面&#xff0c;编号从1-6&#xff0c;对于四面体单元有四个面&#xff0c;编号从1-4。 1、要显示单元面的编号首先要进入‘Visualization’模块&#xff0c;如下图&#xff1a;…

Jmeter 性能-阶梯负载最终请求数

1、设置阶梯加压线程组请求参数 说明&#xff1a; 每隔2秒钟&#xff0c;会在1秒内启动5个线程 每次线程加载之后都会运行2s然后开始下一次线程加载 最终会加载50个线程并持续运行30s 50个线程持续运行30s后&#xff0c;会每隔2秒钟停止5个线程&#xff0c;剩余的线程继续负…

数据结构与算法-排序算法1-冒泡排序

本文先介绍排序算法&#xff0c;然后具体写冒泡排序。 目录 1.排序算法简介 2.常见的排序算法分类如下图&#xff1a; 3.冒泡排序&#xff1a; 1.介绍&#xff1a; 2.动态图解 3.举例 4.小结冒泡排序规则 5.冒泡排序代码 6.优化 7.优化后时间 代码&#xff1a; 运…

数据库系统概论(个人笔记)(第一部分)

数据库系统概论&#xff08;个人笔记&#xff09; 文章目录 数据库系统概论&#xff08;个人笔记&#xff09;1、介绍1.1 数据库系统应用1.2 数据库系统的历史1.3 数据库系统的目标**大学数据库例子**1.4 数据视图1.5 数据库语言1.6 数据库设计1.7 数据库引擎1.8 数据库体系结构…

2023年上半年信息系统项目管理师——综合知识真题与答案解释(4)

2023年上半年信息系统项目管理师 ——综合知识真题与答案解释(4) 61、文档的规范化管理主要体现在&#xff08;&#xff09;方面。 ①文档书写规范 ②文档质量级别 ③图表编号规则 ④文档目录编写标准 ⑤文档管理制度 ⑥文档安全标准 A&#xff0e;①②③④ B&#xff0e;②③…

MySQL_DDL语句

1.Data类临时数据的弊端 我们之前在将ServletJSP配合处理请求的过程中 数据库起到一个存取数据的作用 但是我们之前的案例中 数据是在Data类中临时定义的 并不是从数据库中获取的 这样做是不好的 因为每一次服务器关闭之后 那么部署在其上的类也会随着卸载 紧接着和类相挂钩的静…

ms17-010(永恒之蓝)

1.漏洞介绍: 永恒之蓝&#xff08;ms17-010&#xff09;爆发于2017年4月14日晚&#xff0c;是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限&#xff0c;以此来控制被入侵的计算机。甚至于2017年5月12日&#xff0c; 不法分子通过改造“永恒之蓝”制作了wannacry勒索病…

计算机网络(第八版 谢希仁 编著) 期末复习大纲

一.每章总结 第一章&#xff1a;分组交换&#xff0c;计网定义、范围划分&#xff0c;性能指标&#xff0c;五层体系结构&#xff0c;TCP/IP体系结构 第二章&#xff1a;物理层&#xff0c;码元&#xff0c;基带调制(数字信号->数字信号&#xff0c;也叫编码)&#xff0c;带…

SSE介绍(实现流式响应)

写在前面 本文一起来看下SSE相关内容。 1&#xff1a;SSE是什么 全称&#xff0c;server-send events&#xff0c;基于http协议&#xff0c;一次http请求&#xff0c;server端可以分批推送数据&#xff0c; 不同于websocket的全双工通信&#xff0c;SSM单向通信,一般应用于需…

softmax函数与交叉熵损失详解

文章目录 一、softmax函数1.1 引入指数形式的优点1.2 引入指数形式的缺点 二、交叉熵损失函数2.1 交叉熵损失函数2.2 softmax与交叉熵损失 参考资料 一、softmax函数 softmax用于多分类过程中&#xff0c;它将多个神经元的输出&#xff0c;映射到&#xff08;0,1&#xff09;区…

simulink-仿真以及PID参数整定/PID tuner 的使用流程

控制器搭建与参数整定 搭建一个前馈PID控制器控制系统PID tuner使用 一个懂点控制但不多的小白&#xff0c;因为需要利用simulink仿真&#xff0c;所以不得不学习一些仿真的知识&#xff0c;这篇文章适合和我一样的新手入门&#xff0c;有理解错误的地方希望大手们能够指出来共…

背完这些软件测试核心面试题,offer轻松拿捏了!

你赞同过 软件测试和开发 相关内容 01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答&#xff1a;有黑盒和白盒两种测试种类&#xff0c;黑盒有等价类划分法&#xff0c;边界分析法&#xff0c;因果图法和…

spacy微调BERT-NER模型

数据准备 加载数据集 from tqdm.notebook import tqdm import osdataset [] with open(train_file, r) as file:for line in tqdm(file.readlines()):data json.loads(line.strip())dataset.append(data)你可以按照 CLUENER 的格式准备训练数据&#xff0c; 例如&#xff1…

彻底搞定找不到msvcp100.dll,无法继续执行代码的问题

当您在使用电脑过程中遇到程序运行异常&#xff0c;提示“缺失msvcp100.dll文件”时&#xff0c;不必过于焦虑&#xff0c;此问题可通过一系列简单步骤得到有效解决。MSVCP100.dll是Microsoft Visual C库的一部分&#xff0c;主要用于支持某些应用程序运行所需的特定功能。如果…

ohmyzsh的安装过程中失败拒绝连接问题的解决

1.打开官网Oh My Zsh - a delightful & open source framework for Zsh 在官网能看到下面的界面 有这两种自动安装的方式 个人本次选择的是: wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O - 1.打开终端输入安装的指令 sh -c "$(wget…