Back to Devexpress

AIIntegration.ShortenAsync(IAIExtensionsContainer, ShortenRequest, CancellationToken) Method

corelibraries-devexpress-dot-aiintegration-dot-aiintegration-dot-shortenasync-x28-iaiextensionscontainer-shortenrequest-cancellationtoken-x29.md

latest4.2 KB
Original Source

AIIntegration.ShortenAsync(IAIExtensionsContainer, ShortenRequest, CancellationToken) Method

Removes unnecessary details and make text more concise.

Namespace : DevExpress.AIIntegration

Assembly : DevExpress.AIIntegration.v25.2.dll

NuGet Package : DevExpress.AIIntegration

Declaration

csharp
public static Task<TextResponse> ShortenAsync(
    this IAIExtensionsContainer container,
    ShortenRequest request,
    CancellationToken cancellationToken = default(CancellationToken)
)
vb
<ExtensionAttribute>
Public Shared Function ShortenAsync(
    container As IAIExtensionsContainer,
    request As ShortenRequest,
    cancellationToken As CancellationToken = Nothing
) As Task(Of TextResponse)

Parameters

NameTypeDescription
containerIAIExtensionsContainer

The AI extensions container.

| | request | ShortenRequest |

The request to remove unnecessary details and make text more concise.

|

Optional Parameters

NameTypeDefaultDescription
cancellationTokenCancellationTokennull

The token that cancels the task.

|

Returns

TypeDescription
Task<TextResponse>

The response that contains AI-generated text.

|

Remarks

The following example registers an Azure OpenAI client and uses the AI-powered extension to shorten originalText:

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

string originalText = "Effective communication is essential in any professional setting, as it ensures that all parties involved are on the same page and working toward the same goals. Without clear communication, misunderstandings can arise, leading to errors, delays, and even conflict among team members.";
var response = await defaultAIExtensionsContainer.ShortenAsync(
    new ShortenRequest(originalText)
);

Console.WriteLine(response);

/* Output:
 * Effective communication is crucial in professional settings for aligning all parties toward common goals.
 * Lack of clear communication can result in misunderstandings, errors, delays, and conflicts among team members.
 */

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});
}

See Also

AIIntegration Class

AIIntegration Members

DevExpress.AIIntegration Namespace