AIExtensionsContainerDesktop.RegisterChatClient(AIExtensionsContainer, IChatClient) Method
Registers a chat client.
Namespace: DevExpress.AIIntegration
Assembly: DevExpress.AIIntegration.Desktop.v25.1.dll
NuGet Package: DevExpress.AIIntegration.Desktop
Declaration
public static void RegisterChatClient(
this AIExtensionsContainer container,
IChatClient chatClient
)
Parameters
| Name | Type | Description |
|---|---|---|
| container | AIExtensionsContainer | The container that holds the registered AI client. |
| chatClient | Microsoft.Extensions.AI.IChatClient | The chat client. |
Remarks
The following code snippet registers an Azure OpenAI client in a WinForms application:
using Microsoft.Extensions.AI;
using DevExpress.AIIntegration;
internal static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
IChatClient azureChatClient = new Azure.AI.OpenAI.AzureOpenAIClient(new Uri(AzureOpenAIEndpoint),
new System.ClientModel.ApiKeyCredential(AzureOpenAIKey))
.GetChatClient("gpt-4o-mini").AsIChatClient();
AIExtensionsContainerDesktop.Default.RegisterChatClient(azureChatClient);
Application.Run(new Form1());
}
static string AzureOpenAIEndpoint { get { return Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT"); } }
static string AzureOpenAIKey { get { return Environment.GetEnvironmentVariable("AZURE_OPENAI_APIKEY"); } }
}
The default container for AI services (AIExtensionsContainerDesktop.Default) can store only one registered AI client. An exception is raised if you attempt to register a second AI client.
To switch between AI chat clients, call the UnregisterChatClient method to unregister the currently registered AI chat client and then register another AI chat client:
using DevExpress.AIIntegration;
using Microsoft.Extensions.AI;
//...
IChatClient asChatClientOpenAI;
IChatClient asChatClientAzureOpenAI;
//...
//Initialize asChatClientOpenAI and asChatClientAzureOpenAI
InitializeChatClientOpenAI();
InitializeChatClientAzureOpenAI();
// Register an OpenAI client.
RegisterChatClient(asChatClientOpenAI);
// Unregister the previously registered AI client.
AIExtensionsContainerDesktop.Default.UnregisterChatClient();
// Register an Azure OpenAI client.
RegisterChatClient(asChatClientAzureOpenAI);
See Also