【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')
相关推荐
奔跑中的小象5 小时前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
DevSecOps选型指南5 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
Shockang6 小时前
LangGraph 状态机实战
人工智能
刹那芳华19926 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作6 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
科技之门6 小时前
AI3D从建模到贴图、绑骨和动画的完整流程怎么做?V2Fun完整工作流指南
人工智能·3d·贴图
宇宙第一小趴菜6 小时前
二、机器学习的应用领域和发展史
人工智能·机器学习
前端开发江鸟6 小时前
我写过 MCP Server,却一直以为 MCP 只有 Tool
人工智能
爱丶狸6 小时前
Grafana_Zabbix_ImageRenderer_部署与前端操作手册
linux·前端·zabbix·grafana·kylin
天国梦7 小时前
自习室智能化升级避坑指南:天学网AI智习室方案实测与选型建议
大数据·人工智能