传统业务对接AI-AI编程框架-Rasa的业务应用实战(番外篇2)-- Rasa 训练数据文件的清理
经过我的【传统业务对接AI-AI编程框架-Rasa的业务应用实战】系列 1-6 的表述
已经实现了最初的目标:将传统平台业务(如发票开具、审核、计税、回款等)与智能交互结合,通过用户输入提示词或语音,识别用户意图和实体信息,并自动触发相应的业务逻辑、接口或服务。
至此,还有一些收尾工作想要说明和分享。
1)后续可以实现语音输入
如果想要追求完美,还可以继续研究前端的接收语音口令,转成文本调用rasa服务。
2)关于清理Rasa的训练数据文件
随着不断地测试和训练,models目录下的训练数据文件会越来越多。即使我们这种很简易的业务场景,训练后的文件每一个也有将近20MB。随随便便训练几次,models下的空间占用就会达到几百MB甚至上GB。
而我们清理这些文件的时候,每次手动清理总是有点烦,有点累。为此我们可以自己写个清理脚本。放到工程根目录下,每次想清理时,双击执行下清理脚本,则会把models目录下的旧的训练数据 文件全部删除,只保留最新一次训练的文件。
CMD命令又臭又长很麻烦,所以.bat批处理文件类型的脚本不合适,可以选择Python脚本或PowerShell脚本。相比之下我选择了PowerShell脚本,因为它简单,一句话就够,而且无需像Python脚本一样指定调用程序,双击后Windows会自动调用执行器。
Get-ChildItem *.tar.gz | Sort-Object LastWriteTime -Descending | Select-Object -Skip 1 | Remove-Item -Force
不过为了脚本的健壮性,我还是写了很多行, 保存成脚本文件,起名为:clean-train-data.ps1
现在贴出这个脚本内容,同时我会附上这个脚本文件
# 打印当前目录路径
Write-Output (Get-Location).Path# 设置模型目录
$modelsDir = ".\models"# 检查目录是否存在
if (-not (Test-Path -Path $modelsDir)) {Write-Output "错误:模型目录 $modelsDir 不存在!"Read-Host "按 Enter 键退出..."exit
}# 切换到模型目录
Set-Location -Path $modelsDir# 删除除最新文件外的所有 *.tar.gz 文件
Get-ChildItem *.tar.gz | Sort-Object LastWriteTime -Descending | Select-Object -Skip 1 | Remove-Item -Force# 输出结果
Write-Output "清理完成!保留最新 *.tar.gz 文件。"
Write-Output "3秒后自动退出..."
Start-Sleep -Seconds 3
如果你是CSDN会员,可以直接点击下载这个脚本文件,省下自己去编辑保存。