InferenceScope class
为生成 AI 推理作提供 OpenTelemetry 跟踪范围。
方法
| record |
记录遥测跟踪的完成原因。 |
| record |
记录遥测跟踪的输入消息。
接受纯字符串(以角色 |
| record |
记录遥测跟踪的输入令牌数。 |
| record |
记录遥测跟踪的输出消息。
接受纯字符串(作为角色 |
| record |
记录遥测跟踪的输出令牌数。 |
| start(Request, Inference |
创建并启动推理跟踪的新范围。 |
继承的方法
| dispose() | 用于兼容性的旧释放方法 |
| get |
获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。 |
| record |
记录多个用于遥测跟踪的属性键/值对。 |
| record |
记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。 |
| record |
记录作期间发生的错误 |
| set |
设置范围的自定义结束时间。
设置后, 释放 会将此值 |
| with |
使此范围在异步回调执行期间处于活动状态 |
方法详细信息
recordFinishReasons(string[])
记录遥测跟踪的完成原因。
function recordFinishReasons(finishReasons: string[])
参数
- finishReasons
-
string[]
完成原因数组
recordInputMessages(InputMessagesParam)
记录遥测跟踪的输入消息。
接受纯字符串(以角色 user自动包装为 一种 一样)或版本控制型 InputMessages 包装器。
function recordInputMessages(messages: InputMessagesParam)
参数
- messages
- InputMessagesParam
输入消息字符串或 InputMessages 包装器的数组
recordInputTokens(number)
记录遥测跟踪的输入令牌数。
function recordInputTokens(inputTokens: number)
参数
- inputTokens
-
number
输入令牌数
recordOutputMessages(OutputMessagesParam)
记录遥测跟踪的输出消息。
接受纯字符串(作为角色 assistant自动包装为 一个 一个 一级输出消息)或版本控制的 OutputMessages 包装器。
function recordOutputMessages(messages: OutputMessagesParam)
参数
- messages
- OutputMessagesParam
输出消息字符串或 OutputMessages 包装器的数组
recordOutputTokens(number)
记录遥测跟踪的输出令牌数。
function recordOutputTokens(outputTokens: number)
参数
- outputTokens
-
number
输出令牌数
start(Request, InferenceDetails, AgentDetails, UserDetails, SpanDetails)
创建并启动推理跟踪的新范围。
static function start(request: Request, details: InferenceDetails, agentDetails: AgentDetails, userDetails?: UserDetails, spanDetails?: SpanDetails): InferenceScope
参数
- request
- Request
请求有效负载(通道、conversationId、内容、sessionId)。
- details
- InferenceDetails
推理调用详细信息(模型、提供程序、令牌等)。
- agentDetails
- AgentDetails
执行推理的代理。 租户 ID 派生自 agentDetails.tenantId.
- userDetails
- UserDetails
可选的人工调用方标识。
- spanDetails
- SpanDetails
可选范围配置(parentContext、startTime、endTime、spanLinks)。 注意: spanKind 被忽略;InferenceScope 始终使用 SpanKind.CLIENT。
返回
新的 InferenceScope 实例
继承的方法详细信息
dispose()
getSpanContext()
获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。
function getSpanContext(): SpanContext
返回
SpanContext
包含 traceId 和 spanId 的 SpanContext
recordAttributes(undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)
记录多个用于遥测跟踪的属性键/值对。
function recordAttributes(attributes: undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)
参数
- attributes
-
undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>
属性键/值对的集合(数组或可迭代 [键,值] 或对象映射)。
recordCancellation(string)
记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。
function recordCancellation(reason?: string)
参数
- reason
-
string
可选的取消原因。 默认为“任务已取消”。
recordError(Error)
记录作期间发生的错误
function recordError(error: Error)
参数
- error
-
Error
发生的错误
setEndTime(TimeInput)
设置范围的自定义结束时间。
设置后, 释放 会将此值 span.end() 传递给而不是使用当前的时钟时间。
当在释放作用域之前已知操作的实际结束时间时,这非常有用。
function setEndTime(endTime: TimeInput)
参数
- endTime
-
TimeInput
自纪元、日期或 HrTime 元组以来的结束时间(以毫秒为单位)。
withActiveSpanAsync<T>(() => Promise<T>)
使此范围在异步回调执行期间处于活动状态
function withActiveSpanAsync<T>(callback: () => Promise<T>): Promise<T>
参数
- callback
-
() => Promise<T>
返回
Promise<T>