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:

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