翻譯|使用教程|編輯:龔雪|2024-10-11 15:05:50.030|閱讀 105 次
概述:本文主要介紹界面控件DevExpress v24.2如何完成具有AI功能文本編輯器的擴(kuò)展,歡迎下載最新版組件體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本文重點(diǎn)介紹了DevExpress在近年來最熱門領(lǐng)域——人工智能(AI)和自然語言處理(NLP)的改進(jìn)!
NLP是人工智能的一個(gè)分支,它允許計(jì)算機(jī)與人類語言進(jìn)行交互,這包括以有意義/有用的方式理解、解釋、生成和回應(yīng)文本(和語音)的能力。基于NLP的功能允許更好的數(shù)據(jù)分析、個(gè)性化體驗(yàn)、高效的溝通,并導(dǎo)致更明智的決策和提高效率。例如:
P.S:DevExpress擁有.NET開發(fā)需要的所有平臺(tái)控件,包含600多個(gè)UI控件、報(bào)表平臺(tái)、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。
在上文中()我們介紹了如何開始使用DevExpress AI支持的擴(kuò)展,本文講繼續(xù)介紹如何在UI中啟用AI驅(qū)動(dòng)的擴(kuò)展。
DevExpress技術(shù)交流群10:532598169 歡迎一起進(jìn)群討論
在本節(jié)中,我將向您展示如何在WinForms、WPF和Blazor的DevExpress UI組件中啟用DevExpress AI驅(qū)動(dòng)的擴(kuò)展。我們設(shè)計(jì)了不同的方式來與組件交互,并將前面提到的AI功能集成到您的DevExpress驅(qū)動(dòng)的應(yīng)用程序中。
AI驅(qū)動(dòng)的文本轉(zhuǎn)換擴(kuò)展(操作)可以附加到以下DevExpress WinForms控件:
安裝完DevExpress AI Client NuGet包過后,還需要安裝以下DevExpress WinForms NuGet包:
安裝完成后,您需要在應(yīng)用程序啟動(dòng)時(shí)注冊AI客戶端,DevExpress支持AI的擴(kuò)展在AIExtensionsContainerDesktop容器中運(yùn)行。這個(gè)容器管理所有注冊的AI客戶端,以便DevExpress WinForms UI控件可以自動(dòng)利用適當(dāng)?shù)腁I服務(wù):
AIExtensionsContainerDesktop.Default.RegisterChatClientOpenAIService( new AzureOpenAIClient( new Uri(azureOpenAIEndpoint), new System.ClientModel.ApiKeyCredential(azureOpenAIKey)), deploymentName);
在工具箱中,找到BehaviorManager組件并將其拖放到窗體上。打開控件的智能標(biāo)簽菜單,點(diǎn)擊"Edit Behaviors"。在屏幕上出現(xiàn)的Collection Editor中,創(chuàng)建所需的AI驅(qū)動(dòng)操作,將他們附加到相應(yīng)的UI控件,并配置操作設(shè)置(例如,溫度)。
提示:如果您沒有安裝DevExpress.AIIntegration.WinForms包,BehaviorManager的智能標(biāo)簽菜單顯示 "Register AI-Powered Behaviors",點(diǎn)擊它來安裝NuGet包(或在 .NET Framework應(yīng)用程序中的程序集)。
“SmartPaste”是一種人工智能驅(qū)動(dòng)的功能,可以分析復(fù)制的信息,并智能地將正確的值分配給DevExpress數(shù)據(jù)網(wǎng)格中適當(dāng)?shù)臄?shù)據(jù)字段/行單元格或基于布局控件的表單。
下圖演示了這種功能的實(shí)際應(yīng)用:
對(duì)于早期預(yù)覽版本(v24.2),AI驅(qū)動(dòng)的功能可以在DevExpress WPF RichEdit、SpreadsheetControl和TextEdit組件中啟用,并將TextWrapping屬性設(shè)置為Wrap來實(shí)現(xiàn)多行編輯功能。
一旦您安裝了一個(gè)DevExpress AI Client NuGet包,應(yīng)該安裝以下DevExpress WPF NuGet包:
就像WinForms一樣,在應(yīng)用程序啟動(dòng)時(shí)在AIExtensionsContainerDesktop容器中注冊一個(gè)AI客戶端:
App.xaml.cs
protected override void OnStartup(StartupEventArgs e) {
base.OnStartup(e);
ApplicationThemeHelper.ApplicationThemeName = "Office2019Colorful";
AIExtensionsContainerDesktop.Default.RegisterChatClientOpenAIService(
new AzureOpenAIClient(
new Uri(azureOpenAIEndpoint),
new System.ClientModel.ApiKeyCredential(azureOpenAIKey)),
deploymentName);
}
要在DevExpress WPF組件中啟用AI支持的功能,請(qǐng)?jiān)诔休d它們的窗口中添加以下命名空間:
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm" xmlns:wpf="clr-namespace:DevExpress.AIIntegration.Wpf;assembly=DevExpress.AIIntegration.Wpf.v24.2" xmlns:desktop="clr-namespace:DevExpress.AIIntegration.Desktop;assembly=DevExpress.AIIntegration.Desktop.v24.2"
并以以下方式將操作附加到控件上:
<dxe:TextEdit TextWrapping="Wrap"> <dxmvvm:Interaction.Behaviors> <wpf:SummarizeBehavior/> <wpf:ExplainBehavior/> <wpf:ShortenBehavior/> <wpf:ExpandBehavior /> <wpf:ToneStyleBehavior /> <wpf:ProofreadBehavior/> <wpf:RewriteStyleBehavior/> <wpf:CustomRequestBehavior/> <wpf:TranslateBehavior> <desktop:LanguageInfo Culture="de-DE"/> <desktop:LanguageInfo Culture="es-ES"/> <desktop:LanguageInfo Culture="pt-BR"/> </wpf:TranslateBehavior> </dxmvvm:Interaction.Behaviors> </dxe:TextEdit>
一旦您安裝了DevExpress AI Client NuGet包,必須安裝以下DevExpress Blazor NuGet包:
在應(yīng)用程序啟動(dòng)時(shí)調(diào)用AddDevExpressAI方法為Blazor平臺(tái)注冊AI服務(wù):
Startup.cs:
using DevExpress.AIIntegration;
...
string azureOpenAIEndpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string azureOpenAIKey = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
string deploymentName = "YourModelDeploymentName"
...
builder.Services.AddDevExpressAI((config) => {
var client = new AzureOpenAIClient(
new Uri(azureOpenAIEndpoint),
new AzureKeyCredential(azureOpenAIKey));
config.RegisterChatClientOpenAIService(client, deploymentName);
config.RegisterOpenAIAssistants(client, deploymentName);
});
DxRichEdit 和/或 DxHtmlEditor打開Razor頁面,并聲明如下的AdditionalSettings:
DxHtmlEditor:
@using DevExpress.AIIntegration.Blazor.HtmlEditor
<DxHtmlEditor @bind-Markup="Value" CssClass="my-editor" BindMarkupMode="HtmlEditorBindMarkupMode.OnLostFocus">
<AdditionalSettings>
<SummaryAISettings />
<ExplainAISettings />
<ProofreadAISettings />
<ExpandAISettings />
<ShortenAISettings />
<CustomAISettings />
<RewriteAISettings />
<ToneAISettings />
<TranslateAISettings Languages="@("German, French, Chinese")" />
</AdditionalSettings>
</DxHtmlEditor>
DxRichEdit:
@using DevExpress.AIIntegration.Blazor.RichEdit
@using DevExpress.Blazor.RichEdit
<DxRichEdit DocumentContent="DocumentContent" CssClass="my-editor">
<AdditionalSettings>
<SummaryAISettings />
<ExplainAISettings />
<ProofreadAISettings />
<ExpandAISettings />
<ShortenAISettings />
<CustomAISettings />
<RewriteAISettings />
<ToneAISettings />
<TranslateAISettings Languages="@("German, French, Chinese")" />
</AdditionalSettings>
</DxRichEdit>
為了防止資源繁重的操作(在API成本和處理時(shí)間方面),我們的實(shí)現(xiàn)基于AIIntegration.ChatMaxTokensDefault屬性值自動(dòng)將大的文本塊分成塊(例如,段落、句子、單詞等)。當(dāng)用戶選擇的文本超過定義的限制時(shí),系統(tǒng)會(huì)警告他們不能在單個(gè)操作中處理請(qǐng)求,并且系統(tǒng)會(huì)計(jì)算處理任務(wù)所需的階段數(shù)。對(duì)話框出現(xiàn)后,用戶可以選擇按順序處理文本并逐步查看結(jié)果,也可以選擇同時(shí)完成所有操作。
此功能在所有支持的平臺(tái)(WinForms, WPF和Blazor)上實(shí)現(xiàn)。
更多產(chǎn)品需求,歡迎咨詢“”~
更多DevExpress線上公開課、中文教程資訊請(qǐng)上中文網(wǎng)獲取
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)