当前位置: 首页 > ds >正文

软件测试大模型Agent探索(dify:chatflow+企业微信机器人)

大模型在测试领域应用提高测试效率。使用本地部署的dify+deepseek大模型,使用dify的本地知识库创建的Chatflow工作流,将生成的测试相关结论同步推送到企业微信群中,是团队对测试相关内容做到实时同步。

探索点:本地部署dify平台的知识库、chatflow配置及推送大模型生成内容到企业微信群。实现流程如下:

1.介绍

本地部署Dify1.3.0Docker Compose 部署 | Dify,以及使用硅基流动deepseek-r1:硅基流动系统。

Dify 工作流分为两种类型:

  • Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。

  • Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。

2.创建企业微信群机器人

在企业微信--群管理中,创建群机器人,创建后如下图。记录webhook地址,尤其是key=后面的字段,在后续设置chatflow中,调用企业微信工具时需要填写此Key(需要保护自己Key防止泄露)。

3.dify配置各类信息及chatflow工作流

3.1dify配置硅基流动模型

登录dify后,点击右上角用户--“设置”--模型供应商,配置大模型。本次使用硅基流动提供的各类模型。【硅基流动有活动,注册认整后送14元tokens,基本满足探索学习的使用】

3.2dify安装企业微信-发生群消息工具

大模型不具备直接使用外部工具的能力,需要通过自己开发的工具或者已发布的三方工具等进行调用。本次使用dify工具市场自带的工具插件。

工具--市场:下拉找到企业微信图标,点击安装

3.3dify本地知识创建

        大模型存在自身不足知识局限性、缺乏专业深度等不足之处。RAG(Retrieval-Augmented Generation,检索增强生成)技术应运而生。无需微调大模型参数,通过模型外知识库增强,将非参数化的外部知识库、文档与大模型结合,提示词提交大模型前,先从RAG中补充提示词,从而弥补模型在知识专业性和时效性上的不足,减少生成不确定性,在确保数据安全的同时,充分利用领域知识和私有数据。

        创建本地知识库,也是为了解决公司内部信息、文档,保密安全性,减少内部文档信息上传网络知识库泄露风险。

        dify支持常见本地知识库和对接外部知识库,本次因自己本地部署dify社区版本,使用本地知识库。

创建知识库

进入知识库页面,创建知识库。

文件上传知识并设置模型参数

索引方式:高质量

Embedding模型:选择bge-m3,按需选择embedding模型。

Rerank 模型: 选择bge-reanker-v2-m3。开启后将使用第三方 Rerank 模型再一次重排序由全文检索召回的内容分段,以优化排序结果。向 LLM 发送经过重排序的分段,辅助其提升输出的内容质量。

         配置后,前往文档。进行分块查看,以及召回测试。若测试结果符合预期,同时确定知识库模型参数后上传准备好的其他知识文件。

3.4chatflow创建

1.创建chatflow工作流及设置

工作室--创建空白应用--Chatflow

功能配置,开始节点使用默认配置

2.增加条件选择节点

上传文件检测是否需要进行文档提取,增加条件选择节点。调整if参数:选择系统参数sys.flies,else无需条件。

3.增加文档提取器节点

if条件节点添加文档提取器节点,用作上传的文档内容提取。

输出参数:开始的sys.flies

4.增加知识检索节点

将前面用户输入的提示词,以及上传文档提取的信息,调用本地知识库进行检索增强后,提交给大模型。

查询变量:sys.query

知识库:选择当前工作流需要的、已经配置的知识库。

5.大模型LLM配置

模型:deepseek-R1

上下文:配置知识库处理后的提示词参数

6.增加代码执行

大模型处理的返回是流式信息,文本量很大,输出时候出给后面机器人是无法全部接收发送,为减少文本量,需要去除流式信息think内容,将去除后信息发送企业微信。解决因文字数量超限,企业微信群中收到信息不全。

# 代码有Trae调用deepseek-v3生成
import redef main(llm_str: str) -> dict:# 一次性移除<think>标签和开头的空行final_text = re.sub(r'<think[^>]*>.*?</think>|^\n+', '', llm_str, flags=re.DOTALL)return {"result": final_text}

7.添加发送群消息节点

将代码执行处理后的信息给到发送群消息工具,发送给企业微信机器人

8.结束节点

结束节点:必须添加,不然预览或者发布时提示报错。

9.配置小技巧

        上面节点是按照图上节点关键信息进行的说明,因编排知识拖拽等操作,可以按需随时调整。节点间流程线条无法拖拽,但是可以选择线条删除,然后重新点击拖拽增加期望调整的节点顺序。

10.预览调试及发布

1.单节点调试运行:点击选择需要调试的节点,在右侧节点名称框中根据需要进行运行调试,与输出参数的,需要在输出框中添加参数或者文件等运行。

2.整体工作流预览调试

3.调试功能无异常后点击发布,若有需要优化调整,调整后及时发布更新。

3.5使用验证

工作流执行结果如下:

同时,企业微信群里收到消息如下:

4.后续

本次使用了dify-chatflow实现了简单组合功能,关键工作流跑通、验证了可行性。后续可以基于chatflow以及自己业务场景进行深度复杂定制。

http://www.xdnf.cn/news/2015.html

相关文章:

  • 【C++类和数据抽象】复制构造函数
  • SIEMENS PLC 程序 GRAPH 程序解读 车型入库
  • 【深度强化学习 DRL 快速实践】近端策略优化 (PPO)
  • mybatis-plus里的com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析
  • Python Cookbook-6.8 避免属性读写的冗余代码
  • (PYTHON)函数
  • 多物理场耦合低温等离子体装置求解器PASSKEy2
  • uniapp小程序开发入门01-快速搭建一个空白的项目并预览它
  • 多模态(3):实战 GPT-4o 视频理解
  • 线上图书借阅小程序源码介绍
  • 系统测试的技术要求
  • 基于Docker的Flask项目部署完整指南
  • 基于C#+Unity实现遇见李白小游戏
  • 《强势量价关系》速读笔记
  • 【信息系统项目管理师】高分论文:论人力资源管理与成本管理(医院信息系统)
  • 【Python数据分析】Pandas模块之pd.concat 函数
  • 【Agent】LangManus深度解析:AI自动化框架的对比与langgraph原理
  • openwrt查询网关的命令
  • Flink部署与应用——部署方式介绍
  • 更智能的银行体验:生成式 AI 与语义搜索的实际应用
  • windows服务器及网络:搭建FTP服务器
  • 【AIGC】基础篇:VS Code 配置 Python 命令行参数调试debug超详细教程
  • DeepSeek 赋能全流程数据治理:构建智能化数据价值链
  • vue3中的effectScope有什么作用,如何使用?如何自动清理
  • 传感器模块有助于加速嵌入式视觉开发
  • 最新大模型算法的研究进展与应用探索
  • SIEMENS PLC程序解读 -BLKMOV (指定长度数据批量传输)
  • 六、web自动化测试02
  • 0基础 | Proteus仿真 | 51单片机 | 继电器
  • BitNet: 微软开源的 1-bit 大模型推理框架