日志和调试问题#
日志是所有调试信息转储到的文件。日志文件对于调试在使用聊天引擎时出现的任何问题非常有用。
以下部分描述了 NVIDIA ACE Agent 的日志记录方法、生成的不同日志文件以及如何有效地管理它们。
日志位置#
NVIDIA ACE Agent 将与聊天引擎相关的日志存储在当前工作目录的名为 log 的目录中。在大多数情况下,这是 quickstart 脚本目录。
日志命名约定#
NVIDIA ACE Agent 使用名称 logfilename_hostname_time.log 存储日志。不会丢失多次执行的日志。为了更好的可访问性,为最新的日志文件创建符号链接,并以更简单的名称 logfilename.log 存储在同一目录中。
NVIDIA ACE Agent 存储以下日志文件
聊天引擎日志文件
chat_engine_hostname_time-pid.log,符号链接为chat_engine.log。健康监控器日志文件
chat_engine_health_hostname_time-pid.log,符号链接为chat_engine_health.log。所有插件端点的日志都单独存储在
plugin_modulename_hostname_time-pid.log中,符号链接为plugin_modulename.log。例如,天气模块日志存储为plugin_weather_hostname_time-pid.log,其符号链接为plugin_weather.log。对于基于语音的日志文件,请参阅 音频和元数据记录器 部分。
将聊天引擎日志暴露到控制台#
ACE Agent 支持五个日志级别:DEBUG、INFO、WARNING、ERROR 和 CRITICAL,类似于 Python 日志记录模块。默认情况下,日志级别 WARNING 及以上显示在控制台上,而日志级别 DEBUG 及以上转储到日志文件中。
出于调试目的,ACE Agent 允许您更改控制台日志的日志级别。您可以使用 --log-level <LOG_LEVEL> 参数以及 aceagent 工具为任何组件更改日志级别。
aceagent chat cli -c <bot_directory_path> --log-level debug aceagent plugin-server deploy -c <path_to_fm_config> --log-level debug
音频和元数据记录器#
语音控制器将 ASR 和 TTS 音频数据转储到当前工作目录中。目录 speech_logs 已挂载到语音控制器容器。
日志记录目录的目录结构将类似于这样
如果您想禁用音频和元数据记录器,可以在管道配置文件 speech.yaml 文件中将 enable_logging 标志设置为 false。例如,在 bots/stock_bot/speech.yaml 文件下的示例机器人中,我们需要更新参数
riva_logger: RivaLogger: data_dump_path: "/workspace/log" enable_logging: true