Skip to main content
All docs
V25.1
  • SmartSearchResponse Class

    A Smart Search response.

    Namespace: DevExpress.AIIntegration.Extensions

    Assembly: DevExpress.AIIntegration.v25.1.dll

    NuGet Package: DevExpress.AIIntegration

    Declaration

    public class SmartSearchResponse :
        BaseResponse,
        IEquatable<SmartSearchResponse>

    Remarks

    The following example registers an Azure OpenAI client and uses the Smart Search AI-powered extension to filter items based on the searchQuery:

    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 searchQuery = "furniture";
    var response = await defaultAIExtensionsContainer.SmartSearchAsync(
        new SmartSearchRequest(searchQuery, new List<SmartSearchRequest.ItemInfo>() {
            new SmartSearchRequest.ItemInfo("item1", "chair"),
            new SmartSearchRequest.ItemInfo("item2", "sofa"),
            new SmartSearchRequest.ItemInfo("item3", "knife"),
            new SmartSearchRequest.ItemInfo("item4", "clock"),
            new SmartSearchRequest.ItemInfo("item5", "bed"),
        })
    );
    
    foreach (SmartSearchResponse.ItemInfo info in response.Values)
        Console.WriteLine(string.Format("{0}: {1}", info.Id, info.Value));
    
    /* Output:
     * item1: chair
     * item2: sofa
     * item5: bed
     */
    
    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});
    }
    

    Inheritance

    Object
    DevExpress.AIIntegration.Extensions.BaseResponse
    SmartSearchResponse
    See Also