0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

像Docker一样编排大模型应用程序

jf_WZTOguxH 来源:AI前线 2023-11-25 14:53 次阅读

大模型浪潮正在重构千行百业。可以预见的是,随着技术的不断进步以及应用场景的不断扩展,基于大模型的 AI 应用将会不断涌现,并成为推动 AI 产业发展的重要力量。

但在当下,大模型应⽤落地还面临诸多挑战。具体而言,不少开发团队还未适应大模型编程的需求,对大模型的实际应用场景理解、工具的选择(例如中间件、向量数据库等),以及团队的协作模式、如何构建 Prompt 等方面都存在一定的认知偏差。在应用大模型的过程中,如果仍采用传统的软件工程方法,很可能会遇到困难。因此,开发团队需要在大模型技术栈方面建立更多的共识,对于如何使用 RAG(Retrieval Augmented Generation)或者微调等应该有更明确的工作流程。

“我们对大模型的未来潜力持乐观态度,它确实能够带来巨大的价值。但我们也发现,很多开发者和行业专家都会谈论大型模型的未来,而不是现在。”Dify.AI 创始人兼 CEO 张路宇近日在接受 InfoQ 采访时提到,目前大模型的实际落地和应用仍然不够成熟,当前大众对大模型的期望值与实际技术发展并不匹配。开发者要想在当前技术的范围和边界内做出权衡,并创建出优秀的应用程序,是一项具有挑战性的任务。

在这一背景下,2023 年 3 月,张路宇带领团队创建了开源 LLMOps 平台 Dify.AI,旨在帮助开发者更简单、更快速地构建 AI 应用,开发者无需关注基础设施的底层原理,只需专注于将想象力转化为实际落地的 AI 应用并持续运营。据介绍,Dify 一词源自 Define + Modify,意指“定义并且持续的改进你的 AI 应用”,代表了帮助开发人员不断改进其 AI 应用程序的愿景。此外,Dify 可以理解为 “Do it for you”。

目前,Dify.AI 的 GitHub Star 数已经超过 9k,支持的大模型包括 OpenAI 的 GPT 系列、Anthropic 的 Claude 系列、Azure OpenAI 系列、Llama2、ChatGLM、Baichuan、Qwen-7B 等等,并拥有超过 7 万个基于大模型的应用。

GitHub 地址:
https://github.com/langgenius/dify

创业需要天时、地利、人和

“我不是一个轻易创业的人。我喜欢从零开始与多年来紧密合作的伙伴一起构建产品,因为我们之间默契十足,有共同的认知。我擅长做冷启动、从零到一的创新项目,并特别享受这个过程。我们有足够的耐心,不仅仅是为了快速赚钱,而是要基于我们的优势和价值来创造事物。”眼前这个年轻的创业者名叫张路宇,他拥有超过 11 年的互联⽹从业经验,对产品设计、敏捷项⽬管理、 DevOps、学习型组织⽂化与 Web 应⽤开发有着深刻理解。在创办 Dify.AI 以前,张路宇曾担任 SaaS 公司技术产品负责人,在企业服务、⼯具软件领域的 SaaS 产品、运营和技术管理上有着丰富经验。

在张路宇看来,创业不是一件头脑一热的事情,而是需要天时、地利、人和的全方位考虑。

天时方面,去年年底 ChatGPT 大模型的爆火成功掀起了 AI 大模型热潮,无数开发者涌入 AI 赛道,开始基于 AI 大模型做应用创新。然而,彼时市场上的中间件和 LangChain 等框架并没有完全产品化,缺乏持续运营和面向非技术人员友好的理念。

张路宇认为,在大模型时代,技术和非技术人员都应该有机会参与大模型的构建和定制。但实际上只有少数程序员在进行这样的工作,大多数人虽然拥有领域知识,却无法参与。“这促使我们考虑基于大模型的微调和嵌入式二次开发,但这个过程非常痛苦,缺乏界面化,数据准备工作也很复杂。到了 2023 年 2 月,当我们尝试将大模型集成到自己的产品中时,发现了很多问题。同时,我们也没有找到市场上任何好的产品,于是决定着手解决 LLMOps 问题,这就是我们创建 Dify 的初衷。”

