InferenceScope class

为生成 AI 推理作提供 OpenTelemetry 跟踪范围。

扩展

方法

recordFinishReasons(string[])

记录遥测跟踪的完成原因。

recordInputMessages(InputMessagesParam)

记录遥测跟踪的输入消息。 接受纯字符串(以角色 user自动包装为 一种 一样)或版本控制型 InputMessages 包装器。

recordInputTokens(number)

记录遥测跟踪的输入令牌数。

recordOutputMessages(OutputMessagesParam)

记录遥测跟踪的输出消息。 接受纯字符串(作为角色 assistant自动包装为 一个 一个 一级输出消息)或版本控制的 OutputMessages 包装器。

recordOutputTokens(number)

记录遥测跟踪的输出令牌数。

start(Request, InferenceDetails, AgentDetails, UserDetails, SpanDetails)

创建并启动推理跟踪的新范围。

继承的方法

dispose()

用于兼容性的旧释放方法

getSpanContext()

获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。

recordAttributes(undefined | null | Iterable<[string, AttributeValue]> | Record<string, AttributeValue>)

记录多个用于遥测跟踪的属性键/值对。

recordCancellation(string)

记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。

recordError(Error)

记录作期间发生的错误

setEndTime(TimeInput)

设置范围的自定义结束时间。 设置后, 释放 会将此值 span.end() 传递给而不是使用当前的时钟时间。 当在释放作用域之前已知操作的实际结束时间时,这非常有用。

withActiveSpanAsync<T>(() => Promise<T>)

使此范围在异步回调执行期间处于活动状态

方法详细信息

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()

用于兼容性的旧释放方法

function dispose()

继承自OpenTelemetryScope.dispose

getSpanContext()

获取此范围的范围上下文。 这可用于为跨异步边界的显式父子链接创建 ParentSpanRef。

function getSpanContext(): SpanContext

返回

SpanContext

包含 traceId 和 spanId 的 SpanContext

继承自OpenTelemetryScope.getSpanContext

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>

属性键/值对的集合(数组或可迭代 [键,值] 或对象映射)。

继承自OpenTelemetryScope.recordAttributes

recordCancellation(string)

记录跨度上的取消事件。 使用取消原因将范围状态设置为 ERROR,并将错误类型标记为“TaskCanceledException”。

function recordCancellation(reason?: string)

参数

reason

string

可选的取消原因。 默认为“任务已取消”。

继承自OpenTelemetryScope.recordCancellation

recordError(Error)

记录作期间发生的错误

function recordError(error: Error)

参数

error

Error

发生的错误

继承自OpenTelemetryScope.recordError

setEndTime(TimeInput)

设置范围的自定义结束时间。 设置后, 释放 会将此值 span.end() 传递给而不是使用当前的时钟时间。 当在释放作用域之前已知操作的实际结束时间时,这非常有用。

function setEndTime(endTime: TimeInput)

参数

endTime

TimeInput

自纪元、日期或 HrTime 元组以来的结束时间(以毫秒为单位)。

继承自OpenTelemetryScope.setEndTime

withActiveSpanAsync<T>(() => Promise<T>)

使此范围在异步回调执行期间处于活动状态

function withActiveSpanAsync<T>(callback: () => Promise<T>): Promise<T>

参数

callback

() => Promise<T>

返回

Promise<T>

继承自OpenTelemetryScope.withActiveSpanAsync