Back to Devexpress

AIExtensionsContainerLocal Class

corelibraries-devexpress-dot-aiintegration-0756fc82.md

latest11.4 KB
Original Source

AIExtensionsContainerLocal Class

A container that stores custom AI-powered extensions.

Namespace : DevExpress.AIIntegration

Assembly : DevExpress.AIIntegration.v25.2.dll

NuGet Package : DevExpress.AIIntegration

Declaration

csharp
public sealed class AIExtensionsContainerLocal :
    AIExtensionsContainer
vb
Public NotInheritable Class AIExtensionsContainerLocal
    Inherits AIExtensionsContainer

Remarks

Similar to the default extensions container (AIExtensionsContainerDesktop.Default), the AIExtensionsContainerLocal class stores AI-powered extensions that you implement and register manually.

DevExpress UI controls do not automatically use AI-powered extensions included in the AIExtensionsContainerLocal container. This allows you to implement different behaviors for various parts/controls in your application.

The following code snippet handles the QueryIAIExtensionsContainer event to use the WilliamShakespeareStyleExtension only when requests are initiated by the richEditControl:

csharp
using DevExpress.AIIntegration;

var localContainer = new AIExtensionsContainerLocal(AIExtensionsContainerDesktop.Default);
localContainer.Register<ChangeStyleRequest, WilliamShakespeareStyleExtension>();

AIExtensionsContainerDesktop.QueryIAIExtensionsContainer += (s, e) => {
    if (e.Source == richEditControl)
        e.Container = localContainer;
};

// ...
// A custom extension based on the DevExpress ChangeStyleExtension.
// The example overrides the GetSystemPrompt method to customize the pre-built prompt.
public class WilliamShakespeareStyleExtension : ChangeStyleExtension {
    public WilliamShakespeareStyleExtension(IServiceProvider serviceProvider) : base(serviceProvider) { }
    protected override string GetSystemPrompt(ChangeStyleRequest request) {
            return "Rewrite this text in the William Shakespeare style.";
    }
}

Run Demo: WinForms

Tip

How to Customize DevExpress AI-powered Extensions

Implements

IAIExtensionsContainer

Inheritance

Object DevExpress.AIIntegration.Internal.AIExtensionsStorage AIExtensionsContainer AIExtensionsContainerLocal

Extension Methods

Show 43 items

RegisterChatClient(IChatClient)

RegisterChatClient(Func<IServiceProvider, IChatClient>)

UnregisterChatClient()

RegisterAIExceptionHandler(IAIExceptionHandler)

UnregisterAIExceptionHandler()

RegisterAIChatClientCustomizeMessageRequest(IAIChatClientCustomizeMessageRequest)

UnregisterAIChatClientCustomizeMessageRequest()

RegisterOpenAIAssistants(OpenAIClient, String)

AddDefaultExtensions()

CreateGenerateImageDescriptionExtension(String)

GenerateImageDescriptionAsync(GenerateImageDescriptionRequest, CancellationToken)

CreatePromptToExpressionExtension<TRequest>(String)

PromptToExpressionAsync<TRequest>(TRequest, CancellationToken)

CreateSmartPasteExtension(String)

SmartPasteAsync(SmartPasteRequest, CancellationToken)

CreateSmartPasteSchedulerExtension(String)

SmartPasteSchedulerAsync(SmartPasteSchedulerRequest, CancellationToken)

CreateSmartSearchExtension(String)

SmartSearchAsync(SmartSearchRequest, CancellationToken)

CreateAbstractiveSummaryExtension(String)

AbstractiveSummaryAsync(AbstractiveSummaryRequest, CancellationToken)

CreateSmartAutoCompleteExtension(String)

SmartAutoCompleteAsync(SmartAutoCompleteRequest, CancellationToken)

CreateCustomPromptExtension(String)

CustomPromptAsync(CustomPromptRequest, CancellationToken)

CreateExpandExtension(String)

ExpandAsync(ExpandRequest, CancellationToken)

CreateExplainExtension(String)

ExplainAsync(ExplainRequest, CancellationToken)

CreateExtractiveSummaryExtension(String)

ExtractiveSummaryAsync(ExtractiveSummaryRequest, CancellationToken)

CreateExplainFormulaExtension(String)

ExplainFormulaAsync(ExplainFormulaRequest, CancellationToken)

CreateProofreadExtension(String)

ProofreadAsync(ProofreadRequest, CancellationToken)

CreateChangeStyleExtension(String)

ChangeStyleAsync(ChangeStyleRequest, CancellationToken)

CreateShortenExtension(String)

ShortenAsync(ShortenRequest, CancellationToken)

CreateChangeToneExtension(String)

ChangeToneAsync(ChangeToneRequest, CancellationToken)

CreateTranslateExtension(String)

TranslateAsync(TranslateRequest, CancellationToken)

See Also

AIExtensionsContainerLocal Members

DevExpress.AIIntegration Namespace