LazyLLM:构建多智能体LLM应用的低代码开发利器 🚀
LazyLLM是一个强大的低代码开发工具,专门用于构建基于多个大语言模型(LLMs)的智能应用。它能够帮助开发者以极低的成本创建复杂的AI应用,并支持持续的迭代优化。无论你是AI应用开发新手还是经验丰富的专家,LazyLLM都能为你提供便捷高效的开发体验。
🌟 核心特性
-
便捷的AI应用组装流程: 即使不熟悉大模型,也可以像搭积木一样轻松组装多智能体AI应用。
-
一键部署复杂应用: 支持所有模块的一键部署,极大简化了多智能体应用的部署过程。
-
跨平台兼容性: 无需修改代码即可在不同IaaS平台间切换,兼容裸机服务器、开发机、Slurm集群、公有云等。
-
支持网格搜索参数优化: 自动尝试不同的基础模型、检索策略和微调参数,帮助用户快速找到最佳配置。
-
高效的模型微调: 支持应用内模型微调,持续提升应用性能。
🛠️ 安装方法
- 从源代码安装:
git clone git@github.com:LazyAGI/LazyLLM.git
cd LazyLLM
pip install -r requirements.txt
- 通过pip安装:
pip3 install lazyllm
lazyllm install full
📚 学习资源
- 官方文档: https://docs.lazyllm.ai/
- GitHub仓库: https://github.com/LazyAGI/LazyLLM
- 最新规划: v0.2 PRD
🌈 使用示例
- 创建简单的聊天机器人:
import lazyllm
chat = lazyllm.OnlineChatModule()
lazyllm.WebModule(chat).start().wait()
- 构建RAG(检索增强生成)应用:
import lazyllm
from lazyllm import pipeline, parallel, bind, SentenceSplitter, Document, Retriever, Reranker
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()
🔮 未来规划
LazyLLM团队计划在今年年底前支持以下特性:
- 重构RAG模块,移除对llamaindex的依赖
- 支持在线解析器
- 支持一键生成Docker,一键启动应用,支持高并发和容错
- 继续支持预训练和RLHF
- 支持文本到图像和图像文本QA的模型,包括VQA和SD
- 支持语音模型,包括TTS和STT
- 支持Function-Call和Agent
- 集成常用搜索引擎
- 支持常用格式化器
- 提供常见场景的Prompter模板
通过LazyLLM,开发者可以更专注于算法和数据迭代,无需处理繁琐的工程任务。无论你是想快速构建原型还是部署生产级应用,LazyLLM都能为你提供强大的支持。开始使用LazyLLM,享受轻松高效的AI应用开发之旅吧!