LLM原生开发路途图指南

  • 电脑网络维修
  • 2024-11-15

译者 | 朱先忠

审校 | 重楼

引言

大型言语模型(LLM)正在迅速成为现代人工自动的基石。但是,目前还没有出现公认的最佳通常,而且先驱们往往没有明白的开发路途图。因此,这种状况急须要有人从新发明无关轮子;否则,将会使人堕入困境。

在过去的两年里,我协助一些组织应用LLM构建了翻新型运行程序。经过这次阅历,我开发了一种经得住考验的方法来创立翻新型LLM运行途理打算(受LLM.org.il社区的启示而构成),我将在本文中与大家共同分享。

详细来说,本文将为读者好友在LLM原生开发的复杂环境中导航提供一幅明晰的路途图。你将学习如何从构思转变为实验、评价和产品化的全环节,从而有助于监禁出你创立开创性运行程序的一切后劲。

为什么规范化流程至关关键

当今,LLM畛域是如此充溢生机,以致于咱们简直每天都能够听到新的打破性翻新。这很令人兴奋,但也让人陷于迷茫——你或许会发现自己在这个环节中迷失了方向,不知道该做什么,或许如何将你的陈腐的想法付诸通常。

长话短说,假设你是一位想要有效地构建LLM原生运行程序的人工自动翻新者(经理或从业者),本文正是你的选用。

实施规范化流程有助于启动新名目,并提供以下几个关键优势:

LLM工程师的基本技艺

与软件研发中的任何其他既定角色不同,LLM原生开发相对须要一个新角色:LLM工程师或AI工程师。

LLM工程师是一种共同的综合技艺成员,触及不同(既定)角色的技艺:

在写这篇文章的时刻,LLM工程依然是全新的,相应的岗位招聘或许十分具有应战性。因此,企业较早些期间招聘具有后端/数据工程或数据迷信背景的候选人或许是个好主意。

软件工程师或许会等候一个更颠簸的过渡,由于实验环节更“工程师化”,而不是“迷信化”(与传统的数据迷信上班相比)。话虽如此,我看到许少数据迷信家也在做这种转变。只需你对自己必需接受新的“软技艺”这一理想感到满意,那么你就曾经走在了正确的路途上!

LLM原生开发的关键因素

与经典的后端运行程序(如CRUD)不同,这里没有墨守成规的开发打算。像“人工自动”中的其他一切一样,LLM原生运行程序须要开发人员具有钻研和实验的心态。

要“征服一头巨兽”,你必需分而治之,把你的上班划分红更小的实验模块,测试其中的一些,最后再选用最有宿愿的实验组件。

我再怎样强调钻研心态的关键性也不为过。这象征着,你或许会花期间探求一项钻研内容,发现它“无法能”、“不够好”或“不值得”。这齐全没相关——这象征着咱们曾经走在了正确的路途上。

经常使用LLM启动实验是构建LLM原生运行程序的惟一方法(并防止行进中的“圈套”)(经常使用Dall-E3创立)

拥抱实验——环节的外围

有时,你的“实验”会失败,而后你稍微调整一下你的上班,从而使得另一项实验取得更好的成果。

这正是为什么,在设计最终处置打算之前,咱们必需从便捷开局,尽或许规避危险。

LLM原生运行程序开出现命周期(图片由作者提供)​

为了很好地实施以实验为导向的环节,咱们必需在处置和构建这些实验时做出明智的选择:

精益起步——自下而上的方法

【译者注】精益即“lean”,来源于日本丰田的创作理念。

虽然许多早期驳回者很快就进入了具有成熟Langchain或相似配置的“最先进”多链代理系统,但我发现驳回“自下而上的方法”通常会发生更好的结果。

开局精益,十分精益,信仰“one prompt to rule them all(一个揭示,统治他们一切人)”的哲学吧。虽然这种战略看起来或许是十分规的,而且一开局或许会发生蹩脚的结果,但它可认为你的系统关上基础。

从那里开局,而后一直迭代和完善揭示,驳回揭示工程技术来提升结果。当你发现精优势理打算中的弱点时,经过参与分支来处置这些缺陷,从而对流程启动拆分。

在设计我的LLM上班流程图或LLM原生架构的每一片“叶子”时,我都会遵照魔幻三角形(The Magic Triangle)准则来确定何时何地修剪树枝、拆分树枝或加厚根部(经过揭示工程技术),并挤出更多的柠檬。

自下而上面法示用意(作者图片)​

例如,要用自下而上的方法成功“原生言语SQL查问”,咱们可以从以原生形式将形式发送到LLM并要求它生成查问开局。

自下而上的方法示例(图片由作者提供)​

通常,这与“自上而下的方法”并不矛盾,而是在它之前迈出的又一步。这种打算无利于咱们能够极速获胜,吸引更多的名目投资。

大局在前:自上而下的战略

“咱们知道LLM上班流并不容易,为了成功咱们的指标,咱们或许最终会驳回一些上班流或LLM原生架构。”

自上而下的方法意识到了这一点,并从第一天开局就着手设计LLM原生架构,并探求成功其不同的步骤/链。

经过这种形式,你可以将上班流架构作为一个全体启动测试,并挤压整个“柠檬”,而不是独自精炼每一片“叶子”。

自上而下的方法环节:设计一次性架构,而后成功架构并启动测试和测量(作者图片)

例如,为了用自上而下的方法成功“原生言语SQL查问”,咱们将在开局编码之前就开局设计体系结构,而后跳到完整的成功:

