DeepSeek智能测试知识库助手PRO版:多格式支持+性能优化

前言

测试工程师在管理测试资产时,需要面对多种文档格式、大量文件分类及知识库的构建任务。为了解决这些问题,我们升级了 DeepSeek智能测试知识库助手,不仅支持更多文档格式,还加入了 多线程并发处理可扩展格式支持,大幅提升处理性能和灵活性。

主要功能亮点:

  1. 多格式支持:扩展支持 .md.csv 文件,兼容 docxpdftxtxlsx 等常见类型。
  2. 多线程并发处理:利用多线程加速文件处理,以应对大文件或批量文件的高效分类和存储。
  3. 智能清洗与分词:清理无用内容、提取高价值文本并分词,为 DeepSeek 提供更优质的输入。
  4. DeepSeek分类接口:结合 AI 模型精准分类,自动归档到知识库。
  5. 结构化存储:处理后的内容以 JSON 格式存储,便于后续扩展和检索。

知识库层级设计

与之前版本一致,知识库结构继续按 类型项目模块 分类,支持扩展到更多类别:

知识库/
├── 测试策略和计划/
│   ├── 测试策略.json
│   ├── 测试计划.json
├── 测试用例和脚本/
│   ├── 登录模块用例.json
│   ├── 自动化脚本.json
├── 测试工具和框架/
│   ├── 工具指南.json
│   ├── 框架文档.json
├── 缺陷管理/
│   ├── 缺陷报告模板.json
│   ├── 缺陷跟踪.json
├── 测试方法和技术/
├── 版本控制和发布管理/
├── 学习资源和培训材料/
├── 常见问题和解答/
└── 参考文档/

升级实现方案

1. 支持更多文档格式

扩展文档内容提取支持

扩展支持 .md(Markdown)和 .csv(表格文件)格式,统一处理接口,增加灵活性。

import pandas as pd
from PyPDF2 import PdfReader
from docx import Documentdef extract_text(file_path):"""根据文件类型提取内容:param file_path: 文件路径:return: 文本内容"""ext = file_path.split(".")[-1].lower()if ext == "txt":with open(file_path, "r", encoding="utf-8") as f:return f.read()elif ext == "docx":return "\n".join([paragraph.text for paragraph in Document(file_path).paragraphs])elif ext == "pdf":reader = PdfReader(file_path)return "\n".join([page.extract_text() for page in reader.pages])elif ext == "xlsx":df = pd.read_excel(file_path)return df.to_csv(index=False)  # 转换为 CSV 格式文本elif ext == "md":with open(file_path, "r", encoding="utf-8") as f:return f.read()elif ext == "csv":df = pd.read_csv(file_path)return df.to_csv(index=False)else:return "Unsupported file format."

2. 文档清洗和分词

智能清洗代码实现

使用正则表达式去除无关内容(如页眉页脚、空行、多余标点等),并对文本内容进行分词处理。此处需将NLTK对应的包放置在指定位置。

获取位置:

import nltk
nltk.find('.')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件下载路径:

https://github.com/nltk/nltk_data/tree/gh-pages/packages/tokenizers

已上传云盘,也可联系获取云盘资源~

import re
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
import nltk# 下载 NLTK 数据(首次运行时需要)
nltk.download("punkt")
nltk.download("stopwords")def clean_and_tokenize(text):"""清洗文本并进行分词:param text: 原始文本:return: 清洗后的文本和分词结果"""# 清洗文本cleaned_text = re.sub(r"\s+", " ", text)  # 去除多余空格cleaned_text = re.sub(r"[^\w\s,。!?:;、]", "", cleaned_text)  # 保留常见标点和文字cleaned_text = cleaned_text.strip()# 分词处理stop_words = set(stopwords.words("english") + stopwords.words("chinese"))  # 停用词tokens = [word for word in word_tokenize(cleaned_text) if word not in stop_words]return cleaned_text, tokens

