外围海尊体育足球网

界面控件DevExpress v24.2新版亮点 - 自定义和扩展AI驱动的扩展

翻译|产品更新|编辑:龚雪|2025-01-13 14:32:57.197|阅读 58 次

概述: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      欢迎一起进群讨论

人工智能(AI)
自定义和扩展AI驱动的扩展

 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);
管理长输入和AI响应

 为了防止资源繁重的操作(在API成本和处理时间方面),新版本的实现基于AIIntegrationChatMaxTokensDefault属性值自动将大型内容分解为可管理的块(包括段落、句子、单词、标点符号和其他文本元素)。当用户选择的文本超过定义的限制时,系统会警告他们不能在单个操作中处理请求,并且系统会计算处理任务所需的阶段数。对话框出现后,用户可以选择按顺序处理文本并逐步查看结果,也可以选择同时完成所有操作。下图演示了该功能的实际操作:

DevExpress v24.2产品图

您还可以使用以下静态API成员来配置文本内容和图像的大小限制:

  • - 指定模型请求可以处理的tokens的最大数量,适用于所有DevExpress AI支持的扩展。
  • - 指定基于聊天的AI扩展的默认温度。
  • - 指定每个文本块中允许的最大字符数。
  • - 指定每个请求的Base64图像的最大大小,以字节为单位。
  • - 指定每个请求的输入文本的最大大小,以字节为单位。
本地化

 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@obta.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
DevExpress Universal Subscription

优秀的界面控件开发包,帮助企业构建卓越应用!

DevExpress DXperience Subscription

高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!

DevExpress WPF Subscription

高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。

DevExpress WinForms Subscription

为Windows Forms平台创建具有影响力的业务解决方案,高性价比WinForms界面控件套包。

DevExpress ASP.NET Controls

多款重量级ASP.NET用户界面组件套包,让您快速开发出完美、强大的应用程序!

title
title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP