2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

低代码构建多Agent大模型应用的开发工具LazyLLM

发布日期:2024-07-14 09:48:03 浏览次数: 3147
作者:GitHubStore

微信搜一搜,关注“GitHubStore”


LazyLLM提供了搭建应用的workflow,并为开发过程中的各个环节提供了许多标准流程和工具 


支持:一键部署所有模块的能力、跨平台兼容(无需修改代码即可一键切换IaaS平台)、网格搜索参数优化、模型微调、RAG常用组件、基础界面等(聊天界面、文档管理界面)


即使不了解大模型,也可以使用LazyLLM组建出包含多个Agent的AI应用。


LazyLLM是一款低代码构建多Agent大模型应用的开发工具,协助开发者用极低的成本构建复杂的AI应用,并可以持续的迭代优化效果。LazyLLM提供了便捷的搭建应用的workflow,并且为应用开发过程中的各个环节提供了大量的标准流程和工具。
基于LazyLLM的AI应用构建流程是原型搭建 -> 数据回流 -> 迭代优化,即您可以先基于LazyLLM快速跑通应用的原型,再结合场景任务数据进行bad-case分析,然后对应用中的关键环节进行算法迭代和模型微调,进而逐步提升整个应用的效果。
用户文档:https://lazyllm.readthedocs.io/
近期计划:v0.2 PRD

二、特性

便捷的AI应用组装流程:即使您不了解大模型,您仍然可以像搭积木一样,借助我们内置的数据流和功能模块,轻松组建包含多个Agent的AI应用。

复杂应用一键部署 我们提供一键部署所有模块的能力。具体就是:在POC阶段,LazyLLM通过一套轻量的网关机制,简化了多Agent应用的部署流程,解决了依次启动各个子模块(如LLM、Embedding等)服务并配置URL的问题,使整个过程更加顺畅高效。而在应用的发布阶段,LazyLLM则提供了一键封装镜像的能力,使得应用可以方便地利用k8s的网关、负载均衡、容错等能力。

跨平台兼容:无需修改代码,即可一键切换IaaS平台,目前兼容裸金属服务器、开发机、Slurm集群、公有云等。这使得开发中的应用可以无缝迁移到其他IaaS平台,大大减少了代码修改的工作量。

支持网格搜索参数优化:根据用户配置,自动尝试不同的基模型、召回策略和微调参数,对应用进行评测和优化。这使得超参数调优过程无需对应用代码进行大量侵入式修改,提高了调优效率,帮助用户快速找到最佳配置。

高效的模型微调:支持对应用中的模型进行微调,持续提升应用效果。根据微调场景,自动选择最佳的微调框架和模型切分策略。这不仅简化了模型迭代的维护工作,还让算法研究员能够将更多精力集中在算法和数据迭代上,而无需处理繁琐的工程化任务。

三、使用指南

LazyLLM可用来构建常用的人工智能应用,下面给出一些例子。

3.1 对话机器人

# set environment variable: LAZYLLM_OPENAI_API_KEY=xx # or you can make a config file(~/.lazyllm/config.json) and add openai_api_key=xximport lazyllmt = lazyllm.OnlineChatModule(source="openai", stream=True)w = lazyllm.WebModule(t)w.start().wait()

如果你想使用一个本地部署的模型,请确保自己安装了至少一个推理框架(lightllm或vllm),然后代码如下:

import lazyllm# Model will be download automatically if you have an internet connectiont = lazyllm.TrainableModule('internlm2-chat-7b')w = lazyllm.WebModule(t)w.start().wait()


3.2 检索增强生成


import osimport lazyllmfrom lazyllm import pipeline, parallel, bind, _0, Document, Retriever, Reranker
prompt = '你将扮演一个人工智能问答助手的角色,完成一项对话任务。在这个任务中,你需要根据给定的上下文以及问题,给出你的回答。'
documents = Document(dataset_path='/file/to/yourpath', embed=lazyllm.TrainableModule('bge-large-zh-v1.5'))with pipeline() as ppl:with parallel().sum as ppl.prl:prl.retriever1 = Retriever(documents, parser='CoarseChunk', similarity_top_k=6)prl.retriever2 = Retriever(documents, parser='SentenceDivider', similarity='chinese_bm25', similarity_top_k=6)ppl.reranker = Reranker(types='ModuleReranker', model='bge-reranker-large') | bind(ppl.input, _0)ppl.post_processer = lambda nodes: f'《{nodes[0].metadata["file_name"].split(".")[0]}》{nodes[0].get_content()}' if len(nodes) > 0 else '未找到'ppl.formatter = (lambda ctx, query: dict(context_str=ctx, query_str=query)) | bind(query=ppl.input)ppl.llm = lazyllm.TrainableModule('internlm2-chat-7b').prompt(lazyllm.ChatPrompter(prompt, extro_keys=['context_str'])) mweb = lazyllm.WebModule(ppl, port=23456).start().wait()

3.3 故事创作