3. 并发处理优化

多线程实现

利用 Python 的 concurrent.futures 模块,实现文件的并发处理,提升性能。

from concurrent.futures import ThreadPoolExecutordef process_single_file(file_path, knowledge_base_dir="知识库/"):"""处理单个文件:清洗、分类、存储:param file_path: 文件路径:param knowledge_base_dir: 知识库根目录"""try:# 提取内容content 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21720.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python游戏】双人简单对战游戏

以下是一个使用 Python 的 pygame 库实现的简单对战游戏示例,游戏中玩家可以控制两个角色进行对战,并且支持自定义图片(最好使用无底色的png图片)。完整源码以及实现思路: import pygame import os# 初始化 Pygame pygame.init()# 设置游戏窗…

邮件安全之发件人伪造

电子邮件工作原理 电子邮件传输过程中主要涉及到SMTP、IMAP、POP3三种协议,具体功能如下: SMTP:全称Simple Mail Transfer Protocol,即简单邮件传输协议,主要用于发送邮件,使用端口号25。 IMAP:全称Internet Mail Acce…

Ubuntu虚拟机NDK编译ffmpeg

目录 一、ffmpeg源码下载1、安装git(用于下载ffmpeg源码)2、创建源码目录,下载ffmpeg源码 二、下载ubuntu对应的NDK,并解压到opt下1、下载并解压2、配置 ~/.bashrc 三、源码编译、1、创建编译脚本2、脚本文件内容3、设置可执行权限并运行4、编译的结果在…

[展示]Webrtc NoiseSuppressor降噪模块嵌入式平台移植

最近在尝试把WebRtc的NoiseSuppressor模块移植到嵌入式平台,现在已经移植了,尝试了下效果,降噪效果很显著,噪声带被显著抑制了 降噪前: 降噪后:

适用于复杂背景的YOLOv8改进:基于DCN的特征提取能力提升研究

文章目录 1. YOLOv8的性能瓶颈与改进需求1.1 YOLOv8的优势与局限性1.2 可变形卷积(DCN)的优势 2. DCN在YOLOv8中的应用2.1 DCN的演变与YOLOv8的结合2.2 将DCN嵌入YOLOv8的结构中2.2.1 DCNv1在YOLOv8中的应用2.2.2 DCNv2与DCNv3的优化 2.3 实验与性能对比…

本地部署DeepSeek R1 + 界面可视化open-webui【ollama容器+open-webui容器】

本地部署DeepSeek R1 界面可视化open-webui 本文主要讲述如何用ollama镜像和open-webui镜像部署DeepSeek R1, 镜像比较方便我们在各个机器之间快速部署。 显卡推荐 模型版本CPU内存GPU显卡推荐1.5B4核8GB非必需4GBRTX1650、RTX20607B、8B8核16GB8GBRTX3070、RTX…

stm32单片机个人学习笔记15(I2C通信协议)

前言 本篇文章属于stm32单片机(以下简称单片机)的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 STM32入门教程-2023版 细…

曙光服务器安装centos8

一、安装系统 服务器硬件配置如下: 操作步骤: 准备空U盘制作系统启动盘 使用工具:Ventoy (⏬下载地址:www.ventoy.net/cn/download.html) 教程: 【选择U盘进行安装,完成后将系统…

Qt5 C++ TcpSocket 如何判断是服务主动断开tcp socket连接?

文章目录 实现思路示例代码代码解释主要功能和用法注意事项 在 Qt 5.9.9 的 C 开发中,使用 QTcpSocket 时,要判断是服务端主动断开 TCP Socket 连接,可以通过处理 QTcpSocket 的 disconnected 信号,结合 QTcpSocket 的状态以及…

Linux环境基础开发工具的使用(三)

五、Linux项目自动化构建工具-make/Makefile make:是一条指令。 makefile:是一个当前目录下的文件。 第一行:依赖关系。 第二行:依赖方法。 clean是空依赖关系。 编译文件清理 背景 会不会写makefile,从一个侧面说…

