Back to Devexpress

AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(IChatClient, IAIExceptionHandler, IAIChatClientCustomizeMessageRequest) Method

corelibraries-devexpress-dot-aiintegration-dot-aiextensionscontainerconsole-dot-createdefaultaiextensioncontainer-x28-ichatclient-iaiexceptionhandler-iaichatclientcustomizemessagerequest-x29.md

latest6.4 KB
Original Source

AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(IChatClient, IAIExceptionHandler, IAIChatClientCustomizeMessageRequest) Method

Creates a container for AI-powered extensions and registers a chat client in a .NET console application.

Namespace : DevExpress.AIIntegration

Assembly : DevExpress.AIIntegration.v25.2.dll

NuGet Package : DevExpress.AIIntegration

Declaration

csharp
public static AIExtensionsContainerDefault CreateDefaultAIExtensionContainer(
    IChatClient chatClient,
    IAIExceptionHandler handler = null,
    IAIChatClientCustomizeMessageRequest customizer = null
)
vb
Public Shared Function CreateDefaultAIExtensionContainer(
    chatClient As IChatClient,
    handler As IAIExceptionHandler = Nothing,
    customizer As IAIChatClientCustomizeMessageRequest = Nothing
) As AIExtensionsContainerDefault

Parameters

NameTypeDescription
chatClientMicrosoft.Extensions.AI.IChatClient

A chat client.

|

Optional Parameters

NameTypeDefaultDescription
handlerDevExpress.AIIntegration.IAIExceptionHandlernull

An exception handler.

| | customizer | DevExpress.AIIntegration.IAIChatClientCustomizeMessageRequest | null | |

Returns

TypeDescription
AIExtensionsContainerDefault

A container for AI-powered extensions.

|

Remarks

DevExpress AI-powered Extensions operate within an AIExtensionsContainerDefault container. This container manages registered AI clients. Use the CreateDefaultAIExtensionContainer method to create a container for AI-powered extensions and register a chat client in a .NET console application.

The following code snippets register an Azure OpenAI chat client:

csharp
using Azure;
using Azure.AI.OpenAI;
using Microsoft.Extensions.AI;
using DevExpress.AIIntegration;
using DevExpress.AIIntegration.Extensions;

SetEnvironmentVariables();

// Register an Azure OpenAI client.
AIExtensionsContainerDefault defaultAIExtensionsContainer = RegisterAzureOpenAIClient(
    Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT"),
    Environment.GetEnvironmentVariable("AZURE_OPENAI_APIKEY")
);

AIExtensionsContainerDefault RegisterAzureOpenAIClient(string azureOpenAIEndpoint, string azureOpenAIKey) {
    IChatClient client = new Azure.AI.OpenAI.AzureOpenAIClient(new Uri(azureOpenAIEndpoint),
        new System.ClientModel.ApiKeyCredential(azureOpenAIKey)).GetChatClient("gpt-4o-mini").AsIChatClient();

    return AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(client);
}

void SetEnvironmentVariables() {
    Environment.SetEnvironmentVariable("AZURE_OPENAI_ENDPOINT", {SPECIFY_YOUR_AZURE_ENDPOINT});
    Environment.SetEnvironmentVariable("AZURE_OPENAI_APIKEY", {SPECIFY_YOU_AZURE_KEY});
}
csharp
using Azure;
using Azure.AI.OpenAI;
using Microsoft.Extensions.AI;
using DevExpress.AIIntegration;
using DevExpress.AIIntegration.Extensions;

//...
IChatClient client = new AzureOpenAIClient(new Uri(azureOpenAIEndpoint),
    new System.ClientModel.ApiKeyCredential(azureOpenAIKey)).GetChatClient("gpt-4o-mini").AsIChatClient();

AIExtensionsContainerDesktop.Default.RegisterChatClient(client);
csharp
using DevExpress.AIIntegration;
using Microsoft.Extensions.AI;
using OpenAI;

IChatClient client = new AzureOpenAIClient(new Uri(azureOpenAIEndpoint),
    new System.ClientModel.ApiKeyCredential(azureOpenAIKey)).GetChatClient("gpt-4o-mini").AsIChatClient();

builder.Services.AddSingleton(client);
//or reference the Microsoft.Extensions.AI NuGet package and use
//builder.Services.AddChatClient(config => config.Use(myChatClient));
builder.Services.AddDevExpressAI();

Read the following help topic for additional information: AI Integration.

Tip

Read the following help topics for information on how to register AI Clients in WinForms, WPF, and Blazor applications:

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the CreateDefaultAIExtensionContainer(IChatClient, IAIExceptionHandler, IAIChatClientCustomizeMessageRequest) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

office-file-api-ai-implementation/CS/BusinessObjects/ImageHelper.cs#L18

csharp
_chatClient = chatClient;
    defaultAIExtensionContainer = AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(chatClient);
}

See Also

AIExtensionsContainerConsole Class

AIExtensionsContainerConsole Members

DevExpress.AIIntegration Namespace