首页 > 其他分享 >界面控件DevExpress中文教程 - 如何拓展具有AI功能的文本编辑器(二)

界面控件DevExpress中文教程 - 如何拓展具有AI功能的文本编辑器(二)

时间:2024-10-12 10:34:58浏览次数:8  
标签:控件 文本编辑 AI DevExpress AIIntegration WinForms Blazor

NLP是人工智能的一个分支,它允许计算机与人类语言进行交互,这包括以有意义/有用的方式理解、解释、生成和回应文本(和语音)的能力。基于NLP的功能允许更好的数据分析、个性化体验、高效的沟通,并导致更明智的决策和提高效率。例如:

  • 机器翻译
  • 文本摘要
  • 文本生成
  • 文本分类
  • 以及更多…

P.S:DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。

在上文中(点击这里回顾>>)我们介绍了如何开始使用DevExpress AI支持的扩展,本文讲继续介绍如何在UI中启用AI驱动的扩展。

获取DevExpress v24.1正式版下载

DevExpress技术交流群10:532598169      欢迎一起进群讨论

开始使用DevExpress AI支持的扩展

在本节中,我将向您展示如何在WinForms、WPF和Blazor的DevExpress UI组件中启用DevExpress AI驱动的扩展。我们设计了不同的方式来与组件交互,并将前面提到的AI功能集成到您的DevExpress驱动的应用程序中。

WinForms — AI文本转换

AI驱动的文本转换扩展(操作)可以附加到以下DevExpress WinForms控件:

安装完DevExpress AI Client NuGet包过后,还需要安装以下DevExpress WinForms NuGet包:

  • DevExpress.AIIntegration.WinForms
  • DevExpress.Win.Design(启用DevExpress WinForms UI控件的设计时功能)

安装完成后,您需要在应用程序启动时注册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中文教程 - 如何拓展具有AI功能的文本编辑器

提示:如果您没有安装DevExpress.AIIntegration.WinForms包,BehaviorManager的智能标签菜单显示 "Register AI-Powered Behaviors",点击它来安装NuGet包(或在 .NET Framework应用程序中的程序集)。

界面控件DevExpress中文教程 - 如何拓展具有AI功能的文本编辑器
WinForms — 智能粘贴

“SmartPaste”是一种人工智能驱动的功能,可以分析复制的信息,并智能地将正确的值分配给DevExpress数据网格中适当的数据字段/行单元格或基于布局控件的表单。

下图演示了这种功能的实际应用:

界面控件DevExpress中文教程 - 如何拓展具有AI功能的文本编辑器
WPF — AI文本转换

对于早期预览版本(v24.2),AI驱动的功能可以在DevExpress WPF RichEdit、SpreadsheetControl和TextEdit组件中启用,并将TextWrapping属性设置为Wrap来实现多行编辑功能。

一旦您安装了一个DevExpress AI Client NuGet包,应该安装以下DevExpress WPF NuGet包:

  • DevExpress.AIIntegration.Wpf
  • DevExpress.Wpf

就像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>
Blazor

一旦您安装了DevExpress AI Client NuGet包,必须安装以下DevExpress Blazor NuGet包:

  • DevExpress.AIIntegration.Web
  • DevExpress.AIIntegration.Blazor.Common
  • DevExpress.AIIntegration.Blazor
  • DevExpress.AIIntegration.Blazor.RichEdit and/or DevExpress.AIIntegration.Blazor.HtmlEditor

在应用程序启动时调用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)上实现。

标签:控件,文本编辑,AI,DevExpress,AIIntegration,WinForms,Blazor
From: https://www.cnblogs.com/AABBbaby/p/18460004