地利方面,Dify 团队立足于国内,以苏州为基地。过去很多国内公司采用“复制到中国”的模式,复制海外的产品并在中国市场推广,但这个路径并不适合中国的 SaaS 市场。张路宇认为,做产品最大的难点并不是技术工程,而是找到未被满足的市场需求,这是一项极具挑战性的任务。如今,中国团队在大模型领域与欧美团队站在同一起跑线上,市场虽然不是完全空白的,但仍处于早期状态。同时,中国团队在组织能力、产品能力和成本三大方面具有优势。以往中国团队在创新价值不足的情况下,通常将工作转变为劳动密集型,因此软件团队面临很大压力。但在大模型时代,中国团队有机会在全球市场同其他团队竞争。

人和方面,张路宇在 Dify 项目启动之初迅速召集了 16 位团队成员,其中大多是他的老朋友或信任的人,大家志同道合,都对 SaaS 和工具行业充满热情。“在创业初期,一些朋友和投资人认为市场潜力巨大,但竞争也激烈。云服务提供商、大模型公司以及机器学习和运营的公司都进入这个领域。我们的挑战在于如何应对竞争。这需要认知,团队的默契、执行力和品味等多元因素。虽然融资可能不难,但要构建一个团队并取得成功非常困难。”

与其他技术团队相比,张路宇认为 Dify 团队的优势在于大家深耕开发者产品领域,深刻了解开发者需要的工具体验。团队在产品设计和交互设计方面积累了丰富的知识和经验,能够开发出用户友好且高质量的产品。同时,Dify 团队在国内从事开发者业务四年以上,对国内开发者市场的特点、需求和市场规模有比较清晰的认知,了解不同类型的客户在决策流程和购买习惯上的差异,能够更准确地定位产品在不同市场的定价策略。

此外,Dify 团队从 DevOps 领域带来了宝贵的经验,“我们坚信所有的 AI 应用最终都需要部署和运维,因此我们注重成本控制、可用性监测和数据运营。我们认为 LLMOps 非常重要,因为它可以让非技术人员更好地参与到 AI 应用的运作中。”

目前,大家对 LLMOps 普遍存在两种理解:一种是偏向后端,即模型的运维,既延续了传统 MLOps 的理念,又专注于基于大型模型进行训练和推理等任务;另一种更偏向前端,核心在于 Prompt 工程和问题的编排,而与外部数据的接入等因素可能关系较小。Dify 团队更偏向于后者,他们认为更准确的描述应该是“大型模型应用的运营”——大模型在发布后通常不需要太多运维工作,而且“Ops”对于大多数开发者来说可能不那么相关。

“我们对 LLMOps 的核心理解保持不变”,张路宇表示,首先,大模型应用的运营至关重要,包括其可视化、透明度和可解释性,这与传统软件工程的部署环节非常相似,不能被忽视。关键理念是通过实时数据持续改进应用模型或数据,而不是通过一次性的并行决策。其次,LLMOps 应该面向所有人,而不仅仅是技术人员。“只有实现了这两点,我们才能认为它是真正的 LLMOps,大多数人都可以参与其运营,并且该运营基于线上反馈数据来不断改进应用程序。”

大模型时代的创业范式

从 2023 年 2 月份开始筹备,到 3 月 1 日正式启动,再到 5 月初成功上线第一个正式版本,Dify 团队始终保持着创业公司的快节奏。

张路宇认为,在大模型和快速变化的市场中,团队需要成为学习型组织,积极吸收和处理大量信息,并将其整合到产品开发中。这对于应对不断变化的市场需求非常关键。

在 Dify 团队,尤其注重技术前沿信息的探索研究。具体来说,Dify 团队设立了一个信息加工机制,类似于一个知识库,其中包含大量有关市场情报、技术前沿和新项目的信息。团队成员每天采集各种信息,并将其分类整理。这个信息组织机制是核心资产之一,已经积累了上千条资讯,并持续对其进行加工和分类。信息分类涵盖了大模型、云厂商、软件工程、中间件基础、应用等多个层次。团队通过关注科学进展、最新技术论文、头部产品和趋势,指导自身做决策,并从其他行业的经验中汲取教训。

