LazyLLM:还在为AI应用开发掉头发?商汤开源智能体低代码开发工具,三行代码部署聊天机器人

简介: LazyLLM 是一个低代码开发平台,可帮助开发者快速构建多智能体大语言模型应用,支持一键部署、跨平台操作和多种复杂功能。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


💥 “凌晨3点的程序员都在哭(bushi):商汤开源的这个工具,让AI应用开发卷成填空题!”
大家好,我是蚝油菜花。你是否也经历过——

  • 👉 想用GPT-4做智能客服,却在LangChain的API地狱里迷路
  • 👉 调教多模型协作时,被线程管理和数据流逼到秃头
  • 👉 好不容易跑通Demo,却卡在微调参数和部署环节...

今天要分享的 LazyLLM ,正是商汤大装置团队扔向开发者的一颗救星!帮助开发者以低成本快速构建多智能体的大语言模型应用:

  • ✅ 5行代码组建AI团队:让ChatGPT处理文案,Claude分析数据,SDXL生成图表
  • ✅ 动态Token剪枝黑科技:长文本推理速度提升300%
  • ✅ 企业级一键部署:从本地测试到云端上线只需1条命令

🚀 快速阅读

LazyLLM 是一款低代码开发工具,专注于多智能体大语言模型应用的构建。

  1. 核心功能:支持低代码开发、多智能体协同、模型微调与推理、一键部署和跨平台兼容。
  2. 技术原理:采用数据流驱动开发方式,模块化设计支持灵活组合,动态优化模型性能。

LazyLLM 是什么

LazyLLM-cover

LazyLLM 是一个低代码开发工具,旨在帮助开发者以低成本快速构建多智能体的大语言模型应用。它通过简化的开发流程,降低 AI 应用的开发门槛,尤其适合初学者和专业开发者。无论是聊天机器人、检索增强生成(RAG)还是多模态应用,都可以通过少量代码实现复杂功能。

LazyLLM 提供了一键部署和跨平台支持的能力,兼容 Windows、Linux 和 macOS 等多种操作系统环境。同时,它还支持在线和离线模型的推理,能够结合图像、音频等多模态数据,拓展应用场景。

LazyLLM 的主要功能

  • 低代码开发:通过极简的开发流程,快速构建复杂的 AI 应用,降低开发难度。
  • 多智能体支持:支持多个模型协同工作,满足不同场景下的需求。
  • 模型微调与推理:支持在线和离线模型微调,兼容多种推理框架。
  • 一键部署:通过轻量级网关机制,支持本地或云端的一键部署。
  • 跨平台支持:兼容多种操作系统和环境,便于灵活选择开发和部署环境。
  • 多模态扩展:支持结合图像、音频等数据,构建更丰富的应用场景。
  • 灵活配置:提供丰富的配置选项,支持定制化开发和性能优化。

LazyLLM 的技术原理

  • 数据流驱动开发:通过 Pipeline、Parallel、Diverter 和 Loop 等数据流控制方式,灵活组织复杂的数据处理流程。
  • 组件化与模块化设计:基于组件和模块构建应用,支持训练、部署、推理和评估等核心能力。
  • 模型微调与参数优化:自动选择最佳微调框架和参数分割策略,支持网格搜索优化配置。
  • 动态 Token 剪枝:引入动态剪枝技术,提高长文本推理效率。

如何运行 LazyLLM

1. 安装 LazyLLM

可以通过以下两种方式快速安装:

# 使用 pip 安装基础依赖
pip3 install lazyllm

# 安装完整依赖
pip3 install lazyllm
lazyllm install full

2. 三行代码部署聊天机器人

以下是一个简单的聊天机器人示例:

import lazyllm
chat = lazyllm.OnlineChatModule()
lazyllm.WebModule(chat).start().wait()

如果使用本地模型,可以指定模型名称:

chat = lazyllm.TrainableModule('internlm2-chat-7b')
lazyllm.WebModule(chat, port=23466).start().wait()

如果你使用pip安装了lazyllm并确保Python环境的bin目录在你的$PATH中,你还可以通过执行一行命令lazyllm run chatbot快速启动聊天机器人!如果你想使用本地模型,只需要使用--model参数指定模型名称。例如,你可以使用lazyllm run chatbot --model=internlm2-chat-7b启动基于本地模型的聊天机器人。

3. 构建具有多模态和意图识别的高级智能体

LazyLLM-multimodal-bot

代码示例:

from lazyllm import TrainableModule, WebModule, deploy, pipeline
from lazyllm.tools import IntentClassifier

painter_prompt = 'Now you are a master of drawing prompts, capable of converting any Chinese content entered by the user into English drawing prompts. In this task, you need to convert any input content into English drawing prompts, and you can enrich and expand the prompt content.'
musician_prompt = 'Now you are a master of music composition prompts, capable of converting any Chinese content entered by the user into English music composition prompts. In this task, you need to convert any input content into English music composition prompts, and you can enrich and expand the prompt content.'

