翻譯|產(chǎn)品更新|編輯:龔雪|2025-01-13 14:32:57.197|閱讀 116 次
概述:DevExpress官方已正式發(fā)布v24.2,新版本針對人工智能(AI)方面的功能做了著重加強(qiáng),歡迎下載最新版產(chǎn)品體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
DevExpress擁有.NET開發(fā)需要的所有平臺控件,包含600多個UI控件、報表平臺、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。屢獲大獎的軟件開發(fā)平臺DevExpress 今年第一個重要版本v23.1正式發(fā)布,該版本擁有眾多新產(chǎn)品和數(shù)十個具有高影響力的功能,可為桌面、Web和移動應(yīng)用提供直觀的解決方案,全面解決各種使用場景問題。
DevExpress官方已正式發(fā)布v24.2,新版本針對人工智能(AI)方面的功能做了著重加強(qiáng),歡迎下載最新版產(chǎn)品體驗!
DevExpress技術(shù)交流群11:749942875 歡迎一起進(jìn)群討論
DevExpress v24.2的AI驅(qū)動擴(kuò)展附帶默認(rèn)提示——官方鼓勵您根據(jù)需要自定義這些提示,下面的例子創(chuàng)建了一個定制的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.";
}
}
要替換校對擴(kuò)展的默認(rèn)實現(xiàn),請使用Register方法:
WinForms/WPF
AIExtensionsContainerDesktop.Default.Register<ProofreadRequest, WilliamShakespeareStyleExtension>();
Blazor/ASP.NET Core
builder.Services.AddDevExpressAI(); builder.Services.GetService<IAIExtensionsContainer>().Register<ProofreadRequest, WilliamShakespeareStyleExtension>();
要實現(xiàn)您自己的AI擴(kuò)展,創(chuàng)建一個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));
}
}
注冊擴(kuò)展:
WinForms/WPF
AIExtensionsContainerDesktop.Default.Register<AuthoredStyleRequest, AuthoredStyleExtension>();
Blazor/ASP.NET Core
builder.Services.AddDevExpressAI(); builder.Services.GetService<IAIExtensionsContainer>().Register<AuthoredStyleRequest, AuthoredStyleExtension>();
要在運行時調(diào)用自定義擴(kuò)展,請使用以下代碼片段:
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成本和處理時間方面),新版本的實現(xiàn)基于AIIntegrationChatMaxTokensDefault屬性值自動將大型內(nèi)容分解為可管理的塊(包括段落、句子、單詞、標(biāo)點符號和其他文本元素)。當(dāng)用戶選擇的文本超過定義的限制時,系統(tǒng)會警告他們不能在單個操作中處理請求,并且系統(tǒng)會計算處理任務(wù)所需的階段數(shù)。對話框出現(xiàn)后,用戶可以選擇按順序處理文本并逐步查看結(jié)果,也可以選擇同時完成所有操作。下圖演示了該功能的實際操作:
 
 
您還可以使用以下靜態(tài)API成員來配置文本內(nèi)容和圖像的大小限制:
DevExpress AI支持的擴(kuò)展可以本地化,通過本地化AI支持的擴(kuò)展,您可以修改用戶界面元素和預(yù)定義內(nèi)容,以滿足語言和文化偏好,還可以根據(jù)區(qū)域偏好自定義提示(例如,在使用單語言AI模型時)。
要顯示用戶友好的錯誤消息(從AI服務(wù)發(fā)送請求/接收響應(yīng)時遇到的錯誤),實現(xiàn)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()));
更多產(chǎn)品更新咨詢,請
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)