“这个信息组织机制面临着复杂、快速变化和高度规则化的挑战。它需要确保团队中的每个成员都能共享相同的认知,并能够快速适应不断变化的市场需求。这个信息组织机制对我们的团队来说是一个重要的工具,可以帮助我们更好地理解市场和技术趋势,从而为产品的发展提供指导。同时,它也是我们团队应对市场变化和快速决策的关键因素之一。”张路宇说道。

在 Dify 整个产品设计与开发过程中,也出现了大模型的身影。据介绍,在 Dify 早期产品的原型阶段,GPT-4 发挥了重要作用。当时,Dify 团队采用 GPT-4 来创建概念设计和原型设计,GPT-4 能够非常准确地理解产品需求,并提供许多创意性的解决方案。目前,Dify 的代码量已经超过 9 万行,与一些主流项目相比,代码量和复杂度不相上下。在 Dify 的开发过程中,GPT-4 参与了其中 40% 左右的编码,AI 辅助编程让 Dify 团队的开发效率提高了至少一倍。

“对我个人而言,我觉得我的编程效率可能提高了 3 倍以上,甚至可能更多。如果你是一个能够调动大量资源的工程师,你就像一支强大的军队,那么 AI 会让你更强大数倍。但如果你原本不是那么强的工程师,缺乏宏观的设计能力,只是逐行编写代码,那么 AI 对你的帮助就相对较少。”张路宇认为,在善用 AI 的情况下,理论上一个团队可以实现 3 倍的产能,而不需要增加人员。“这是我观察到的情况,我身边的团队都在积极拥抱 AI 编程,我们的团队全员都在使用,他们确实认为这可以为他们带来巨大的帮助。”

开源与商业化探索

在创业的前几个月,Dify 团队完全没有收入,第一个正式版本上线后,如何商业化成了团队的下一个目标。

在商业化这件事上,张路宇有着自己的判断——开源,“如果不开源,我们将无法取得成功。”这与传统 SaaS 产品的增长路径有所不同。由于市场已经饱和,传统 SaaS 产品在市场上进行推广时,通常会经历缓慢的增长过程,在获得客户和市场渗透方面需要花费很长时间。在这个过程中,公司会不断进行成本 - 收益分析,以确保获客成本(CAC)不高于长期用户价值(LTV)。这是传统 SaaS 产品的数字游戏,可能需要数年甚至更长时间的发展周期,甚至可能会错失一些市场机会。

然而,对于大模型产品来说情况并不同。大模型时代涌现出了不少商业机遇,无数个创业团队犹如千军万马过独木桥,此时大家的首要目标是最大化获客,并获得全球开发者的认可。

“我们注意到,在当前大模型创业潮中,许多企业选择了开源。开源意味着获客成本很低,可以解决全球范围内的问题,例如美国的团队可以轻松渗透美国或其他海外市场,因为他们本土化,语言和文化相似。通过选择开源,可以更快地实现增长,并占据更大的市场份额,然后再开始商业化。这条路径可以确保我们取得成功。相反,如果首先商业化再考虑开源,我们可能只能获得短期内的一些收入,而且这些收入可能会在几个月内消失。这就是我们的判断。”张路宇分析道。

5 月 中旬,Dify 宣布 46558 行代码完全开源,并临时决定将开源协议从 AGPL 放宽到 Apache 2.0。张路宇表示:

开源!从第一天起我们就志在要代表中国团队做一个像 Docker、Stripe 那样的世界级产品,一个大模型能力上的 OS。虽然过去八周我们没日没夜才做出产品现在的样子,但即使要推倒重来我们也做好了准备,所以开源我们毫不犹豫。Dify 要在开源中学习、成长。 开源只是 Dify 的一小步,但这是全球开发者解锁 LLM 潜力的一大步。它目前还不完美,但在与社区共创、共建的过程中会成为全世界 Prompt 工程师最喜爱的产品。 No waiting list. No copy to China. 相信社区的力量!

6 月,Dify 有了第一笔商业收入。在张路宇看来,虽然公开源码不难,但在开源的同时保护知识产权和商业化路径才是挑战。

首先,需要选择一个合适的开源协议,以确保在开源的同时能够保护知识产权和商业化机会。对于 Dify 项目来说,团队设计了一个混合开源协议,基于 Apache 2.0,并增加了一些特定条款。

