在資訊科技快速迭代的當下,.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應用開發交流群,可以關注我的公眾號<許澤宇的技術分享>,傳送進群