corelibraries-devexpress-dot-aiintegration-0756fc82.md
A container that stores custom AI-powered extensions.
Namespace : DevExpress.AIIntegration
Assembly : DevExpress.AIIntegration.v25.2.dll
NuGet Package : DevExpress.AIIntegration
public sealed class AIExtensionsContainerLocal :
AIExtensionsContainer
Public NotInheritable Class AIExtensionsContainerLocal
Inherits AIExtensionsContainer
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:
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.";
}
}
Tip
How to Customize DevExpress AI-powered Extensions
Object DevExpress.AIIntegration.Internal.AIExtensionsStorage AIExtensionsContainer AIExtensionsContainerLocal
Show 43 items
RegisterChatClient(IChatClient)
RegisterChatClient(Func<IServiceProvider, IChatClient>)
RegisterAIExceptionHandler(IAIExceptionHandler)
UnregisterAIExceptionHandler()
RegisterAIChatClientCustomizeMessageRequest(IAIChatClientCustomizeMessageRequest)
UnregisterAIChatClientCustomizeMessageRequest()
RegisterOpenAIAssistants(OpenAIClient, String)
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)
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