其次,还需要思考如何有效地组织外部贡献者的参与。需要让外部贡献者知道如何参与、从何处开始、如何建立开发环境以及需要满足哪些要求。以 Dify 项目为例,该项目涉及多个层次,如模型驱动、插件、数据库支持等,有很多可以扩展的点。外部贡献者想要参与时,Dify 需要提供贡献指南,并协调他们进行参与。“我们将所有在 GitHub 上提供代码的贡献者都组织到一个群组中,然后与他们一对一交流,了解他们的情况、贡献时间、动机以及他们在企业内部的工作情况等。管理和组织这些外部贡献者团队是一个重大挑战。你需要提供支持和服务,帮助他们理解如何贡献,尤其是当他们不在同一办公地点、不了解你的产品路线图、缺少信息共享时。这些都是相当困难的任务。”

大模型中间件产品如何走向未来?

在大模型创业浪潮下,选好赛道是关键。有观点认为,AI 大模型和垂直应用模型的爆发将会加大中间件的需求。结合过往的工作经验以及对大模型的理解,Dify 团队选择聚焦大模型中间件赛道,但这条路走得并不轻松。

在这波创业浪潮中,有人专注于模型开发,有人致力于应用推广。模型开发相当于创业团队需要进行军备竞赛和科研竞赛,要进行大量的实验。其中的方法论基本都能够在开放的文献中找到,创业团队的主要工作是准备数据来进行模型训练。这些是实验性的工程,变数不多。而应用推广需要快速迭代,需要满足特定人群的特定需求。中间件则不同,创业团队需要同时考虑大模型技术的进展,以及开发者如何利用这些能力来构建应用。既要在这两个方向上进行抽象,又要了解开发者的需求和消费习惯。

目前,Dify 已经形成了一套基本的方法论:

信息处理是关键。Dify 团队会定期跟踪市场上所有与 AI 相关的开源或产品,了解它们的增长趋势。研究哪些产品在上周表现出色,增速超过了预期。然后进行反向工程,分析它们的产品理念和增长路径。这个跟踪和反向工程的工作非常重要。

找到自己在全球大模型生态系统中的生态位,理清与上下游产品的关系,例如与大模型、云厂商、应用和向量数据库等产品的关系。只有思考清楚并找到自己的定位,才能在市场上真正站稳脚跟,将产品持续发展下去。

同时,Dify 团队还构思了一个远景:未来大型模型的提示在合理的组织下,应该以服务的形式提供给其他应用程序。Dify 的整个架构都是围绕这一理念进行设计的。

“我们深信未来,通过 Dify 编排的应用程序将能够像 Docker 容器一样,使用简单的声明性文件来运行并在不同环境中传播。这与当前的做法有很大不同。目前,包括 LangChain 在内的一些产品都采用硬编码的方式,用传统的代码来管理大型模型的各种功能,以解决问题。我们相信这个设计上的差异将是我们与其他产品之间的最大不同之处,我们坚信这个理念是可行的。”张路宇说道。

诚然,在中短期内,大模型仍然是一个处于早期阶段的技术,甚至存在诸多问题,如上下文窗口、性能、成本等等,这些都会影响开发者理解和应用。开发者在开发基于大型模型的应用时,也总会遇到各式各样的挑战。而这也是大模型中间件产品存在的意义——在短期内,必须帮助开发者解决当前阶段的问题。

“我认为当前大模型正处于一个比较早期的阶段,大家都在探索,尝试推动模型的能力边界,但距离模型的完全落地还存在一些挑战。目前,我们最重要的指标应该是让具备能力的开发者能够将大模型应用于生产环境并成功落地。这个目标可以被视为我们的北极星指标,即投产的应用数量。其他指标,比如我们的 Star 数量、今年的收入增长等,都相对不那么重要,都是些虚荣指标,不能真正反映出我们面临的主要挑战。真正关键的是有多少应用程序正在使用大模型或使用 Dify 这样的中间件,最终能够成功交付他们的产品。这才是我们最需要关注的重点。”张路宇说道。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 应用程序
    +关注

    关注

    37

    文章

    3268

    浏览量

    57710
  • Docker
    +关注

    关注

    0

    文章

    458

    浏览量

    11857
  • 大模型
    +关注

    关注

    2

    文章

    2450

    浏览量

    2713

