Skip to main content
All docs
V24.2

AIIntegration.SmartPasteAsync(IAIExtensionsContainer, SmartPasteRequest, CancellationToken) Method

Analyzes the source content and intelligently assigns the right values to the appropriate items.

Namespace: DevExpress.AIIntegration

Assembly: DevExpress.AIIntegration.v24.2.dll

NuGet Package: DevExpress.AIIntegration

#Declaration

public static Task<SmartPasteResponse> SmartPasteAsync(
    this IAIExtensionsContainer container,
    SmartPasteRequest request,
    CancellationToken cancellationToken = default(CancellationToken)
)

#Parameters

Name Type Description
container IAIExtensionsContainer

The AI extensions container.

request SmartPasteRequest

The Smart Paste request.

#Optional Parameters

Name Type Default Description
cancellationToken CancellationToken null

The token that cancels the task.

#Returns

Type Description
Task<SmartPasteResponse>

The Smart Paste response.

#Remarks

The following example registers an Azure OpenAI client to use the AI-powered Smart Paste extension to analyze the rawData and intelligently assign the right values to the appropriate items:

C#
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")
);

string rawData = "The 42 DevAV LED TV is changing the way people watch TV. It delivers crystal-clear images with mind-blowing video. Product Dimensions 42x28x10, Product Weight 70 lbs";
var response = await defaultAIExtensionsContainer.SmartPasteAsync(
    new SmartPasteRequest(rawData, new List<SmartPasteRequest.ItemInfo>() {
        new SmartPasteRequest.ItemInfo("product", "Product Name"),
        new SmartPasteRequest.ItemInfo("weight", "Weight")
    })
);

foreach (SmartPasteResponse.ItemInfo info in response.Values)
    Console.WriteLine(string.Format("{0}: {1}", info.Id, info.Value));

/* Output:
 * product: 42 DevAV LED TV
 * weight: 70 lbs
 */

AIExtensionsContainerDefault RegisterAzureOpenAIClient(string azureOpenAIEndpoint, string azureOpenAIKey) {
    IChatClient client = new AzureOpenAIClient(
        new Uri(azureOpenAIEndpoint),
        new AzureKeyCredential(azureOpenAIKey))
            .AsChatClient("gpt-4o-mini");
    return AIExtensionsContainerConsole.CreateDefaultAIExtensionContainer(client);
}

void SetEnvironmentVariables() {
    Environment.SetEnvironmentVariable("AZURE_OPENAI_ENDPOINT", {SPECIFY_YOUR_AZURE_ENDPOINT});
    Environment.SetEnvironmentVariable("AZURE_OPENAI_APIKEY", {SPECIFY_YOU_AZURE_KEY});
}
See Also