Share via


ImageGeneratingChatClient Class

Definition

A delegating chat client that enables image generation capabilities by converting HostedImageGenerationTool instances to function tools.

public ref class ImageGeneratingChatClient sealed : Microsoft::Extensions::AI::DelegatingChatClient
[System.Diagnostics.CodeAnalysis.Experimental("MEAI001")]
public sealed class ImageGeneratingChatClient : Microsoft.Extensions.AI.DelegatingChatClient
public sealed class ImageGeneratingChatClient : Microsoft.Extensions.AI.DelegatingChatClient
[<System.Diagnostics.CodeAnalysis.Experimental("MEAI001")>]
type ImageGeneratingChatClient = class
    inherit DelegatingChatClient
type ImageGeneratingChatClient = class
    inherit DelegatingChatClient
Public NotInheritable Class ImageGeneratingChatClient
Inherits DelegatingChatClient
Inheritance
ImageGeneratingChatClient
Attributes

Remarks

The provided implementation of IChatClient is thread-safe for concurrent use so long as the IImageGenerator employed is also thread-safe for concurrent use.

This client automatically detects HostedImageGenerationTool instances in the Tools collection and replaces them with equivalent function tools that the chat client can invoke to perform image generation and editing operations.

Constructors

Name Description
ImageGeneratingChatClient(IChatClient, IImageGenerator, ImageGeneratingChatClient+DataContentHandling)

Initializes a new instance of the ImageGeneratingChatClient class.

Properties

Name Description
InnerClient

Gets the inner IChatClient.

(Inherited from DelegatingChatClient)

Methods

Name Description
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)
GetResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)

Sends chat messages and returns the response.

GetService(Type, Object)

Asks the IChatClient for an object of the specified type serviceType.

(Inherited from DelegatingChatClient)
GetStreamingResponseAsync(IEnumerable<ChatMessage>, ChatOptions, CancellationToken)

Sends chat messages and streams the response.

Extension Methods

Name Description
AsBuilder(IChatClient)

Creates a new ChatClientBuilder using innerClient as its inner client.

GetRequiredService(IChatClient, Type, Object)

Asks the IChatClient for an object of the specified type serviceType and throws an exception if one isn't available.

GetRequiredService<TService>(IChatClient, Object)

Asks the IChatClient for an object of type TService and throws an exception if one isn't available.

GetResponseAsync(IChatClient, ChatMessage, ChatOptions, CancellationToken)

Sends a chat message and returns the response messages.

GetResponseAsync(IChatClient, String, ChatOptions, CancellationToken)

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

GetService<TService>(IChatClient, Object)

Asks the IChatClient for an object of type TService.

GetStreamingResponseAsync(IChatClient, ChatMessage, ChatOptions, CancellationToken)

Sends a chat message and streams the response messages.

GetStreamingResponseAsync(IChatClient, String, ChatOptions, CancellationToken)

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

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

Sends a chat message, requesting a response matching the type T.

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

Sends a chat message, requesting a response matching the type T.

GetResponseAsync<T>(IChatClient, IEnumerable<ChatMessage>, ChatOptions, Nullable<Boolean>, CancellationToken)

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

GetResponseAsync<T>(IChatClient, IEnumerable<ChatMessage>, JsonSerializerOptions, ChatOptions, Nullable<Boolean>, CancellationToken)

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

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

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

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

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

Applies to