Skip to main content
All docs
V25.1
  • AIIntegration.ShortenAsync(IAIExtensionsContainer, ShortenRequest, CancellationToken) Method

    Removes unnecessary details and make text more concise.

    Namespace: DevExpress.AIIntegration

    Assembly: DevExpress.AIIntegration.v25.1.dll

    NuGet Package: DevExpress.AIIntegration

    Declaration

    public static Task<TextResponse> ShortenAsync(
        this IAIExtensionsContainer container,
        ShortenRequest request,
        CancellationToken cancellationToken = default(CancellationToken)
    )

    Parameters

    Name Type Description
    container IAIExtensionsContainer

    The AI extensions container.

    request ShortenRequest

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

    Optional Parameters

    Name Type Default Description
    cancellationToken CancellationToken null

    The token that cancels the task.

    Returns

    Type Description
    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:

    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