在信息技术快速迭代的当下,.Net生态中的AntSK项目凭借其前沿的AI知识库和智能体技术,已经吸引了广大开发者的关注和参与。今天,我要给大家介绍的主角,AntSK 0.1.7版本,无疑将是这个开源项目中的一次重大进步——多模型管理功能的引入,为使用者带来了更强大、更灵活的工具。
AntSK简介
在我们深入探讨0.1.7版本的亮点之前,让我们先进行一个简单的复习:AntSK是什么?
AntSK是一个基于.Net平台和AntDesign Blazor框架开发的AI智能体与知识库项目。它依托Semantic Kernel的技术支持,旨在为开发者们提供一个强大、易于使用、可快速开发的AI智能体环境。通过这个项目,开发者可以更加高效地构建和管理智能对话系统,丰富应用程序的交互能力。
https://github.com/xuzeyu91/AntSK
多模型管理功能的新增
随着机器学习和人工智能的不断进步,AI模型多样化已成为一个不可逆转的趋势。为了适应这一趋势,AntSK 0.1.7版本充分利用了Semantic Kernel的强大功能,在系统中加入了模型配置功能。这意味着开发者可以根据需求,轻松配置和管理使用不同的模型,例如OpenAI和Azure OpenAI,或是LLamaSharp支持的本地GGUF模型等。这样的设计,不仅增强了AntSK的灵活性和适应性,也使得开发人员可以在不同应用中测试和比较不同模型的效果。
如何实现多模型管理?
有了新功能的介绍后,我们再来看看具体的实现方法,正是因为有了技术大咖James Yeung的代码贡献,我们才能如此顺利地实现这一创新。
在Semantic Kernel中,提供了一个
Services.AddKeyedSingleton<ITextGenerationService>
的方法,这是我们实现不同模型连接的关键。
我们以TextCompletion类的创建为例,这个类需要继承自ITextGenerationService
和IAIService
接口。在这个类中,我们需要实现两个关键的方法:GetTextContentsAsync
和GetStreamingTextContentsAsync
。通过这些实现,我们便完成了一个模型的连接器。
但这只是第一步,下一步我们需要在创建Semantic Kernel实例时,根据不同模型的类型加载对应的连接器。这一过程通过简单的switch-case实现:
var builder = Kernel.CreateBuilder();
switch (chatModel.AIType)
{
case Model.Enum.AIType.OpenAI:
builder.AddOpenAIChatCompletion(
modelId: chatModel.ModelName,
apiKey: chatModel.ModelKey,
httpClient: chatHttpClient);
break;
case Model.Enum.AIType.AzureOpenAI:
builder.AddAzureOpenAIChatCompletion(
deploymentName: chatModel.ModelName,
apiKey: chatModel.ModelKey,
endpoint: chatModel.EndPoint
);
break;
case Model.Enum.AIType.LLamaSharp:
var (weights, parameters) = LLamaConfig.GetLLamaConfig(chatModel.ModelName);
var ex = new StatelessExecutor(weights, parameters);
builder.Services.AddKeyedSingleton<ITextGenerationService>("local-llama", new LLamaSharpTextCompletion(ex));
break;
case Model.Enum.AIType.SparkDesk:
var options = new SparkDeskOptions { AppId = chatModel.EndPoint, ApiSecret = chatModel.ModelKey, ApiKey = chatModel.ModelName, ModelVersion= Sdcb.SparkDesk.ModelVersion.V3_5 };
builder.Services.AddKeyedSingleton<ITextGenerationService>("spark-desk", new SparkDeskTextCompletion(options, app.Id));
break;
}
未来展望
通过这些简洁而强大的代码实现,AntSK的用户现在可以轻松切换和管理不同的AI模型了。当然,AI技术日新月异,AntSK的开发者们也必将不断迭代升级,以适应这一变化。我们可以期待,在不久的将来,AntSK能够支持更多的AI模型,甚至可以实现AI模型的实时学习与适配。
纵观如今的技术发展,AntSK成为其中的亮点,不仅证明了.Net社区的活力与创新能力,更预示着来自开源世界的明日之星,必将为我们的生活和工作带来更多的灵感和便利。
作为一名技术博主,我对AntSK项目的未来充满信心和期待。而我下一篇文章,可能就是介绍如何将AntSK的这一创新功能应用到一些具体的业务场景中。请期待并关注我的公众号,我将为你带来最前沿的技术动态和深入的技术解析。
结语
通过今天的分享,我希望你能对AntSK的最新版本有了更加深刻的理解,也希望可以激发起你的兴趣,一起参与到这个充满潜力的项目中来。记住,无论你是AI领域的专业人员,还是对人工智能充满好奇的初学者,AntSK项目都欢迎你的加入,和我们一起推动科技的进步。
记住,技术是为了解决问题而存在的。当你拥有了AntSK这样的工具时,你的技术梦想,也许就要成为现实了。
同时也欢迎大家加入我们的 .Net/AI应用开发交流群,可以关注我的公众号,发送进群
敬请期待下一篇博客,我们不见不散!