翻譯|使用教程|編輯:龔雪|2024-10-11 15:05:50.030|閱讀 97 次
概述:本文主要介紹界面控件DevExpress v24.2如何完成具有AI功能文本編輯器的擴展,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本文重點介紹了DevExpress在近年來最熱門領域——人工智能(AI)和自然語言處理(NLP)的改進!
NLP是人工智能的一個分支,它允許計算機與人類語言進行交互,這包括以有意義/有用的方式理解、解釋、生成和回應文本(和語音)的能力。基于NLP的功能允許更好的數據分析、個性化體驗、高效的溝通,并導致更明智的決策和提高效率。例如:
P.S:DevExpress擁有.NET開發需要的所有平臺控件,包含600多個UI控件、報表平臺、DevExpress Dashboard eXpressApp 框架、適用于 Visual Studio的CodeRush等一系列輔助工具。
在上文中()我們介紹了如何開始使用DevExpress AI支持的擴展,本文講繼續介紹如何在UI中啟用AI驅動的擴展。
DevExpress技術交流群10:532598169 歡迎一起進群討論
在本節中,我將向您展示如何在WinForms、WPF和Blazor的DevExpress UI組件中啟用DevExpress AI驅動的擴展。我們設計了不同的方式來與組件交互,并將前面提到的AI功能集成到您的DevExpress驅動的應用程序中。
AI驅動的文本轉換擴展(操作)可以附加到以下DevExpress WinForms控件:
安裝完DevExpress AI Client NuGet包過后,還需要安裝以下DevExpress WinForms NuGet包:
安裝完成后,您需要在應用程序啟動時注冊AI客戶端,DevExpress支持AI的擴展在AIExtensionsContainerDesktop容器中運行。這個容器管理所有注冊的AI客戶端,以便DevExpress WinForms UI控件可以自動利用適當的AI服務:
AIExtensionsContainerDesktop.Default.RegisterChatClientOpenAIService( new AzureOpenAIClient( new Uri(azureOpenAIEndpoint), new System.ClientModel.ApiKeyCredential(azureOpenAIKey)), deploymentName);
在工具箱中,找到BehaviorManager組件并將其拖放到窗體上。打開控件的智能標簽菜單,點擊"Edit Behaviors"。在屏幕上出現的Collection Editor中,創建所需的AI驅動操作,將他們附加到相應的UI控件,并配置操作設置(例如,溫度)。
提示:如果您沒有安裝DevExpress.AIIntegration.WinForms包,BehaviorManager的智能標簽菜單顯示 "Register AI-Powered Behaviors",點擊它來安裝NuGet包(或在 .NET Framework應用程序中的程序集)。
“SmartPaste”是一種人工智能驅動的功能,可以分析復制的信息,并智能地將正確的值分配給DevExpress數據網格中適當的數據字段/行單元格或基于布局控件的表單。
下圖演示了這種功能的實際應用:
對于早期預覽版本(v24.2),AI驅動的功能可以在DevExpress WPF RichEdit、SpreadsheetControl和TextEdit組件中啟用,并將TextWrapping屬性設置為Wrap來實現多行編輯功能。
一旦您安裝了一個DevExpress AI Client NuGet包,應該安裝以下DevExpress WPF NuGet包:
就像WinForms一樣,在應用程序啟動時在AIExtensionsContainerDesktop容器中注冊一個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支持的功能,請在承載它們的窗口中添加以下命名空間:
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包:
在應用程序啟動時調用AddDevExpressAI方法為Blazor平臺注冊AI服務:
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成本和處理時間方面),我們的實現基于AIIntegration.ChatMaxTokensDefault屬性值自動將大的文本塊分成塊(例如,段落、句子、單詞等)。當用戶選擇的文本超過定義的限制時,系統會警告他們不能在單個操作中處理請求,并且系統會計算處理任務所需的階段數。對話框出現后,用戶可以選擇按順序處理文本并逐步查看結果,也可以選擇同時完成所有操作。
此功能在所有支持的平臺(WinForms, WPF和Blazor)上實現。
更多產品需求,歡迎咨詢“”~
更多DevExpress線上公開課、中文教程資訊請上中文網獲取
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網