可观测性
AI 服务可观测性
备注
AI 服务可观测性是一项实验性功能。其 API 和行为可能在未来版本中发生变化。
AI 服务可观测性机制允许用户跟踪 AiService 调用期间发生的情况。单次调用可能涉及多次 LLM 调用,其中任何一次都可能成功或失败。AI 服务可观测性使用户能够跟踪完整的调用序列及其结果。
备注
AI 服务可观测性能力仅在使用 AI 服务 时可用。它们是更高层级的构造,无法应用于 ChatModel 或 StreamingChatModel。
该实现最初在 Quarkus LangChain4j 扩展 中实现,并被回移植到此处。
事件类型
每种事件类型都有唯一标识符,可用于跨多次调用关联事件。
每种事件类型都包含封装在
InvocationContext
中的信息。
当前可用的事件类型如下:
| 事件名称 | 描述 |
|---|---|
AiServiceStartedEvent | 在 LLM 调用开始时触发。 |
AiServiceRequestIssuedEvent | 在向 LLM 发送请求之前触发。包含正在 发出的请求的详细信息。需要注意的是,当存在工具或护栏时,在单次 AiService 调用期间此事件可能被触发多次。 包含系统消息和用户消息等信息。 |
AiServiceResponseReceivedEvent | 在收到 LLM 响应时触发。包含 LLM 响应以及对应的请求。需要注意的是,当存在工具或护栏时,在单次 AiService 调用期间此事件可能被触发多次。 包含系统消息和用户消息等信息。 并非每次调用都会收到此事件。如果调用失败,将改为收到 AiServiceErrorEvent。 |
AiServiceErrorEvent | 在与 LLM 的调用失败时触发。失败原因可能是网络故障、AiService 不可用、输入/输出护栏阻止请求,或其他许多原因。 包含有关所发生故障的信息。 |
AiServiceCompletedEvent | 在 LLM 调用成功完成时触发。 并非每次调用都会收到此事件。如果调用失败,将改为收到 AiServiceErrorEvent。包含有关调用结果的信息。 |
ToolExecutedEvent | 在工具调用完成时触发。需要注意的是,在单次 LLM 调用中此事件可能被触发多次。 包含有关工具请求和结果的信息。 |
InputGuardrailExecutedEvent | 在 输入护栏 验证执行时触发。每个护栏调用都会触发其中一个事件。 包含有关单个输入护栏的输入、其输出(即成功还是失败)以及执行时长的信息。 |
OutputGuardrailExecutedEvent | 在 输出护栏 验证执行时触发。每个护栏调用都会触发其中一个事件。 包含有关单个输出护栏的输入、其输出(即成功?失败?重试?重新提示?)以及执行时长的信息。 |