一飞开源
阅读2051

[开源]易用的LLMOps平台,让更多人可以创建可持续运营原生AI应用

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

Dify 是一个易用的 LLMOps 平台,旨在让更多人可以创建可持续运营的原生 AI 应用。Dify 提供多种类型应用的可视化编排,应用可开箱即用,也能以“后端即服务”的 API 提供服务。

二、开源协议

本项目遵循 Dify Open Source License 开源协议。

三、界面展示


四、功能概述

Dify 是一个易用的 LLMOps 平台,旨在让更多人可以创建可持续运营的原生 AI 应用。

通过 Dify 创建的应用包含了:

  • 开箱即用的的 Web 站点,支持表单模式和聊天对话模式
  • 一套 API 即可包含插件、上下文增强等能力,替你省下了后端代码的编写工作
  • 可视化的对应用进行数据分析,查阅日志或进行标注

Dify 兼容 Langchain,这意味着我们将逐步支持多种 LLMs ,目前支持的模型供应商:

  • OpenAI:GPT4、GPT3.5-turbo、GPT3.5-turbo-16k、text-davinci-003
  • Azure OpenAI Service
  • Anthropic:Claude2、Claude-instant

简单易用的 LLMOps 平台

您的团队可以基于 GPT-4 等模型开发人工智能应用,并对其进行可视化操作。

开箱即用

无论团队内使用或是对外发布,最快 5 分钟就能发布您的应用。

以您的数据作为 AI 上下文

以文档/网页/notion 等内容作为 AI 的上下文,全自动完成文本预处理、向量化和分段,您不必再学习嵌入技术,为您省下数周的开发时间。

与 ChatGPT 兼容的插件

为您的应用加入丰富的工具能力:搜索、连接数据库、敏感词回避、甚至接入一切 API。与 ChatGPT 的插件标准完全兼容。

支持 GPT-4 等多种模型

已原生支持 GPT 家族和 Claude 模型,可兼容LangChain 支持的所有 LLMs。

释放大语言模型的全部潜能

Dify 为模型接入、上下文嵌入、成本控制和数据标注提供了流畅的体验。无论是团队内使用还是打造产品,您都能轻松地创造 AI 应用。

一套简单的 API

基于后端即服务理念的 API 设计,接入一个 API 接口的同时也完成了插件与长上下文的集成。

持续改进和运营

让 AI 应用不在黑盒状态下运行,可视化的查阅日志并对数据进行改进标注,观测 AI 的推理过程。

健全的应用类型与模版

Dify 原生提供了两种类型的应用:对话和文本生成,均已在 GitHub 上开源,您可以基于它们创造出所需的应用。

五、技术选型

安装社区版

系统要求

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

  • CPU >= 1 Core
  • RAM >= 4GB

快速启动

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


cd docker
docker compose up -d

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

Helm Chart

非常感谢 @BorisPolonsky 为我们提供了一个 Helm Chart 版本,可以在 Kubernetes 上部署 Dify。您可以前往 https://github.com/BorisPolonsky/dify-helm 来获取部署信息。

配置

需要自定义配置,请参考我们的 docker-compose.yml 文件中的注释,并手动设置环境配置,修改完毕后,请再次执行 docker-compose up -d。

Roadmap

我们正在开发中的功能:

  • 数据集,支持更多的数据集,例如同步 Notion 或网页的内容 我们将支持更多的数据集,包括文本、网页,甚至 Notion 内容。用户可以根据自己的数据源构建 AI 应用程序。
  • 插件,推出符合 ChatGPT 标准的插件,或使用 Dify 产生的插件 我们将发布符合 ChatGPT 标准的插件,或者 Dify 自己的插件,以在应用程序中启用更多功能。
  • 开源模型,例如采用 Llama 作为模型提供者,或进行进一步的微调 我们将与优秀的开源模型如 Llama 合作,通过在我们的平台中提供它们作为模型选项,或使用它们进行进一步的微调。

Q&A

Q: 我能用 Dify 做什么?

A: Dify 是一个简单且能力丰富的 LLM 开发和运营工具。你可以用它搭建商用级应用,个人助理。如果你想自己开发应用,Dify 也能为你省下接入 OpenAI 的后端工作,使用我们逐步提供的可视化运营能力,你可以持续的改进和训练你的 GPT 模型。

Q: 如何使用 Dify “训练”自己的模型?

A: 一个有价值的应用由 Prompt Engineering、上下文增强和 Fine-tune 三个环节组成。我们创造了一种 Prompt 结合编程语言的 Hybrid 编程方式(类似一个模版引擎),你可以轻松的完成长文本嵌入,或抓取用户输入的一个 Youtube 视频的字幕——这些都将作为上下文提交给 LLMs 进行计算。我们十分注重应用的可运营性,你的用户在使用 App 期间产生的数据,可进行分析、标记和持续训练。以上环节如果没有好的工具支持,可能会消耗你大量的时间。

