前言
我們可以透過LM Studio下載 LLM Model 在 Local 測試。
透過 Sementic Kernel 要如何使用 LM Studio 啟動的 Server 呢?
實作
在LM Studio,下載 phi-2 來測試。

下載完成後,可以點選左側AI Chat,選擇下載的phi 2 3B Q4_KS ggufModel 來進行測試。

如果要起 Local Server ,則要按左側Local Server,再按下Start Server,
就可以看到 Service 的 Endpoint,如下,

因為我們用的是 Chat ,所以 Endpoint 是 http://localhost:1234/v1/chat/completions
,
而 apikey 則是lm-studio
,有了這些資訊,就可以開始透過Semantic Kernel
連到 Local LLM Server。
因為 Endpoint 與 Azure AOAI 不同,所以我們要建立 HttpHandler 來將 URL 改成正確的,如下,
1 | public class LocalLLMHttpHandler(string url) : HttpClientHandler |
所以透過KernelBuilder.AddAzureOpenAIChatCompletion
時,
要傳入有設定LocalLLMHttpHandler
的HttpClient
就可以了,如下,
1 | var deploymentName = "localLLM"; |
執行結果如下,

參考資源
Connecting to Local LLM Server with Microsoft Semantic Kernel
Chat Service demo running Phi-2 LLM locally with Semantic Kernel
一隻手拿五枝花,一隻手拿六枝花(五花打六花): 喻雙方旗鼓相當,相差不遠。