实战: 运维助手 (Demo)
工作原理
- 首先需要使用 DeepSeek 识别用户的语义,并转化成可执行的 bash 命令
比如获取 docker 下有几个容器在运行
大模型识别语义后转化 ->docker ps | wc -l
此步骤中。 - 然后执行 bash 命令,获取结果
- 将结果交给大模型去分析结果,根据用户的需求,生成需要回答
⚠️
系统提示语非常重要。如果不熟练,请在网上搜索如何更熟练的使用系统提示语
准备工作
- 配置 DeepSeek api
- 需要安装 ssh 插件
开始搭建助手
- 创建 ChatFlow 应用
- 创建节点:[
生成可执行命令
] 目的:分析用户输入 (变量:sys.query
),并生成可执行的 bash 命令
提示词,仅供参考,请根据需要进行调整
你是一个 Linux 终端高手,请分析用户需求({{#sys.query#}}),生成能够查询出用户需求的命令。
仅生成命令即可,无须 markdown 等格式的输出,比如 ```
-
创建节点:[
执行SSH命令
] 目的:此节点用来连接远程服务器,并执行上一步生成的命令,因此需要在命令输入框中输入上一步返回的结果推荐通过 env 来配置
-
创建节点:[
解析命令结果
] 目的:从ssh中返回的结果中提取出 stdout (标准输出) 和 stderr (错误输出),供后续步骤使用 ssh 工具返回的格式大概是这样的 -
创建节点:[
分析命令结果
] 目的:分析命令执行后返回的 stdout (标准输出) 和 stderr (错误输出),生成回答
提示词,仅供参考
你是一个 Linux 终端高手,请根据
用户需求 ({{#sys.query#}})、
该需求生成的查询命令 ({{#llm.text#}})
该查询命令查询结果的标准输出({{#1742380206415.stdout#}})
进行分析, 给出用户想要的结果.
如果标准输出是空,请根据
该查询命令查询结果的错误输出({{#1742380206415.stderr#}})
进行分析, 给出具体的执行命令({{#llm.text#}})和错误的结果分析,供用户改善下一次的输入.
- 创建流式节点:[
直接输出
] 目的:返回结果 创建输出节点,并输出上一步的输出
验证 && DEBUG
可以点击预览进行验证,并跟踪每一步的输入和输出。如果遇到问题,根据输入和输出进行测试
发布
发布应用,并在独立的聊天页面访问
独立使用