首页 > 其他分享 >轻松创建基于 GPT-4 的 AI 原生应用 - Dify

轻松创建基于 GPT-4 的 AI 原生应用 - Dify

时间:2024-03-18 12:22:05浏览次数:22  
标签:Dify AI 模型 可视化 应用 GPT

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

LLMOps(Large Language Model Operations)是一个涵盖了大型语言模型(如 GPT 系列)开发、部署、维护和优化的一整套实践和流程。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
  • Hugging Face Hub(即将推出)

简介

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

图片

如果你对诸如 GPT-4 之类的 LLM 技术高速发展感到惊奇和兴奋,迫不及待的想用它做点什么有用的东西!可你的头脑里又有一切令人困惑的问题:

  • 我该如何“训练”一个基于我的内容的模型?
  • 怎么让 AI 知道 2021 年以后的事情?
  • 如何避免让 AI 跟用户胡说八道?
  • 微调(Fine-tuning)和嵌入(Embedding)是什么意思?

那么,Dify 正好能满足你的需要。

Dify 的目标是让开发者(甚至非开发者)可以快速基于大型语言模型搭建出有用的东西,并确保它是可视化、可运营、可改进的。

你可以使用 Dify 快速搭建一个 Web App,其生成的前端代码可以托管在 Dify 上。如果你想基于这个 Web App 进一步开发,你可以从 GitHub 中得到这些 Template,部署到任何地方(例如 Vercel 或你的服务器)。或者,你也可以基于 WebAPI 开发你自己的 Web 前端、移动 App…总之,为你省下了后端开发的工作。

不止于此,Dify 的核心理念是在一个可视化的界面中创建、配置、改进你的应用。基于 LLM 的应用开发有一个持续改进的生命周期,你可能需要基于自己的内容让 AI 给予正确的回答,或是想提升 AI 的准确性和叙述风格,甚至让它去 YouTube 上下载一个字幕作为上下文。

这当中将会有些逻辑设计、上下文增强、数据准备等需要花些功夫的事情,如果没有工具你可能会寸步难行,我们称这个过程为 LLMOps。

完全开源

自5月9日云版本正式上线以来,Dify.AI 受到了开发者的好评和分享。不到一周的时间,就创建了 4000 多个应用程序,甚至在我们开源之前,我们的 GitHub Star 数就已经超过 700 多个。这让我们深深感受到社区的力量!同时,我们对 Dify 能够为开发者带来如此强大的创造力感到无比荣幸和兴奋。

图片

从3月1日编写第一行代码到现在两个多月后完全开源,共有46,558行代码在 GitHub 上完全开源。(值得一提的是,大约 30% 的代码是由 GPT 生成的。)

核心能力

  1. 可视化提示词编排:通过可视化界面创建和调试提示词,并在几分钟内发布 AI 应用程序。

  2. 与长上下文(数据集)的集成:使用您自己的数据作为上下文自动完成文本预处理,无需理解模糊概念和技术处理。

  3. 基于 API 的开发:后端即服务。直接访问 Web 应用程序或将 API 集成到您的应用程序中,无需担心复杂的后端架构和部署流程。

  4. 数据标注和改进:通过可视化审查 AI 日志并改善数据标注,观察 AI 推理过程并持续提高性能。

图片

安装

在安装 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

使用

只需四步,您就可以创建适应各种场景的人工智能应用,例如个性化聊天机器人、人工智能客服、基于专业知识的文本生成等。

第一步:直接创建应用程序,可以从零开始或使用模板。

图片

第二步:可以用可视化的方式编写你的提示词,然后调试你的 AI 应用。

图片

第三步:将您的私有数据或 API 功能集成到 Al 应用程序中,以增强上下文。

图片

第四步:持续监控你的应用程序运行情况、标记数据,并改进您的人工智能。

图片

目前,Dify 已经完成了对 OpenAI GPT 系列的支持,正在集成 Azure OpenAI Service、Claude、Hugging Face HubHugging Face Hub 模型,即将支持插件功能,释放大语言模型的无限潜力。

图片

此外我们还将与优秀的开源模型如 Llama 合作,通过在我们的平台中提供它们作为模型选项,或使用它们进行进一步的微调。

常见问题

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: 现已支持英文与中文,你可以为我们贡献语言包。

Q: LLMOps 和 MLOps 有什么区别?

A: 过去的 MLOps 是让开发者从零开始训练模型,而 LLMOps 基于诸如 GPT-4 这样的强大模型之上开发 AI 原生应用。

GitHub 仓库:https://github.com/langgenius/dify

