Arize Phoenix TS
    Preparing search index...
    • Experimental

      Wraps a function with tracing capabilities, specifically marking it as an LLM span.

      This is a convenience function that wraps withSpan with the OpenInference span kind pre-configured to LLM. LLM spans represent invocations of a large language model, such as chat completions, text completions, or other inference calls to a foundation model.

      This API is experimental and may change in future versions

      Type Parameters

      • Fn extends AnyFn

        The function type being wrapped, preserving original signature

      Parameters

      • fn: Fn

        The function to wrap with LLM span tracing

      • Optionaloptions: Omit<SpanTraceOptions<AnyFn>, "kind">

        Configuration options for tracing behavior (excluding kind)

        • tracer

          Custom OpenTelemetry tracer instance (otherwise the current global tracer provider is resolved when the wrapper is invoked)

        • name

          Custom span name (defaults to function name)

        • openTelemetrySpanKind

          OpenTelemetry span kind (defaults to INTERNAL)

        • processInput

          Custom function to process input arguments into attributes

        • processOutput

          Custom function to process output values into attributes

        • attributes

          Base attributes to be added to every span created

      Returns Fn

      A wrapped function with identical signature that creates LLM spans during execution

      // Trace a chat completion call
      const chatCompletion = async (messages: Message[]) => {
      return await client.chat.completions.create({ model: "gpt-4", messages });
      };
      const tracedCompletion = traceLLM(chatCompletion, { name: "chat-completion" });