原文标题:像Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?

文章出处:【微信号:AI前线,微信公众号:AI前线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    docker-compose配置文件内容详解以及常用命令介绍

    Docker Compose 简介 Docker Compose是种用于定义和运行多容器Docker
    的头像 发表于 12-02 09:29 385次阅读
    <b class='flag-5'>docker</b>-compose配置文件内容详解以及常用命令介绍

    Docker运行环境安装

    作者:京东科技 林中 Docker个开放的平台,用于开发、发布和运行应用程序Docker分离了应用程序和运行应用的基础设施,从而实现了
    的头像 发表于 10-29 11:28 217次阅读

    请问studio中可以裸机一样调用定时器中断吗?

    studio中可以裸机一样调用定时器中断吗?我调用后显示出错了,使用hal库还需要添加什么吗
    发表于 09-13 08:18

    请问运放在使用上是否有三极管一样的门限电压?

    三极管也有个门限电压Vγ,通常硅管约为0.5~0.6V,锗管约为0.1~0.2V。 那么问题来了,使用运放的时候,比如弱电压电流,在用运放放大的时候,是否也存在三极管一样的门限电压需要考虑呢?
    发表于 09-04 08:14

    Stem32CubeIDE能Keil一样指定不同文件下的代码编译吗?

    Stem32CubeIDE能Keil一样指定不同文件下的代码编译
    发表于 07-23 06:22

    锰芯磁环电感尺寸一样性能也一样

    电子发烧友网站提供《锰芯磁环电感尺寸一样性能也一样吗.docx》资料免费下载
    发表于 06-03 14:52 0次下载

    Meta高管称大语言模型永远无法人类一样

    Meta的人工智能主管杨立昆近日表示,尽管ChatGPT等生成式人工智能产品备受瞩目,但其背后的大型语言模型(LLM)永远无法实现像人类一样的推理和计划能力。
    的头像 发表于 05-27 09:50 440次阅读

    stm8cube不能stm32cube一样来自动生成工程吗?怎么操作?

    stm8cube不能stm32cube一样来自动生成工程吗?有知道怎么操作的吗?
    发表于 05-07 08:01

    使用Docker部署Go Web应用程序步骤

    大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版和配置文件。而当个项目中有很多文件的时候,由于很多文件没有同步就会导致错误的发生并且产生很多的问题。
    发表于 04-20 09:33 505次阅读
    使用<b class='flag-5'>Docker</b>部署Go Web<b class='flag-5'>应用程序</b>步骤

    Docker容器技术的安装和使用

    通过Docker,开发人员可以更容易地构建、交付和运行应用程序,同时确保应用程序致性和可移植性。它也使得应用程序的部署更加灵活和高效,因
    发表于 04-16 11:24 324次阅读
    <b class='flag-5'>Docker</b>容器技术的安装和使用

    请问STM8中的RAM会51系列一样段初始化清零代码吗?

    最近在做防止复位脚复位的程序,想利用RAM的保存数据特性做段复位恢复,STM8 中的RAM会51系列一样段初始化清零代码吗?
    发表于 04-16 06:49

    如何把外部SRAM内部RAM一样分配变量?

    各位大神,外部SRAM怎样配置才能内部SRAM一样分配变量,要编译器分配。我使用的是GCC,SRAM现在可以读写,但是就是不知道怎么修改链接脚本和启动文件。
    发表于 04-08 08:32

    ARM平台实现Docker容器技术

    ,亦可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可管理应用程序一样管理基础结构。通过利用Docker
    的头像 发表于 03-07 13:48 811次阅读
    ARM平台实现<b class='flag-5'>Docker</b>容器技术

    在ModusToolbox2.3下基于BTSDK3.1开发cyw20719b2程序,是否可以wiced studio一样设置?

    请问在ModusToolbox2.3下,基于BTSDK3.1开发cyw20719b2程序,是否可以wiced studio一样设置: APP_XIP=1 将程序中的函数从on-chi
    发表于 03-01 06:53

    二维图片框 在 鼠标处 滚轮 缩放 图片, CAD 一样,,

    大家好,如何实现,二维图片框 在 鼠标处 滚轮 缩放 图片, CAD 一样,,*附件:图片在鼠标处缩放.rar
    发表于 01-07 21:02