Interface LDAIConfigTracker

The LDAIConfigTracker is used to track various details about AI operations.

Hierarchy

  • LDAIConfigTracker

Methods

  • Track an operation which uses Bedrock.

    This function will track the duration of the operation, the token usage, and the success or error status.

    Type Parameters

    • TRes extends {
          $metadata: {
              httpStatusCode?: number;
          };
          metrics?: {
              latencyMs?: number;
          };
          usage?: {
              inputTokens?: number;
              outputTokens?: number;
              totalTokens?: number;
          };
      }

    Parameters

    • res: TRes

      The result of the Bedrock operation.

    Returns TRes

    The input operation.

  • Track the duration of generation.

    Ideally this would not include overhead time such as network communication.

    Parameters

    • durationMs: number

      The duration in milliseconds.

    Returns void

  • Track the duration of execution of the provided function.

    If the provided function throws, then this method will also throw. In the case the provided function throws, this function will still record the duration.

    This function does not automatically record an error when the function throws.

    Parameters

    • func: (() => Promise<any>)

      The function to track the duration of.

        • (): Promise<any>
        • Returns Promise<any>

    Returns Promise<any>

    The result of the function.

  • Track metrics for a generic AI operation.

    This function will track the duration of the operation, extract metrics using the provided metrics extractor function, and track success or error status accordingly.

    If the provided function throws, then this method will also throw. In the case the provided function throws, this function will record the duration and an error. A failed operation will not have any token usage data.

    Type Parameters

    • TRes

    Parameters

    • metricsExtractor: ((result) => LDAIMetrics)

      Function that extracts LDAIMetrics from the operation result

    • func: (() => Promise<TRes>)

      Function which executes the operation

        • (): Promise<TRes>
        • Returns Promise<TRes>

    Returns Promise<TRes>

    The result of the operation

  • Track an OpenAI operation.

    This function will track the duration of the operation, the token usage, and the success or error status.

    If the provided function throws, then this method will also throw. In the case the provided function throws, this function will record the duration and an error. A failed operation will not have any token usage data.

    Type Parameters

    • TRes extends {
          usage?: {
              completion_tokens?: number;
              prompt_tokens?: number;
              total_tokens?: number;
          };
      }

    Parameters

    • func: (() => Promise<TRes>)

      Function which executes the operation.

        • (): Promise<TRes>
        • Returns Promise<TRes>

    Returns Promise<TRes>

    The result of the operation.

  • Track metrics for a streaming AI operation.

    This function will track the duration of the operation, extract metrics using the provided metrics extractor function, and track success or error status accordingly.

    Unlike trackMetricsOf, this method is designed for streaming operations where:

    • The stream is created and returned immediately (synchronously)
    • Metrics are extracted asynchronously in the background once the stream completes
    • Duration is tracked from stream creation to metrics extraction completion

    The stream is returned immediately so the caller can begin consuming it without waiting. Metrics extraction happens in the background and does not block stream consumption.

    If the stream creator throws, then this method will also throw and record an error. If metrics extraction fails, the error is logged but does not affect stream consumption.

    Type Parameters

    • TStream

    Parameters

    • streamCreator: (() => TStream)

      Function that creates and returns the stream (synchronous)

        • (): TStream
        • Returns TStream

    • metricsExtractor: ((stream) => Promise<LDAIMetrics>)

      Function that asynchronously extracts metrics from the stream

    Returns TStream

    The stream result (returned immediately, not a Promise)

  • Track a Vercel AI SDK generateText operation.

    This function will track the duration of the operation, the token usage, and the success or error status.

    If the provided function throws, then this method will also throw. In the case the provided function throws, this function will record the duration and an error. A failed operation will not have any token usage data.

    Type Parameters

    • TRes extends {
          usage?: {
              completionTokens?: number;
              inputTokens?: number;
              outputTokens?: number;
              promptTokens?: number;
              totalTokens?: number;
          };
      }

    Parameters

    • func: (() => Promise<TRes>)

      Function which executes the operation.

        • (): Promise<TRes>
        • Returns Promise<TRes>

    Returns Promise<TRes>

    The result of the operation.

  • Track a Vercel AI SDK streamText operation.

    This function will track the duration of the operation, the token usage, and the success or error status.

    If the provided function throws, then this method will also throw. In the case the provided function throws, this function will record the duration and an error. A failed operation will not have any token usage data.

    Type Parameters

    • TRes extends {
          finishReason?: Promise<string>;
          usage?: Promise<{
              completionTokens?: number;
              inputTokens?: number;
              outputTokens?: number;
              promptTokens?: number;
              totalTokens?: number;
          }>;
      }

    Parameters

    • func: (() => TRes)

      Function which executes the operation.

        • (): TRes
        • Returns TRes

    Returns TRes

    The result of the operation.

    Deprecated

    Use trackStreamMetricsOf() with VercelProvider.createStreamMetricsExtractor() from the @launchdarkly/server-sdk-ai-vercel package instead. This method will be removed in a future version.

Generated using TypeDoc