【大模型】基于LazyLLM的日志助手开发

部署运行你感兴趣的模型镜像

一、LazyLLM介绍

 LazyLLM 是一个开源项目,专注于简化大型语言模型(LLM)的应用开发流程,提供高效的部署、微调和推理工具。项目旨在降低使用门槛,帮助开发者快速构建基于 LLM 的应用程序。

核心功能

  • 1、模型部署
     支持多种开源 LLM(如 LLaMA、ChatGLM 等)的本地或云端部署,提供一键式启动脚本和配置模板。

  • 2、微调工具
     集成轻量级微调框架,支持低成本适配特定领域任务,例如文本生成、对话系统等。

  • 3、推理优化
     通过量化、剪枝等技术减少模型资源占用,提升推理速度,适合边缘设备或低配置环境。

  • 4、API 封装
     提供 RESTful 接口和 Python SDK,便于与其他系统集成,简化模型调用流程。

技术栈

  • 后端:Python + FastAPI/Flask
  • 深度学习框架:PyTorch/Hugging Face Transformers
  • 部署工具:Docker、Kubernetes(可选)

适用场景

  • 快速验证 LLM 在垂直领域的应用效果
  • 需要低成本私有化部署的场景
  • 中小团队开发 AI 助手或文本生成服务

开发环境说明

  • 系统:Windows11
  • python环境:3.10

二、LLM API key申请(以智谱GLM为例)

 (1)登录智谱官方网址为:https://open.bigmodel.cn/usercenter/proj-mgmt/apikeys

 (2)按下图步骤申请GLM API,会有一个系统默认的API key可用,可点击进行复制。
在这里插入图片描述

 LazyLLM目前支持以下平台:

平台需要设置的环境变量官方获取链接
日日新LAZYLLM_SENSENOVA_API_KEY, LAZYLLM_SENSENOVA_SECRET_KEY日日新API密钥获取
OpenAILAZYLLM_OPENAI_API_KEYOpenAI API密钥获取
智谱LAZYLLM_GLM_API_KEY智谱API密钥获取
KimiLAZYLLM_KIMI_API_KEYKimi API密钥获取
通义千问LAZYLLM_QWEN_API_KEY通义千问API密钥获取
豆包LAZYLLM_DOUBAO_API_KEY豆包API密钥获取

三、环境变量设置

  • 打开电脑的环境变量编辑窗口,在用户变量中添加变量名为:LAZYLLM_GLM_API_KEY,变量值为 上一步复制的API KEY。

  • 其他平台也可以根据上表提供的变量名进行对应配置。

四、基于LazyLLM的日志助手开发

 基于LazyLLM日志助手的核心功能主要是:帮用户分析日志中不同类型日志信息,帮助用户更好地了解日志中的相关内容,同时还能进行整体分析。

  1、安装LazyLLM第三方包,在终端输入具体命令如下:

pip3 install lazyllm -i https://pypi.tuna.tsinghua.edu.cn/simple

 等待安装结束,注意如果提前安装了LazyLLM,没有设置环境变量,就需要在安装结束后重新启动终端,这样环境变量才能在新的终端生效。

在这里插入图片描述

  2、基于LazyLLM日志助手的python代码如下所示:

import lazyllm
import re
from collections import defaultdict

class LogAnalyzer:
    def __init__(self, log_file):
        self.log_file = log_file
        self.log_data = defaultdict(list)
        self.log_levels = ["ERROR", "WARNING", "INFO"]

    def parse_logs(self):
        """解析日志文件,并按级别分类日志"""
        with open(self.log_file, 'r') as file:
            for line in file:
                for level in self.log_levels:
                    if level in line:
                        self.log_data[level].append(line.strip())
                        break

    def generate_summary(self):
        """生成日志的基本统计信息"""
        summary = {}
        for level in self.log_levels:
            summary[level] = len(self.log_data[level])
        return summary

    def get_log_details(self, level):
        """获取特定日志级别的详细信息"""
        return "\n".join(self.log_data[level])


class LogAnalysisAssistant:
    def __init__(self, log_file, chat_model='glm'):
        self.log_analyzer = LogAnalyzer(log_file)
        self.chat = lazyllm.OnlineChatModule(source='glm', model=chat_model)
        self.log_analyzer.parse_logs()

    def query_logs(self, query):
        """根据用户的查询生成答案"""
        summary = self.log_analyzer.generate_summary()
        if "ERROR" in query:
            return f"Total ERROR logs: {summary['ERROR']}\nDetails:\n{self.log_analyzer.get_log_details('ERROR')}"
        elif "WARNING" in query:
            return f"Total WARNING logs: {summary['WARNING']}\nDetails:\n{self.log_analyzer.get_log_details('WARNING')}"
        elif "INFO" in query:
            return f"Total INFO logs: {summary['INFO']}\nDetails:\n{self.log_analyzer.get_log_details('INFO')}"
        elif "summary" in query:
            return f"Log Summary: {summary}"
        else:
            return "I'm sorry, I didn't quite understand your query."

    def start(self):
        """启动查询助手,处理用户输入"""
        while True:
            query = input("query (enter 'quit' to exit): ")
            if query.lower() == "quit":
                break
            # 向 LLM 发送查询并获取结果
            res = self.chat.forward(self.query_logs(query))
            print(f"answer: {res}")

# 使用方法
log_file_path = "logfile.log"  # 替换为你的日志文件路径
assistant = LogAnalysisAssistant(log_file_path, chat_model='GLM-4.5')
assistant.start()

  根据代码中的路径指引,编写logfile.log文件内容如下:

ERROR 2025-09-23 12:02:00 Failed to load configuration
INFO 2025-09-23 12:05:00 load configuration
INFO 2025-09-23 12:06:00 Database connection succeed
WARNING 2025-09-23 12:07:00 Meeting config file
ERROR 2025-09-23 12:15:00 Database connection failed
Active 2025-09-23 12:16:00 Missing config file
summary 2025-09-23 12:20:00 Database connection succeed

  3、效果展示

  在终端运行结果如下图所示:
在这里插入图片描述

  通过LLM模型赋能,该助手可以分析log文件中的内容,并提供对应的需求信息,以提高获取信息的效率。

  上述所有的代码可在https://github.com/Reversev/attempts/tree/main/LazyLLM_test进行查看,如果对您有帮助,请帮我点个星星⭐⭐⭐。

五、参考链接

[1] https://gitcode.com/LazyLLM/LazyLLM
[2] https://blog.youkuaiyun.com/csdnstudent/article/details/151827710

您可能感兴趣的与本文相关的镜像

Qwen3-VL-8B

Qwen3-VL-8B

图文对话
Qwen3-VL

Qwen3-VL是迄今为止 Qwen 系列中最强大的视觉-语言模型,这一代在各个方面都进行了全面升级:更优秀的文本理解和生成、更深入的视觉感知和推理、扩展的上下文长度、增强的空间和视频动态理解能力,以及更强的代理交互能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IRevers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值