IDEA + 通义灵码AI程序员:快速构建DDD后端工程模板

作者:陈荣健 IDEA 通义灵码AI程序员:快速构建DDD后端工程模板 在软件开发过程中,一个清晰、可维护、可扩展的架构至关重要。领域驱动设计 (DDD) 是一种软件开发方法,它强调将软件模型与业务领域紧密结合,从而构建更…

源码方式安装llama.cpp及调试

llama.cpp源码方式安装和调试配置 构建和编译 注意这里是cuda,且要开启debug模式 cmake -B build -DGGML_CUDAON -DCMAKE_BUILD_TYPEDebug cmake --build build --config Debug正在编译: 配置launch.json用于调式: 要根据自己的环境路径…

【Ubuntu】GPU显存被占用,但显示没有使用GPU的进程

文章目录 一、问题描述二、解决方案2.1 寻找问题进程2.2 尝试杀死相关进程2.3 投放核弹,一键全杀2.4 再次查看GPU使用情况 参考资料 一、问题描述 今天使用服务器的时候发现gpu被占了很多内存,但是使用 nvidia-smi 命令并没有发现占这么多显存的进程&am…

第4章 4.1 Entity Framework Core概述

4.1.1 什么是ORM ORM (object tralstional mapping ,对象关系映射)中的“对象”指的就是C#中的对象,而“关系”是关系型数据库,“映射”指搭建数据库与C#对象之间的“桥梁”。 比如使用ORM ,可以通过创建C#对象的方式把数据插入数据库而不需…

【DeepSeek】本地部署,保姆级教程

deepseek网站链接传送门:DeepSeek 在这里主要介绍DeepSeek的两种部署方法,一种是调用API,一种是本地部署。 一、API调用 1.进入网址Cherry Studio - 全能的AI助手选择立即下载 2.安装时位置建议放在其他盘,不要放c盘 3.进入软件后…

数据结构——字符串匹配KMP

首先明确几个概念&#xff1a; s[ ]: 主串 p[ ]: 模式串(用于匹配) next[ j ]&#xff1a;以p[ j ]结尾的p字符串的前后缀最大匹配值,也是当p[ j1 ]与s[ i ]不匹配时,j指针移动的下一位置。(需要预处理出来) AcWing - 算法基础课 代码如下&#xff1a; #include<iostre…

排查JVM的一些命令

查看JVM相关信息的方法 环境&#xff1a; Win10, jdk17 查看端口的Pid netstat -ano | findstr <端口号>列出当前运行的JVM进程 ## 用于输出JVM中运行的进程状态信息。通过jps&#xff0c;可以快速获取Java进程的PID&#xff08;进程标识符&#xff09;&#xff0c; …

使用vue3框架vue-next-admin导出表格excel(带图片)

想要使用vue3导出表格内容并且图片显示在表格中&#xff08;如图&#xff09;&#xff1a; 步骤如下&#xff1a; 下载安装插件&#xff1a; 安装命令&#xff1a;npm install js-table2excel 引入插件&#xff1a; import table2excel from js-table2excel 使用插件 …

懒人精灵本地离线卡密验证系统教程(不联网、安全稳定、省钱、永久免费、无任何限制)

1.合集懒人精灵本地离线卡密验证系统教程(不联网、安全稳定、省钱、永久免费、无任何限制)&#xff1a;https://www.bilibili.com/video/BV1M6rdYEEog/ 备注&#xff1a; 1.本地离线卡密采用最安全的非对称加解密技术&#xff0c;设备id采用最安全多重混合加密不可逆技术生成&…

基于Flask的租房信息可视化系统的设计与实现

【Flask】基于Flask的租房信息可视化系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 随着互联网的快速发展&#xff0c;租房市场日益繁荣&#xff0c;信息量急剧增加&#xff…