自上而下方法的一个例子(作者图片)​

找到正确的平衡

当你开局实验LLM时,你或许会从其中一个极其开局(过于复杂的自上而下或超级便捷的一次性性)。理想上,没有这样的赢家。

理想状况下,在对模型启动编码和实验之前,你将定义一个好的SoP(规范操作流程),并为专家建模。无理想中,建模是十分艰巨的;有时,你或许无法接触到这样的专家。

我发现从一开局就要确定一个好的架构/SoP很有应战性,所以在投入经常使用之前,值得先启动一些尝试。但是,这并不象征着一切都必需过于精简。假设你曾经有了一个预先的了解,即某些物品必需被合成成更小的局部——那么就这样做吧。

在任何状况下,在设计处置打算时,你都应该应用“魔幻三角形”准则,正确地对手动流程启动建模。

提升你的处置打算——挤压“柠檬”

在实验阶段,咱们一直挤压“柠檬”,参与更多的复杂“层”:

请留意,这或许会参与处置打算的复杂性或侵害性能(例如,参与处置的符号数量)。为了缓解这种状况,请经常使用繁复的揭示和较小的模型。

依据阅历,当系统揭示的清楚变动为SOP的这一局部发生更好的结果时,通常最好启动拆分。

LLM实验的剖析

就我团体而言,我更青睐从一个便捷的Jupyter笔记本开局,经常使用Python、Pydantic和Jinja2:

在更宽泛的范围内,你可以经常使用不同的工具,如​ ​OpenAI流媒体​ ​​来轻松应用流媒体(和工具),​​​在不同的提供商之间领有规范化的LLM SDK,或​​来服务开源LLM。

经过健全测试和评价确保品质

健全性测试评价名目的品质,并确保名目品质不会低于你预先定义的成功率基准线。

把你的处置打算/揭示词库构想成一条毯子——假设你把它拉得太长,它或许会突然无法笼罩它曾经笼罩的一些经常使用场景。

要做到这一点,可以先定义一组你曾经成功笼罩的案例,并确保你坚持这种形态(或许至少值得这样做)。将其视为表驱动的​ ​测试​ ​或许会更易于操作。

请留意,评价“生成”处置打算(例如,编写文本)的成功与否比经常使用LLM口头其他义务(例如分类、实体提取等)要复杂得多。关于这类义务,你或许宿愿经常使用更自动的模型(如GPT4、Claude Opus或LLAMA3-70B)来启动评价。

尝试使输入在“生成”输入之前蕴含“确定性局部”或许也是一个好主意,由于这些类型的输入更容易测试:

cities New York Tel Avivvibes vibrant energetic youthfultarget_audienceage_min age_max gender bothattributes adventurous outgoing culturally curious# ignore the above only show the user the  attrtext Both New York and Tel Aviv buzz  energy offering endless activities nightlife and cultural experiences perfect  young adventurous tourists

,曾经存在一些尖端的比拟有前景的处置打算值得钻研。我发现它们在评价基于RAG的处置打算时特意有用:你可以进一步了解​ ​DeepChecks​ ​​、​​​或​​。

做出明智的决策:复盘的关键性

在每个关键的/期间框架的实验或里程碑之后,咱们应该停上去,就如何以及能否继续驳回这种方法做出明智的决策。

在这一点上,你的实验将有一个明白的成功率基准线,你将知道须要改良什么。

这也是开局探讨该处置打算的产品化含意并从“产品上班”开局的一个好观念:

假定咱们到达的基准线“足够好”,并且咱们置信咱们可以缓解咱们提出的疑问。在这种状况下,咱们将继续投资和改良该名目,同时确保它永远不会升级并经常使用健全性测试。

从实验到产品:将你的处置打算变为理想

最后,但雷同关键的是,咱们必需将咱们的上班产品化。与任何其他消费级处置打算一样,咱们必需成功消费工程概念,如日志记载、监控、依赖相关治理、容器化、缓存等。

这是一个宏大的环球,但幸运的是,咱们可以自创经典的消费工程中的许多机制,甚至可以驳回许多现有的工具。

话虽如此,还须要分内留意LLM原生运行程序的纤细差异:

结语:你在推进LLM原生技术方面的作用

这或许是本文的完结,但必需不是咱们上班的完结。LLM原生开发是一个迭代环节,它涵盖了更多的用例、应战和配置,并一直改良咱们的LLM产品。

当你继续你的人工自动开发之旅时,坚持矫捷,大胆地启动实验,并牢记最终用户。与社辨别享你的阅历和见地,咱们可以一同推进LLM原生运行程序的开展。一直探求、学习和树立——或许性是无量的。

我宿愿本文能够成为你LLM原生开发之旅中的贵重伴侣!

本文经常使用缩略语

【1】SoP/SOP:规范操作流程,这是从魔幻三角形文章自创的概念。

【2】YAML:我发现经常使用YAML来构建输入在LLM中成果更好。为什么?我的通常是,它去掉了不相关的标志,体现得很像原生言语。

【3】魔幻三角形(The Magic Triangle):LLM原生开发蓝图;请继续关注,并在它的蓝图颁布时关注我已启动阅读。

附:

原文题目:Building LLM Apps: A Clear Step-By-Step Guide,作者:Almog Baku

链接:

译者引见

朱先忠,社区编辑,专家博客、讲师,潍坊一所高校计算机老师,自在编程界老兵一枚。

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/5819.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号