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

相关文章
|
5月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
5月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
1024 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
5月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
1778 6
|
5月前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
5月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
6808 91
|
5月前
|
人工智能 搜索推荐 数据可视化
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
662 115
|
5月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
2241 17
构建AI智能体:一、初识AI大模型与API调用
|
5月前
|
人工智能 自然语言处理 Shell
我们开源了一款 AI 驱动的用户社区
KoalaQA 是一款开源的 AI 驱动用户社区,支持智能问答、语义搜索、自动运营与辅助创作,助力企业降低客服成本,提升响应效率与用户体验。一键部署,灵活接入大模型,快速构建专属售后服务社区。
585 5
我们开源了一款 AI 驱动的用户社区
|
5月前
|
存储 机器学习/深度学习 人工智能
构建AI智能体:三、Prompt提示词工程:几句话让AI秒懂你心
本文深入浅出地讲解Prompt原理及其与大模型的关系,系统介绍Prompt的核心要素、编写原则与应用场景,帮助用户通过精准指令提升AI交互效率,释放大模型潜能。
1082 6

热门文章

最新文章