相关文章

  • AI智能写作风潮,未来写作方式更多样化
    AI智能写作风潮,未来写作方式更多样化随着科技的飞速发展,人工智能已经逐渐渗透到我们生活的方方面面。在写作领域,AI智能写作的出现,不仅引发了一场风潮,更是为未来的写作方式带来了无限的可能性。本文将探讨AI智能写作的兴起、其带来的变化,以及未来写作方式的多样化趋势。一、AI智......
  • 浅谈AI人工智能
    初识大模型和Python人工智能定义人工智能(ArtificialIntelligence,AI):用人工的方法,在机器上实现智能人工智能是研究、开发用于模拟、延伸和扩展人的智能理论、方法、技术及应用系统的一门新的技术科学,是计算机科学的一个分支。AI的技术划分机器学习算法机器学习概念是人工智......
  • AI智能写作风潮,未来写作方式更多样化
    AI智能写作风潮,未来写作方式更多样化随着科技的飞速发展,人工智能已经逐渐渗透到我们生活的方方面面。在写作领域,AI智能写作的出现,不仅引发了一场风潮,更是为未来的写作方式带来了无限的可能性。本文将探讨AI智能写作的兴起、其带来的变化,以及未来写作方式的多样化趋势。一、AI智......
  • 深入解析Spring AI框架:在Java应用中实现智能化交互的关键
    今天我们的SpringAI源码分析主题即将结束。我已经对自己感兴趣的基本内容进行了全面的审视,并将这些分析分享给大家。如果你对这个主题感兴趣,可以阅读以下几篇文章。每篇文章都层层递进,深入探讨相关内容。考虑到长文可能让大家感到疲惫,我采用了逐步推进的方式,确保每一篇都简明易懂......
  • 题解 QOJ5048【[ECFinal19K] All Pair Maximum Flow】
    题目描述给你一个\(n\)个点\(m\)条边的图,它是平面上的正\(n\)边形和一些对角线,节点按逆时针方向编号为\(1\)到\(n\)。对角线只可能在节点处相交。每条边有一个容量,求每个点对之间的最大流的和。\(n\leq200000,m\leq400000\)。solution做法每次找出边权最小的边\(......
  • 微软发布Windows 11 2024更新,新型Copilot+ AI PC功能亮相
    前言微软在Windows11的2024更新中加强了对人工智能的应用,推出了新功能Copilot+。此次更新的版本号为26100.1742,Copilot+将首先在WindowsInsider中推出,计划于11月向特定设备和市场推广,用户需开启“尽快获取最新更新”选项以接收此更新。系统获取https://pan.xunlei.com......
  • DevExpress控件安装、汉化使用教程
    前言DevExpress是一个庞大的控件库,也很是好用(没用过,听说),但是要收费。网上关于DevExpress的教程满天飞,我找了一下午也没找到正确的安装、简单实用教程,还是自己摸索吧。自己动手,丰衣足食。安装DevExpress不像其他控件库一样,直接引用或是附加个dll就可以使用,De......
  • 【论文解读】KVQ: Kwai Video Quality Assessment for Short-form Videos
    原文链接:https://arxiv.org/pdf/2402.07220级别:IEEE/CVF机构:快手作者:YitingLu时间:2024可下载地址:KVQ:KwaiVideoQualityAssessmentforShort-formVideos摘要UGC(用户生成内容)短视频平台,如快手(Kwai)和抖音(TikTok),已经成为一种新兴且不可替代的主流媒体形式。......
  • [Paper Reading] HPT: Scaling Proprioceptive-Visual Learning with Heterogeneous P
    目录ScalingProprioceptive-VisualLearningwithHeterogeneousPre-trainedTransformersTL;DRMethodStemTrunkLossHeadExperiment训练资源效果可视化总结与发散相关链接资料查询ScalingProprioceptive-VisualLearningwithHeterogeneousPre-trainedTransformersScaling......
  • 大厂P8,35岁被辞退,欠银行 100 万,靠AI逆袭,月入 10W+
    1、医院陪同产检时的“小焦虑”引发的“大转折”坐在医院产科的候诊区,我紧握着爱人的手,看着她那高高隆起的肚子,仿佛能听到里面小生命的轻声呼唤。37周足月了,孩子即将到来,整个过程充满了甜蜜与期待。她的眼中闪烁着幸福的光芒,似乎对未来有着无限憧憬。然而,在这温馨的时刻,我心中......