Q: 如果要创建一个自己的应用,我需要准备什么?

A: 我们假定你已经有了 OpenAI API Key,如果没有请去注册一个。如果你已经有了一些内容可以作为训练上下文,就太好了。

Q: 提供哪些界面语言?

A: 现已支持英文与中文,你可以为我们贡献语言包。

什么是 LLMOps?

LLMOps(Large Language Model Operations)是一个涵盖了大型语言模型(如GPT系列)开发、部署、维护和优化的一整套实践和流程。LLMOps 的目标是确保高效、可扩展和安全地使用这些强大的 AI 模型来构建和运行实际应用程序。它涉及到模型训练、部署、监控、更新、安全性和合规性等方面。

下表说明了使用 Dify 前后开发 AI 应用的各环节差异:

步骤

未使用 LLMOps 平台

使用 Dify LLMOps 平台

时间差异

开发应用前&后端

集成和封装 LLM 能力,花费较多时间开发前端应用

直接使用 Dify 的后端服务,可基于 WebApp 脚手架开发

-80%

Prompt Engineering

仅能通过调用 API 或 Playground 进行

结合用户输入数据所见即所得完成调试

-25%

数据准备与嵌入

编写代码实现长文本数据处理、嵌入

在平台上传文本或绑定数据源即可

-80%

应用日志与分析

编写代码记录日志,访问数据库查看

平台提供实时日志与分析

-70%

数据分析与微调

技术人员进行数据管理和创建微调队列

非技术人员可协同,可视化模型调整

-60%

AI 插件开发与集成

编写代码创建、集成 AI 插件

平台提供可视化工具创建、集成插件能力

-50%

在使用 LLMOps 平台如 Dify 之前,基于 LLM 开发应用的过程可能会非常繁琐和耗时。开发者需要自行处理各个阶段的任务,这可能导致效率低下、难以扩展和安全性问题。以下是使用 LLMOps 平台前的开发过程:

  • 1.数据准备:手动收集和预处理数据,可能涉及到复杂的数据清洗和标注工作,需要编写较多代码。
  • 2.Prompt Engineering:开发者只能通过调用 API 或 Playground 进行 Prompt 编写和调试,缺乏实时反馈和可视化调试。
  • 3.嵌入和上下文管理:手动处理长上下文的嵌入和存储,难以优化和扩展,需要不少编程工作,熟悉模型嵌入和向量数据库等技术。
  • 4.应用监控与维护:手动收集和分析性能数据,可能无法实时发现和处理问题,甚至可能没有日志记录。
  • 5.模型微调:自行处理微调数据准备和训练过程,可能导致效率低下,需要编写更多代码。
  • 6.系统和运营:需要技术人员参与或花费成本开发管理后台,增加开发和维护成本,缺乏多人协同和对非技术人员的友好支持。

引入 Dify 这样的 LLMOps 平台后,基于 LLM 开发应用的过程将变得更加高效、可扩展和安全。以下是使用 Dify 进行 LLM 应用开发的优势:

  • 1.数据准备:平台提供数据收集和预处理工具,简化了数据清洗和标注的工作,最小化甚至消除了编码工作。
  • 2.Prompt Engineering:所见即所得的 Prompt 编辑和调试,可根据用户输入的数据进行实时优化和调整。
  • 3.嵌入和上下文管理:自动处理长上下文的嵌入、存储和管理,提高效率和扩展性,无需编写大量代码。
  • 4.应用监控与维护:实时监控性能数据,快速发现和处理问题,确保应用程序的稳定运行,提供完整的日志记录。
  • 5.模型微调:平台提供一键微调功能,基于过去已标注的真实使用数据进行训练,提高模型性能,减少编程工作。
  • 6.系统和运营:易用的界面,非技术人员也可参与,支持多人协同,降低开发和维护成本。与传统开发方式相比,Dify 提供了更加透明和易于监控的应用管理,让团队成员更好地了解应用的运行情况。

另外,Dify 将提供 AI 插件开发和集成的功能,使得开发者可以轻松地为各种应用创建和部署基于 LLM 的插件,进一步提升了开发效率和应用的价值。

来源:Dify 官网文档

六、源码地址

源码下载

关注下面的标签,发现更多相似文章

一飞开源
发布了 篇专栏 · 获取点赞 · 获取阅读

评论

查看更多
相关推荐
关于作者
一飞开源
获得点赞 100
文章被阅读 1000
相关文章