LLMStatusCode

LLMException中status_code对应的枚举类,枚举值及解决方法如下表。

枚举值 含义 是否可恢复 解决办法
LLM_SUCCESS 成功
LLM_FAILED 通用失败 重启机器或容器;
保留现场,获取Host/Device日志,并备份。
LLM_WAIT_PROCESS_TIMEOUT 处理超时 - 如果是pull_cachepull_blockstransfer_cache_async等传输相关接口报该错误,该链路不可恢复,需重新建链。
- 其他接口报该异常,加大超时时间并重试。
LLM_PARAM_INVALID 参数错误 基于日志排查错误原因。
LLM_KV_CACHE_NOT_EXIST KV不存在 - 检查对应全量侧报错日志中的请求是否完成。
- 检查是否存在重复拉取。
- 检查标记目标cache的参数是否错误。
LLM_REPEAT_REQUEST 重复请求 检查是否存在重复调用。
LLM_NOT_YET_LINK 没有建链 上层排查Decode与Prompt建链情况。
LLM_ALREADY_LINK 已经建过链 上层排查Decode与Prompt建链情况。
LLM_LINK_FAILED 建链失败 link_clusters第二个返回值中有该错误码时,需要检查对应集群之间的网络连接。
LLM_UNLINK_FAILED 断链失败 unlink_clusters第二个返回值中有该错误码时,需要检查对应集群之间的网络连接。
LLM_NOTIFY_PROMPT_UNLINK_FAILED 通知Prompt侧断链失败 1. 排查Decode与Prompt之间的网络连接。
2. 主动调Prompt侧的unlink_clusters清理残留资源。
LLM_CLUSTER_NUM_EXCEED_LIMIT 集群数量超过限制 排查link_clustersunlink_clusters传入参数,clusters数量不能超过16。
LLM_PROCESSING_LINK 正在处理建链 当前正在执行建链或断链操作,请稍后再试。
LLM_PREFIX_ALREADY_EXIST 前缀已经存在 检查是否已加载过相同Prefix Id的公共前缀。如果是,需要先释放。
LLM_PREFIX_NOT_EXIST 前缀不存在 检查Request中的Prefix Id是否已加载过。
LLM_DEVICE_OUT_OF_MEMORY Device内存不足 检查申请的内存是否没有释放。
LLM_EXIST_LINK switch_role时,存在未释放的链接 检查在切换当前LLMDataDist的角色前是否已经调用unlink_clusters断开所有的链接。
LLM_FEATURE_NOT_ENABLED 特性未使能 检查初始化LLMDataDist时是否传入了必要option:
如果是切换当前LLMDataDist的角色时抛出该异常,排查初始化时LLMConfig是否设置了enable_switch_role = True。
LLM_LINK_BUSY 链路繁忙 检查同时调用的接口是否有冲突,例如:同时调用如下接口时,会报该错误码。

- 使用相同链路同时调用KvCacheManager的pull_cachetransfer_cache_async
- 同时调用check_link_status和KvCacheManager的pull_cache
LLM_OUT_OF_MEMORY 内存不足 CacheManager模式下才会出现该错误码。
检查内存池是否足够容纳申请的KV大小;
检查申请的内存是否没有释放。
LLM_DEVICE_MEM_ERROR 出现内存UCE(uncorrect error,指系统硬件不能直接处理恢复内存错误)的错误虚拟地址 请参考《Ascend Extension for PyTorch 自定义API参考》中的torch_npu.npu.restart_device接口的说明获取并修复内存UCE的错误虚拟地址。
说明: 本错误码为预留,暂不支持。
LLM_SUSPECT_REMOTE_ERROR 疑似是UCE内存故障 上层框架需要结合其它故障进行综合判断是UCE内存故障还是他故障。
LLM_UNKNOWN_ERROR 未知错误 保留现场,获取Host/Device日志,并备份。