import lazyllmfrom lazyllm import pipeline, warp, bindfrom lazyllm.components.formatter import JsonFormatter
toc_prompt=""" 你现在是一个智能助手。你的任务是理解用户的输入,将大纲以列表嵌套字典的列表。每个字典包含一个 `title` 和 `describe`,其中 `title` 中需要用Markdown格式标清层级,`describe` `describe` 是对该段的描述和写作指导。
请根据以下用户输入生成相应的列表嵌套字典:
输出示例:[{"title": "# 一级标题","describe": "请详细描述此标题的内容,提供背景信息和核心观点。"},{"title": "## 二级标题","describe": "请详细描述标题的内容,提供具体的细节和例子来支持一级标题的观点。"},{"title": "### 三级标题","describe": "请详细描述标题的内容,深入分析并提供更多的细节和数据支持。"}]用户输入如下:"""
completion_prompt="""你现在是一个智能助手。你的任务是接收一个包含 `title``describe` 的字典,并根据 `describe` 中的指导展开写作输入示例:{"title": "# 一级标题","describe": "这是写作的描述。"}
输出:这是展开写作写的内容接收如下:
"""
writer_prompt = {"system": completion_prompt, "user": '{"title": {title}, "describe": {describe}}'}
with pipeline() as ppl:ppl.outline_writer = lazyllm.OnlineChatModule(source="openai", stream=False).formatter(JsonFormatter()).prompt(toc_prompt)ppl.story_generater = warp(lazyllm.OnlineChatModule(source="openai", stream=False).prompt(writer_prompt))ppl.synthesizer = (lambda *storys, outlines: "\n".join([f"{o['title']}\n{s}" for s, o in zip(storys, outlines)])) | bind(outlines=ppl.outline_writer)
print(ppl({'query':'请帮我写一篇关于人工智能在医疗领域应用的文章。'}))


四、功能点

  1. 应用搭建:定义了pipeline、parallel、diverter、if、switch、loop等工作流(Flow),开发者可以基于任意的函数和模块来快速搭建多Agent的AI应用。支持对组装好的多Agent应用进行一键部署,也支持对应用进行部分或者全部的更新。

  2. 跨平台:支持用户在不同的算力平台上获得一致的使用体验。目前兼容裸金属、Slurm、SenseCore等多种算力平台。

  3. 支持大模型的微调和推理

  • 支持微调服务:GPT、SenseNova、通义千问

  • 支持推理服务:GPT、SenseNova、Kimi、智谱、通义千问

  • 支持Embedding推理服务:Openai、SenseNova、GLM、通义千问

  • 支持微调框架:collie、peft

  • 支持推理框架:lightllm、vllm

  • 支持根据用户场景自动选择最合适的框架和模型参数(如micro-bs、tp、zero等)。

  • 离线(本地)模型服务:

  • 在线服务:

  • 支持开发者以统一的方式使用本地服务和线上服务

  • 支持RAG常用组件:Document、Parser、Retriever、Reranker等。

  • 基础的界面支持:如聊天界面、文档管理界面等。


  • 五、安装

    源码安装

    git clone git@github.com:LazyAGI/LazyLLM.gitcd LazyLLMpip install -r requirements.txt

    如果想进行微调、推理部署或搭建rag应用等,则需使用 pip install -r requirements.full.txt

    pip安装

    仅安装lazyllm及必要的依赖,可以使用

    pip install lazyllm

    安装lazyllm及所有的依赖,可以使用

    pip install lazyllm[full]


    六、设计理念

    LazyLLM的设计理念源自对我们对大模型在生产环节表现出的局限性的深刻洞察,我们深知现阶段的大模型尚无法完全端到端地解决所有实际问题。因此,基于LazyLLM的AI应用构建流程强调“快速原型搭建,结合场景任务数据进行bad-case分析,针对关键环节进行算法尝试和模型微调,进而逐步提升整个应用的效果”。LazyLLM处理了这个过程中繁琐的工程化工作,提供便捷的操作接口,让用户能够集中精力提升算法效果,打造出色的AI应用。

    LazyLLM的设计目标是让算法研究员和开发者能够能够从繁杂的工程实现中解脱出来,从而专注于他们最擅长的领域:算法和数据,解决他们在实际场景中的问题。无论你是初学者还是资深专家,我希望LazyLLM都能为你提供一些帮助。对于初级开发者,LazyLLM彻底简化了AI应用的构建过程。他们无需再考虑如何将任务调度到不同的IaaS平台上,不必了解API服务的构建细节,也无需在微调模型时选择框架或切分模型,更不需要掌握任何Web开发知识。通过预置的组件和简单的拼接操作,初级开发者便能轻松构建出具备生产价值的工具。而对于资深的专家,

    LazyLLM提供了极高的灵活性,每个模块都支持定制和扩展,使用户能够轻松集成自己的算法以及业界先进的生产工具,打造更为强大的应用。

    为了让您不被困于所依赖的辅助工具的实现细节,在LazyLLM中,我们会尽最大努力让相同定位的模块拥有一致的使用体验;例如我们通过一套Prompt的规则,让线上模型(ChatGPT、SenseNova、Kimi、ChatGlm等)和本地模型在使用的时候拥有着相同的使用方式,方便您灵活的将应用中的本地模型替换为线上模型。


    与市面上多数框架不同,LazyLLM在每个环节都精挑细选了2-3个我们认为最具优势的工具进行集成。这不仅简化了用户选择的过程,还确保了用户能够以最低的成本,搭建出最具生产力的应用。我们不追求工具或模型的数量,而是专注于质量和实际效果,致力于提供最优的解决方案。LazyLLM旨在为AI应用构建提供一条快速、高效、低门槛的路径,解放开发者的创造力,推动AI技术在实际生产中的落地和普及。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