翻譯|產品更新|編輯:龔雪|2025-01-13 14:32:57.197|閱讀 102 次
概述:DevExpress官方已正式發布v24.2,新版本針對人工智能(AI)方面的功能做了著重加強,歡迎下載最新版產品體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress擁有.NET開發需要的所有平臺控件,包含600多個UI控件、報表平臺、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。屢獲大獎的軟件開發平臺DevExpress 今年第一個重要版本v23.1正式發布,該版本擁有眾多新產品和數十個具有高影響力的功能,可為桌面、Web和移動應用提供直觀的解決方案,全面解決各種使用場景問題。
DevExpress官方已正式發布v24.2,新版本針對人工智能(AI)方面的功能做了著重加強,歡迎下載最新版產品體驗!
DevExpress技術交流群11:749942875 歡迎一起進群討論
DevExpress v24.2的AI驅動擴展附帶默認提示——官方鼓勵您根據需要自定義這些提示,下面的例子創建了一個定制的WilliamShakespeareStyleExtension(基于ProofreadExtension),要定制提示符,覆蓋GetSystemPrompt方法:
C#
public class WilliamShakespeareStyleExtension : ProofreadExtension { public WilliamShakespeareStyleExtension(IServiceProvider serviceProvider) : base(serviceProvider) { } protected override string GetSystemPrompt(ProofreadRequest request) { return "Rewrite this text using a William Shakespeare style."; } }
要替換校對擴展的默認實現,請使用Register方法:
WinForms/WPF
AIExtensionsContainerDesktop.Default.Register<ProofreadRequest, WilliamShakespeareStyleExtension>();
Blazor/ASP.NET Core
builder.Services.AddDevExpressAI(); builder.Services.GetService<IAIExtensionsContainer>().Register<ProofreadRequest, WilliamShakespeareStyleExtension>();
要實現您自己的AI擴展,創建一個TextRequest和ChangeTextExtension類的后代:
WinForms/WPF
public class AuthoredStyleRequest : TextRequest { public AuthoredStyleRequest(string Author, string Text) : base(Text) { this.Author = Author; } public string Author { get; init; } } public class AuthoredStyleExtension : ChangeTextExtension<AuthoredStyleRequest> { public AuthoredStyleExtension(IServiceProvider serviceProvider) : base(serviceProvider) { } protected override string GetSystemPrompt(AuthoredStyleRequest request) { return $"Rewrite this text in the {request.Author} style"; } } //This extension method allows you to resolve the extension from the extensions container at runtime public static class CustomAIIntegration { public static AuthoredStyleExtension CreateAuthoredStyleExtension(this IAIExtensionsContainer container){ return (AuthoredStyleExtension)container.GetExtension(typeof(AuthoredStyleRequest)); } }
注冊擴展:
WinForms/WPF
AIExtensionsContainerDesktop.Default.Register<AuthoredStyleRequest, AuthoredStyleExtension>();
Blazor/ASP.NET Core
builder.Services.AddDevExpressAI(); builder.Services.GetService<IAIExtensionsContainer>().Register<AuthoredStyleRequest, AuthoredStyleExtension>();
要在運行時調用自定義擴展,請使用以下代碼片段:
WinForms/WPF
AuthoredStyleExtension extension = AIExtensionsContainerDesktop.Default.CreateAuthoredStyleExtension(); var request = new AuthoredStyleRequest("Mark Twain", textToModify); //You can also set up the Temperature variable that will be used to execute this particular request request.Options.Temperature = 0.9f; string result = await extension.ExecuteAsync(request, CancellationToken.None);
Blazor/ASP.NET Core
AuthoredStyleExtension extension = builder.Services.GetService<IAIExtensionsContainer>().CreateAuthoredStyleExtension(); var request = new AuthoredStyleRequest("Mark Twain", textToModify); //You can also set up the Temperature variable that will be used to execute this particular request request.Options.Temperature = 0.9f; string result = await extension.ExecuteAsync(request, CancellationToken.None);
為了防止資源繁重的操作(在API成本和處理時間方面),新版本的實現基于AIIntegrationChatMaxTokensDefault屬性值自動將大型內容分解為可管理的塊(包括段落、句子、單詞、標點符號和其他文本元素)。當用戶選擇的文本超過定義的限制時,系統會警告他們不能在單個操作中處理請求,并且系統會計算處理任務所需的階段數。對話框出現后,用戶可以選擇按順序處理文本并逐步查看結果,也可以選擇同時完成所有操作。下圖演示了該功能的實際操作:
您還可以使用以下靜態API成員來配置文本內容和圖像的大小限制:
DevExpress AI支持的擴展可以本地化,通過本地化AI支持的擴展,您可以修改用戶界面元素和預定義內容,以滿足語言和文化偏好,還可以根據區域偏好自定義提示(例如,在使用單語言AI模型時)。
要顯示用戶友好的錯誤消息(從AI服務發送請求/接收響應時遇到的錯誤),實現IAIExceptionHandler接口并使用RegisterAIExceptionHandler方法在中注冊它:
C#
using DevExpress.AIIntegration; using DevExpress.AIIntegration.Extensions; public class AIExceptionHandler : IAIExceptionHandler { private readonly ILogger _logger; public AIExceptionHandler(ILogger logger) { this._logger = logger; } public Exception ProcessException(Exception exception) { _logger.LogInformation($"An error occurred: {exception.Message}"); return new Exception ("Something went wrong. Please try again later.", exception); } }
WinForms/WPF
AIExtensionsContainerDesktop.Default.RegisterAIExceptionHandler(new AIExceptionHandler(new MyFavoriteLogger()));
Blazor/ASP.NET Core
builder.Services.AddSingleton<IAIExceptionHandler>(new AIExceptionHandler(new MyFavoriteLogger()));
更多產品更新咨詢,請
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網