Share via


OpenTelemetryChatClient Class

Definition

A delegating chat client that implements the OpenTelemetry Semantic Conventions for Generative AI systems.

public ref class OpenTelemetryChatClient sealed : Microsoft::Extensions::AI::DelegatingChatClient
public sealed class OpenTelemetryChatClient : Microsoft.Extensions.AI.DelegatingChatClient
type OpenTelemetryChatClient = class
    inherit DelegatingChatClient
Public NotInheritable Class OpenTelemetryChatClient
Inherits DelegatingChatClient
Inheritance
OpenTelemetryChatClient

Remarks

The draft specification this follows is available at https://opentelemetry.io/docs/specs/semconv/gen-ai/. The specification is still experimental and subject to change; as such, the telemetry output by this client is also subject to change.

Constructors

OpenTelemetryChatClient(IChatClient, ILogger, String)

Initializes a new instance of the OpenTelemetryChatClient class.

Properties

EnableSensitiveData

Gets or sets a value indicating whether potentially sensitive information should be included in telemetry.

InnerClient

Gets the inner IChatClient.

(Inherited from DelegatingChatClient)
JsonSerializerOptions

Gets or sets JSON serialization options to use when formatting chat data into telemetry strings.

Metadata

Gets metadata that describes the IChatClient.

(Inherited from DelegatingChatClient)

Methods

CompleteAsync(IList<ChatMessage>, ChatOptions, CancellationToken)

Sends chat messages to the model and returns the response messages.

CompleteStreamingAsync(IList<ChatMessage>, ChatOptions, CancellationToken)

Sends chat messages to the model and streams the response messages.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from DelegatingChatClient)
Dispose(Boolean)

Provides a mechanism for releasing unmanaged resources.

(Inherited from DelegatingChatClient)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetService<TService>(Object)

Asks the IChatClient for an object of type TService.

(Inherited from DelegatingChatClient)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Extension Methods

CompleteAsync(IChatClient, String, ChatOptions, CancellationToken)

Sends a user chat text message to the model and returns the response messages.

CompleteStreamingAsync(IChatClient, String, ChatOptions, CancellationToken)

Sends a user chat text message to the model and streams the response messages.

CompleteAsync<T>(IChatClient, IList<ChatMessage>, ChatOptions, Nullable<Boolean>, CancellationToken)

Sends chat messages to the model, requesting a response matching the type T.

CompleteAsync<T>(IChatClient, IList<ChatMessage>, JsonSerializerOptions, ChatOptions, Nullable<Boolean>, CancellationToken)

Sends chat messages to the model, requesting a response matching the type T.

CompleteAsync<T>(IChatClient, String, ChatOptions, Nullable<Boolean>, CancellationToken)

Sends a user chat text message to the model, requesting a response matching the type T.

CompleteAsync<T>(IChatClient, String, JsonSerializerOptions, ChatOptions, Nullable<Boolean>, CancellationToken)

Sends a user chat text message to the model, requesting a response matching the type T.

Applies to