在 AI 应用开发日益复杂的今天,商汤科技大装置团队开源的 LazyLLM 以其低代码、高效率的特性,正成为开发者快速构建多智能体大模型应用的得力助手。
项目介绍
LazyLLM 是由 商汤科技大装置团队开发并开源的一款 低代码大模型应用开发框架。该项目在 2025 年全球开发者先锋大会上正式发布,旨在帮助开发者以极低的成本和代码量,快速构建和迭代复杂的多智能体大模型应用 。
其核心理念是构建一套 “原型搭建 -> 数据反馈 -> 迭代优化” 的 AI 应用开发工作流 。开发者可以快速构建应用原型,然后基于真实场景的数据反馈,对应用中的关键环节进行算法迭代和模型微调,从而持续提升整体性能 。
有趣的是,项目名称中的 ” Lazy“意为” 懒惰 “,体现了其设计哲学:希望用户无需具备高超的技术或进行复杂操作,就能轻松解决 AI 应用开发中的问题,越” 懒 ” 越好 。截至目前,LazyLLM 已在 GitHub 上开源,吸引了大量开发者的关注。
核心功能
便捷的 AI 应用组装流程
LazyLLM 让不了解大模型的开发者也能像 搭积木一样,借助内置的数据流和功能模块,轻松组建包含多个 Agent 的 AI 应用 。
-
模块化设计:通过精细化模块设计和符合直觉的代码风格,助力开发者集中精力打造核心产品
-
数据流为核心:采用以数据流为核心的应用开发范式,可通过 Pipeline、Parallel、Switch、If、Loop、Diverter、Warp、Graph 等数据流拼接已有组件或其他开源软件
-
统一体验:对多种模型服务进行封装,让开发者在不同技术选型时获得统一体验,实现统一调用、统一服务、统一部署
复杂应用一键部署
LazyLLM 提供了一键部署所有模块的能力,极大简化了部署流程 。
-
POC 阶段:通过轻量级网关机制简化多 Agent 应用的部署流程,解决依次启动各个子模块服务并配置 URL 的问题
-
发布阶段:提供一键封装镜像的能力,使应用可以方便地利用 Kubernetes 的网关、负载均衡和容错能力
-
多平台部署:支持将智能体一键部署到网页、企业微信、钉钉等平台
跨平台兼容性
LazyLLM 具备出色的跨平台能力,无需修改代码即可一键切换 IaaS 平台 。
-
广泛兼容:兼容裸金属服务器、开发机、Slurm 集群、公有云等环境
-
无缝迁移:使开发中的应用可以无缝迁移到其他 IaaS 平台,大大减少了代码修改的工作量
-
国产化适配:解决了部分国外工具本土化适配不足的问题,得到许多国内开发者的认可
高效的模型微调与优化
LazyLLM 支持对应用中的模型进行微调,持续提升应用效果 。
-
自动框架选择:根据微调场景,自动选择最佳的微调框架和模型切分策略
-
网格搜索优化:支持网格搜索参数优化,根据用户配置自动尝试不同的基模型、召回策略和微调参数
-
非侵入式调优:超参数调优过程无需对应用代码进行大量侵入式修改,帮助用户快速找到最佳配置
技术架构
核心设计理念
LazyLLM 的架构设计围绕 “敏捷与可靠” 的平衡展开,旨在解决 Agent 开发中既要快速试错又要系统稳定的矛盾 。
-
数据流驱动:以数据流为核心的应用开发范式,使组件拼接和流程编排更加灵活
-
模块化可插拔:采用模块化设计,支持开源技术的高效集成,保证框架的扩展性
-
企业级架构:支持算法和工程解耦,保障访问安全与数据隔离,支持大规模并发和多用户协作
企业级特性
针对企业级应用场景,LazyLLM 提供了完整的解决方案:
-
权限体系:完善的权限管理体系,保障企业数据安全与访问控制
-
热更新支持:支持服务热更新与算法滚动升级,确保业务连续性
-
全链路支持:提供从方案设计、模型训练、系统部署到业务集成的端到端落地能力
使用方法
安装与配置
LazyLLM 可以通过 PyPI 安装,同时支持多种配置方式:
pip install lazyllm
环境变量配置:
# 设置环境变量:LAZYLLM_OPENAI_API_KEY=xx
# 或者创建配置文件(~/.lazyllm/config.json)并添加openai_api_key=xx
import lazyllm
基础应用开发
import lazyllm
# 使用在线模型
t = lazyllm.OnlineChatModule(source="openai", stream=True)
w = lazyllm.WebModule(t)
w.start().wait()
# 使用本地模型(需安装推理框架)
t = lazyllm.TrainableModule('internlm2-chat-7b') # 模型会自动下载
w = lazyllm.WebModule(t)
w.start().wait()
构建 RAG 应用:
import os
import lazyllm
from lazyllm import (pipeline, parallel, bind, _0, Document, Retriever,
Reranker, SentenceSplitter, TrainableModule)
prompt = '你是一个AI问答助手,需要根据上下文和问题给出回答。'
documents = Document(dataset_path='/path/to/yourdata', embed=TrainableModule('bge-large-zh-v1.5'))
documents.create_node_group('sentence1', transform=SentenceSplitter)
documents.create_node_group('sentence2', transform=SentenceSplitter, parents='sentence1')
with pipeline() as ppl:
with parallel().sum as ppl.prl:
prl.retriever1 = Retriever(documents, 'sentence1', similarity='cosine', topk=6)
prl.retriever2 = Retriever(documents, 'sentence2', similarity='cosine', topk=3)
ppl.reranker = Reranker(types='ModuleReranker', model='bge-reranker-large') * bind(ppl.input, _0)
ppl.llm = lazyllm.TrainableModule('internlm2-chat-7b').prompt(lazyllm.ChatPrompter(prompt, extro_keys=['context_str']))
mweb = lazyllm.WebModule(ppl, port=23456).start().wait()
代码效率对比
LazyLLM 在代码效率方面表现优异,相比其他流行框架有显著提升 :
-
数学公式实现:LazyLLM 仅需 10 行代码,而 LangChain 需要 15 行,LlamaIndex 需要 30 多行
-
RAG 应用:仅需 10 行左右代码即可搭建完整的 RAG 多路召回应用
-
开发效率:相比传统方法,开发效率提升 30%-60% 以上
应用场景
行业解决方案
基于 LazyLLM 和万象平台,商汤大装置已为众多行业提供 AI 应用落地的综合解决方案 :
-
金融行业:智能客服、风险评估、投资顾问
-
建筑与航空航天:技术文档管理、智能问答、知识检索
-
制造业:设备维护问答、操作规程查询、故障诊断
典型应用案例
LazyLLM 适用于多种 AI 应用场景:
-
智能客服系统:构建多轮对话、意图识别、知识库检索于一体的客服机器人
-
企业知识库:支持公司文档的频繁增删改查、分类管理,注册自定义 Reader
-
多模态应用:支持图像、文本等多模态能力的集成与编排
-
故事创作:利用 Pipeline 和并行处理实现自动化故事生成
优势对比
与传统开发方式对比
| 特性 | 传统开发方式 | LazyLLM 框架 |
| 代码量 | 大量样板代码 | 极简代码,10 行左右完成应用 |
| 部署复杂度 | 手动配置各模块 | 一键部署,自动化流程 |
| 平台兼容性 | 平台依赖强 | 跨平台兼容,无缝迁移 |
| 迭代效率 | 周期长、成本高 | 快速迭代,数据驱动优化 |
开发实战
一行命令安装
pip install lazyllm

