【AI 测试】Linux 查看日志与压测命令:FinalShell 查看 AI 语言大模型问答实时日志与 TTS 压测

目录

[一、查看 APP 实时 AI 问答消息的 websocket 类型日志](#一、查看 APP 实时 AI 问答消息的 websocket 类型日志)

[(1)Linux 模板命令配置](#(1)Linux 模板命令配置)

[① 测试环境 FinalShell 命令模板](#① 测试环境 FinalShell 命令模板)

[② 正式环境 FinalShell 命令模板](#② 正式环境 FinalShell 命令模板)

[③ Linux 命令详解](#③ Linux 命令详解)

[(2)Linux 返回日志](#(2)Linux 返回日志)

[二、查看 APP 实时 AI 问答消息的全部类型日志](#二、查看 APP 实时 AI 问答消息的全部类型日志)

[(1)Linux 模板命令配置](#(1)Linux 模板命令配置)

[① 测试环境 FinalShell 命令模板](#① 测试环境 FinalShell 命令模板)

[② 正式环境 FinalShell 命令模板](#② 正式环境 FinalShell 命令模板)

[(2)Linux 返回日志](#(2)Linux 返回日志)

[三、查看 APP 实时 AI 问答时的向量数据库人设测试日志](#三、查看 APP 实时 AI 问答时的向量数据库人设测试日志)

[(1)Linux 模板命令配置](#(1)Linux 模板命令配置)

[① 测试/正式环境 FinalShell 命令模板](#① 测试/正式环境 FinalShell 命令模板)

[② AI 人设测试注意事项](#② AI 人设测试注意事项)

[(2)Linux 返回日志](#(2)Linux 返回日志)

[四、查看 APP 实时指定 AI 问答消息的全部类型日志](#四、查看 APP 实时指定 AI 问答消息的全部类型日志)

[(1)Linux 模板命令配置](#(1)Linux 模板命令配置)

[① 测试环境 FinalShell 命令模板](#① 测试环境 FinalShell 命令模板)

[② 正式环境 FinalShell 命令模板](#② 正式环境 FinalShell 命令模板)

[(2)Linux 返回日志](#(2)Linux 返回日志)

[五、查看 TTS 服务器日志](#五、查看 TTS 服务器日志)

[(1)查看 TTS 服务日志](#(1)查看 TTS 服务日志)

[(2)查看 TTS 实时日志](#(2)查看 TTS 实时日志)

[(3)清除 TTS 指定目录下的指定开头文件的所有音频](#(3)清除 TTS 指定目录下的指定开头文件的所有音频)

[六、TTS 服务器的压测命令](#六、TTS 服务器的压测命令)

(1)nmon

(2)Jmeter

(3)压测前后清理缓存

[(4)压测时查看 APP 服务器 SEND_VOICE 类型日志](#(4)压测时查看 APP 服务器 SEND_VOICE 类型日志)

[七、BS 服务器的压测命令](#七、BS 服务器的压测命令)

(1)nmon

(2)Jmeter



一、查看 APP 实时 AI 问答消息的 websocket 类型日志

(1)Linux 模板命令配置

Linux 命令作用:查看 AI 语言大模型结合向量数据库 websocket 类型的实时问答消息日志

① 测试环境 FinalShell 命令模板

【Linux 命令标题】Test_APP today tail:websocket

【Linux 命令内容】

bash 复制代码
tail "/tmp/hyperf-dev/app-$(date +'%Y-%m-%d').log" -f  | grep '{"message":"websocket-'

【Linux 命令截图】

② 正式环境 FinalShell 命令模板

【Linux 命令标题】 Pro_APP today tail:websocket

【Linux 命令内容】

bash 复制代码
tail "/tmp/hyperf-prod/app-$(date +'%Y-%m-%d').log" -f  | grep '{"message":"websocket-'

【Linux 命令截图】

③ Linux 命令详解

  • $(date +'%Y-%m-%d').log:为当天日期的变量,比如 2020-01-01.log,实时日期无需修改
  • /tmp/hyperf-dev/app-(date +'%Y-%m-%d').log 或 /tmp/hyperf-prod /app-(date +'%Y-%m-%d').log:为 APP 的 log 文件存放在 Linux 的文件路径,dev 指代测试环境,prod 指代正式环境,可以根据不同环境的服务器 IP 点击不同的 FinalShell 模板命令
  • {"message":"websocket-:这里是过滤条件,是返回日志的部分内容,可以根据需要修改,这里过滤开发设置好的 websocket 类型的日志
  • tail :查看所有日志的 Linux 命令关键字
  • -f | grep ' ' :单引号内接返回日志显示的内容作为过滤条件,是过滤日志的关键字命令
    FinalShell 设置 Linux 命令模板一键触发:无需手动输入命令、无需改动日期

(2)Linux 返回日志

  • 点击自动触发查询实时日志,无需输入当天日期,自动过滤 websocket 类型日志,用户询问内容、AI 结合向量数据库的回复内容,均可查询
  • 文本消息:可查询回复消息的文本数据 id,这是文本回复消息 id,存储于 MySQL 数据库 AI 回复内容表中,也会用于向量数据库作为 AI 记忆消息
  • 语音消息:可以查看 AI 回复文字 TTS 转音频的 URL,这是 AI 的文本转音频的语言消息,同时可在 TTS 服务器的指定编号的文件夹路径下找到该 .wav 文件
  • bs 数据:可以查看同步生成的 bs 数据,即 txt 文件路径,这个文件内的 bs 数据主要用于 unity 开发读取作为口型与面部指标使用,有此文件 AI 虚拟人就能有对应的口型,无此文件则虚拟人有声音没口型,AI 虚拟人的脸部表情和口型主要依靠此数据,十分关键
  • 请求心跳:AI 在一段话回复中,会分句回复,分句会有统计总数与所读该句编号,这样 APP 前端和 unity 开发才知道所对应的文字、音频时长、bs 数据属于哪一句话,才可以做到文字、语言、口型同步,才能真正模拟出真人说话的感觉,而 AI 说完一段话后,会等待获取用户的语言转文字的内容,而在等待时间内一直没有获取到用户问题时,就会有一个等待超时提示,也就是心跳数据,比如每 6 秒一次心跳询问 "亲爱的还在线不?" 之类的问题重新打开麦克风检索用户声音
  • 开场白语:进入 AI 视频聊天界面时,需要 AI 主动开启开场白,AI 说完开场白后,才开始自动调用语音转文字的接口,开启麦克风获取用户说话的声音,同时也做到比较人性化,可以轮播不同的开场白,甚至是加入天气预报、报时、人文关怀等变量功能,而轮播的开场白是固定内容,所以可以不用每次再调用 TTS 文字转音频生成 bs 数据的流程,可以存储在前端代码中,做到节约流量和提高性能的作用


二、查看 APP 实时 AI 问答消息的全部类型日志

(1)Linux 模板命令配置

Linux 命令作用:查看 AI 语言大模型结合向量数据库所有的实时问答消息日志

① 测试环境 FinalShell 命令模板

Test_APP today tail:all

bash 复制代码
tail "/tmp/hyperf-dev/app-$(date +'%Y-%m-%d').log" -f

② 正式环境 FinalShell 命令模板

Pro_APP today tail:all

bash 复制代码
tail "/tmp/hyperf-prod/app-$(date +'%Y-%m-%d').log" -f

(2)Linux 返回日志



三、查看 APP 实时 AI 问答时的向量数据库人设测试日志

(1)Linux 模板命令配置

Linux 命令作用:查看 AI 语言大模型在回复问题时调用到的向量数据库数据内容日志

① 测试/正式环境 FinalShell 命令模板

由于向量数据库开发只设置一个环境,所以测试与正式环境共用一个命令。
向量人设测试

bash 复制代码
tail /tmp/hyperf-dev/app-$(date +'%Y-%m-%d').log -f | grep 'new_vector_api_info'

② AI 人设测试注意事项

  • 所有的 AI 语言大模型的调用接口都只有一问一答的模式,即完全没有 AI 记忆功能
  • 因此想要 AI 虚拟人有人设记忆,就需要开发者自己设立向量数据库
  • 每次用户询问一个问题,都需要后端开发在后台接口中传输当前用户问题、指定的人设模板内容、向量数据库近 20 问过滤后的答案等数据一起传输给 AI 语言大模型,AI 虚拟人才可以实时有记忆性地完成文本聊天、语言聊天、视频聊天
  • 查看向量数据库的返回日志,可以有效测试人设设定与语言大模型回复的匹配度、AI 记忆性等

(2)Linux 返回日志



四、查看 APP 实时指定 AI 问答消息的全部类型日志

(1)Linux 模板命令配置

**命令作用:**不同的用户询问 AI,防止 AI 回复错乱,则需给不同的 AI 编订 id ,以便做到 AI 人设对应、记忆匹配、回复内容匹配,所以在查看 AI 日志时,可以使用 AI 的 id 进行过滤,查看问答消息的全部日志。

① 测试环境 FinalShell 命令模板

Test_APP today tail:AI

bash 复制代码
 tail "/tmp/hyperf-dev/app-$(date +'%Y-%m-%d').log" -f  | grep 'NTgwMDkzMDkxNjQ2OTEwNDY0'

② 正式环境 FinalShell 命令模板

Pro_APP today tail:AI

bash 复制代码
 tail "/tmp/hyperf-prod/app-$(date +'%Y-%m-%d').log" -f  | grep 'NTYwOTQwNzczNTQ3MTU1NDU3'

(2)Linux 返回日志



五、查看 TTS 服务器日志

**TTS 服务器作用:**文本转音频,存储音频文件


(1)查看 TTS 服务日志

TTS 服务 tail:all

bash 复制代码
tail -f /data/tts/paddle/client/nohup.out

**命令作用:**实时查看指定文件的末尾内容,查看服务日志内容。
这个命令有两个部分:

  • tail: 这是一个用于显示文件末尾内容的命令。
  • -f: 这是 tail 命令的一个选项,代表 follow,意思是随着文件的增长而动态显示文件内容,实现实时监控文件的效果。
  • /data/tts/paddle/client/nohup.out: 这是指定的文件路径,tail 命令会实时监控这个文件,并将新添加到文件末尾的内容输出到终端上。

因此,命令的作用是在终端实时显示指定文件 /data/tts/paddle/client/nohup.out 的末尾内容,通常用于查看正在运行的程序或者日志文件的实时输出。


(2)查看 TTS 实时日志

TTS 实时 tail:all

bash 复制代码
tail -f /data/tts/paddle/client/logs/runtime.log

(3)清除 TTS 指定目录下的指定开头文件的所有音频

TTS 清除音频

bash 复制代码
conda activate /data/conda_env/paddle
cd /data/tts/paddle/client
cd wav_output
rm -rf test_*


六、TTS 服务器的压测命令

(1)nmon

TTS nmon

bash 复制代码
cd /usr/local/bin
./nmon -f -t -r nmonreport -s 1 -c 500

(2)Jmeter

Jmeter_TTS

bash 复制代码
#!/bin/bash
rm -rf /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardJTL/TTS_$(date +'%Y-%m-%d').jtl
rm -rf /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardReport/TTS_$(date +'%Y-%m-%d')
jmeter -n -t /usr/etc/jmeter/apache-jmeter-5.6.2/workspace/APP-TTS.jmx -l /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardJTL/TTS_$(date +'%Y-%m-%d').jtl -j /usr/etc/jmeter/apache-jmeter-5.6.2/report/LogFiles/TTS_$(date +'%Y-%m-%d').log -e -o /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardReport/TTS_$(date +'%Y-%m-%d')

(3)压测前后清理缓存

TTS 1 杀死进程(后面 kill pid)

bash 复制代码
conda activate /data/conda_env/paddle
cd /data/tts/paddle/client
lsof -i:7868

TTS 2 重启服务

bash 复制代码
nohup python main.py &

TTS 3 base 查看内存

bash 复制代码
glances

(4)压测时查看 APP 服务器 SEND_VOICE 类型日志

Test_APP today tail:SEND_VOICE

bash 复制代码
tail "/tmp/hyperf-dev/app-$(date +'%Y-%m-%d').log" -f  | grep 'SEND_VOICE'


七、BS 服务器的压测命令

(1)nmon

BS nmon

bash 复制代码
cd /usr/local/bin
./nmon -f -t -r nmonreport -s 1 -c 500

(2)Jmeter

Jmeter_BS

bash 复制代码
#!/bin/bash
rm -rf /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardJTL/BS_$(date +'%Y-%m-%d').jtl
rm -rf /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardReport/BS_$(date +'%Y-%m-%d')
jmeter -n -t /usr/etc/jmeter/apache-jmeter-5.6.2/workspace/APP-BS.jmx  -l /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardJTL/BS_$(date +'%Y-%m-%d').jtl -j /usr/etc/jmeter/apache-jmeter-5.6.2/report/LogFiles/BS_$(date +'%Y-%m-%d').log -e -o /usr/etc/jmeter/apache-jmeter-5.6.2/report/DashboardReport/BS_$(date +'%Y-%m-%d')
相关推荐
长三角智造观察1 小时前
中小制造ERP+MES选型避坑:对接集成VS原生一体化,深度对比TCO与落地痛点
大数据·人工智能·制造
一水鉴天7 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
198******126347 小时前
2026 企业 AI 办公产品选型指南:从场景匹配判断工具价值
人工智能
玫瑰互动GEO7 小时前
GEO优化学习九级模型:开发者从认知层切入
人工智能·ai·ai搜索·gem·生成式引擎优化·gem优化
海绵宝宝转agent7 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
Ruiery7 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包8 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
每天都要写算法(努力版)8 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
liron718 小时前
智能实体演化系统的统一性概念
人工智能·深度学习·神经网络
呆萌很8 小时前
常用骨干网络预训练输入尺寸
人工智能