base = TrainableModule('internlm2-chat-7b')
with IntentClassifier(base) as ic:
    ic.case['Chat', base]
    ic.case['Speech Recognition', TrainableModule('SenseVoiceSmall')]
    ic.case['Image QA', TrainableModule('Mini-InternVL-Chat-2B-V1-5').deploy_method(deploy.LMDeploy)]
    ic.case['Drawing', pipeline(base.share().prompt(painter_prompt), TrainableModule('stable-diffusion-3-medium'))]
    ic.case['Generate Music', pipeline(base.share().prompt(musician_prompt), TrainableModule('musicgen-small'))]
    ic.case['Text to Speech', TrainableModule('ChatTTS')]
WebModule(ic, history=[base], audio=True, port=8847).start().wait()

4. 构建 RAG 应用

LazyLLM-RAG

导入库和提示词:

import os
import lazyllm
from lazyllm import pipeline, parallel, bind, SentenceSplitter, Document, Retriever, Reranker

prompt = 'You will play the role of an AI Q&A assistant and complete a dialogue task. In this task, you need to provide your answer based on the given context and question.'

以下是一个在线部署的 RAG 示例:

documents = Document(dataset_path="your data path", embed=lazyllm.OnlineEmbeddingModule(), manager=False)
documents.create_node_group(name="sentences", transform=SentenceSplitter, chunk_size=1024, chunk_overlap=100)

with pipeline() as ppl:
    with parallel().sum as ppl.prl:
        prl.retriever1 = Retriever(documents, group_name="sentences", similarity="cosine", topk=3)
        prl.retriever2 = Retriever(documents, "CoarseChunk", "bm25_chinese", 0.003, topk=3)

    ppl.reranker = Reranker("ModuleReranker", model="bge-reranker-large", topk=1) | bind(query=ppl.input)
    ppl.formatter = (lambda nodes, query: dict(context_str="".join([node.get_content() for node in nodes]), query=query)) | bind(query=ppl.input)
    ppl.llm = lazyllm.OnlineChatModule(stream=False).prompt(lazyllm.ChatPrompter(prompt, extro_keys=["context_str"]))

lazyllm.WebModule(ppl, port=23466).start().wait()

以下是一个本地部署的示例:

documents = Document(dataset_path='/file/to/yourpath', embed=lazyllm.TrainableModule('bge-large-zh-v1.5'))
documents.create_node_group(name="sentences", transform=SentenceSplitter, chunk_size=1024, chunk_overlap=100)

with pipeline() as ppl:
    with parallel().sum as ppl.prl:
        prl.retriever1 = Retriever(documents, group_name="sentences", similarity="cosine", topk=3)
        prl.retriever2 = Retriever(documents, "CoarseChunk", "bm25_chinese", 0.003, topk=3)

    ppl.reranker = Reranker("ModuleReranker", model="bge-reranker-large", topk=1) | bind(query=ppl.input)
    ppl.formatter = (lambda nodes, query: dict(context_str="".join([node.get_content() for node in nodes]), query=query)) | bind(query=ppl.input)
    ppl.llm = lazyllm.TrainableModule("internlm2-chat-7b").prompt(lazyllm.ChatPrompter(prompt, extro_keys=["context_str"]))

lazyllm.WebModule(ppl, port=23456).start().wait()

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关文章
|
8月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
8月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
7930 111
|
9月前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
本文讲解 Prompt 基本概念与 10 个优化技巧,结合学术分析 AI 应用的需求分析、设计方案,介绍 Spring AI 中 ChatClient 及 Advisors 的使用。
2758 134
AI 超级智能体全栈项目阶段二:Prompt 优化技巧与学术分析 AI 应用开发实现上下文联系多轮对话
|
8月前
|
人工智能 自然语言处理 Shell
我们开源了一款 AI 驱动的用户社区
KoalaQA 是一款开源的 AI 驱动用户社区,支持智能问答、语义搜索、自动运营与辅助创作,助力企业降低客服成本,提升响应效率与用户体验。一键部署,灵活接入大模型,快速构建专属售后服务社区。
775 5
我们开源了一款 AI 驱动的用户社区
|
8月前
|
人工智能 搜索推荐 UED
一个牛逼的国产AI自动化工具,开源了 !
AiPy是国产开源AI工具,结合大语言模型与Python,支持本地部署。用户只需用自然语言描述需求,即可自动生成并执行代码,轻松实现数据分析、清洗、可视化等任务,零基础也能玩转编程,被誉为程序员的智能助手。
|
9月前
|
人工智能 安全 架构师
开放、协同,2025 云栖大会“操作系统开源与 AI 进化分论坛”精彩回顾
唯有通过生态开放与技术共享,才能加速 AI 技术的普惠与产业化落地。
|
8月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2066 79
|
9月前
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
1632 89
|
8月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
808 30

热门文章

最新文章