安装成功

创建 api key 这里我们使用 kimi
Python 调用
import os
import lazyllm
os.environ['LAZYLLM_KIMI_API_KEY'] = 'sk-xxx' #替换成申请的kimi apikey
chat = lazyllm.OnlineChatModule('kimi')
while True:
query = input("query(enter 'quit' to exit): ")
if query == "quit":
break
res = chat.forward(query)
print(f"answer: {res}")
报错

一查原来我将 python 文件命名成 lazyllm.py 了,重命名运行看下

可正常对话

使用 web 界面
import lazyllm
chat = lazyllm.OnlineChatModule('kimi')
lazyllm.WebModule(chat, port=23333).start().wait()
启动一个 web 页面



搭建 RAG Agent
import os
import lazyllm
os.environ['LAZYLLM_KIMI_API_KEY'] = 'sk-xxx' #替换成申请的kimi apikey
# 设置知识库路径
documents = lazyllm.Document(dataset_path='/content')
#配置检索器
# 创建一个检索器,将其与前面加载的文档关联起来
retriever = lazyllm.Retriever(
doc=documents, # 指定上一步创建的 documents 对象
group_name="CoarseChunk", # 使用粗分块策略(默认)
similarity="bm25_chinese", # 使用 BM25 算法进行相似度计算,适用于中文
topk=3 # 返回与问题最相关的前 3 个文档片段
)
#初始化模型
llm = lazyllm.OnlineChatModule('kimi')
#设置提示词
# 定义一个系统指令 Prompt
system_prompt = "你是一个智能问答助手。请严格根据以下背景信息来回答用户的问题。如果背景信息中没有答案,请直接说不知道。\n背景信息:{context_str}"
# 将该 Prompt 设置到之前初始化的大模型中
llm.prompt(lazyllm.ChatPrompter(instruction=system_prompt, extra_keys=['context_str']))
#集成与问答流水线
def ask_question(query):
# 1. 检索:从知识库中查找相关文档片段
doc_node_list = retriever(query=query)
# 2. 组装上下文:将检索到的内容合并成一个字符串
context = "".join([node.get_content() for node in doc_node_list])
# 3. 生成:将用户问题和检索到的上下文一起交给大模型生成答案
answer = llm({"query": query, "context_str": context})
return answer
# 现在你可以进行提问了
user_query = "新客户如何申请?"
response = ask_question(user_query)
print(f"Answer: {response}")
运行结果

启动 web
lazyllm.WebModule(llm, port=24444).start().wait()

以下是利用 python+pyqt5 实现的一个 rag 小应用






总结与展望
LazyLLM 作为商汤开源的低代码大模型应用开发框架,通过其 模块化设计、高效的工作流和强大的企业级特性,显著降低了 AI 应用开发的门槛。它让开发者能够像搭积木一样快速构建复杂的多智能体应用,同时保证了系统的稳定性和可维护性。
对于 企业开发者,LazyLLM 提供了一条从原型验证到生产部署的快速路径;对于 AI 研究者,其低代码特性让更多人能够参与到 AI 应用创新中;对于 行业用户,丰富的行业解决方案加速了 AI 能力的落地转化。
随着大模型技术的不断发展,LazyLLM 也在持续演进,未来将在 轻量化 RAG、多模态能力集成、Agent 框架等方向继续探索,致力于打造更加开放、高效、可复用的大模型应用开发体系 。
项目地址: https://github.com/LazyAGI/LazyLLM
版权声明:本文作者 @ 13 妖。