标签:Dify,AI,模型,可视化,应用,GPT
From: https://www.cnblogs.com/gaoyanbing/p/18080092

相关文章

  • 【ai学习】 扣子使用,创建自己的AI应用
     扣子介绍扣子是新一代AI大模型智能体开发平台。整合了插件、长短期记忆、工作流、卡片等丰富能力,扣子能帮你低门槛、快速搭建个性化或具备商业价值的智能体,并发布到豆包、飞书等各个平台。说白了: 扣子和GPTs一样可以帮助你创建自己的AI应用。字节扣子国内版:coze.cn......
  • Jailbreaking Large Language Models in Few Queries via Disguise and Reconstructio
    本文是LLM系列文章,针对《MakingThemAskandAnswer:JailbreakingLargeLanguageModelsinFewQueriesviaDisguiseandReconstruction》的翻译。让他们问答:通过伪装和重建在少数查询中打破大型语言模型的牢笼摘要1引言2背景和问题陈述3LLM微调中的安全偏......
  • 问题分析 | 为什么主库Waiting for semi-sync ACK from slave会阻塞set global super_
    作者:卢文双资深数据库内核研发本文首发于2023-12-0321:33:21https://dbkernel.com问题描述为什么主库上有Waitingforsemi-syncACKfromslave的时候,执行setglobalsuper_read_only=ON会导致等待全局读锁?问题复现MySQL主从高可用集群,semi-sync超时无限大:setglob......
  • 亮点抢先看!4月16-17日,百度Create大会开设“AI公开课”,大咖带你打造赚钱工具
    3月16日,2024百度CreateAI开发者大会正式开放售票,嘉宾套票定价399元。据悉,本次大会以“创造未来(CreatetheFuture)”为主题,设有20+深度论坛、超30节AI公开课、3000平AI互动体验区和AI音乐节等精彩环节,将于4月16日至17日在深圳国际会展中心(宝安)举办。作为全球首个AI开发者大会,百......
  • AI换脸技术:探索人工智能在图像合成领域的前沿
    引言人工智能(ArtificialIntelligence,AI)的迅猛发展给图像处理领域带来了革命性的变化。其中,一项备受关注的技术就是AI换脸(FaceSwapping),它使得将一个人的面部特征迅速、准确地“换”到另一个人脸上成为可能。这项技术不仅在娱乐产业中大放异彩,还在医学、安全监控等领域有着广泛......
  • ChatGPT:从对话到文献,如何利用AI成就完美论文?
    ChatGPT无限次数:点击直达引言:在当今信息爆炸的时代,撰写一篇完美的论文变得至关重要。然而,对于很多人来说,论文写作是一个具有挑战性的任务。幸运的是,人工智能的迅猛发展为我们的学术创作提供了新的可能性。在本文中,将介绍一种强大的自然语言处理模型——ChatGPT,它将成为您的......
  • 文心一言 VS 讯飞星火 VS chatgpt (217)-- 算法导论16.2 4题
    四、Gekko教授一直梦想用直排轮滑的方式横穿北达科他州。他计划沿U.S.2号高速公路横穿,这条高速公路从明尼苏达州东部边境的大福克斯市到靠近蒙大拿州西部边境的威利斯顿市。教授计划带两公升水,在喝光水之前能滑行m英里(由于北达科他州地势相对平坦,教授无需担心在上坡路段喝......
  • 【CenterFusion】损失函数Loss初始化_get_losses()函数以及计算过程forward()函数-Cen
    损失函数Loss初始化_get_losses函数以及计算过程forward函数1.损失函数初始化前序运行逻辑2.损失函数初始化2.1loss函数初始化——Trainer类中的_get_losses()函数2.2model_with_loss的初始化3.loss计算过程前序运行逻辑4.loss计算过程4.1loss计算函数调用关系4.......
  • Redis缓存和MyBaits整合
    目录一.基础知识1.Redis缓存2.特点二.使用Redis1.下载redis2.安装RedisDesktopManager软件3.连接Redis三.Redis缓存和MyBaits整合1.加入依赖2.配置文件3.配置类4.创建数据库和实体类5.使用四.练习一.基础知识1.Redis缓存缓存(*Cache),就是数据交换的*缓......
  • AI大语言模型与知识图谱的结合
    1.背景介绍随着人工智能的发展,大语言模型和知识图谱已经成为了AI领域的两个重要研究方向。大语言模型,如GPT-3,通过学习大量的文本数据,能够生成连贯、有意义的文本,被广泛应用于机器翻译、文本生成、问答系统等任务。知识图谱则是一种结构化的知识表示方法,通过图结构将实体和......