<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Loading

      使用 SemanticKernel 對接 Ollma

      前面的 2 篇文章已經介紹了 ollama 的基本情況。我們也已經能在本地跟 LLM 進行聊天了。但是如何使用代碼跟 LLM 進行交互呢?如果是 C# 選手那自然是使用 SK (SemanticKernel) 了。在這篇博客中,我們將探討如何使用 Microsoft 的 SemanticKernel 框架對接 Ollama 的聊天服務。我們將通過一個簡單的 C# 控制臺應用程序來展示如何實現這一點。

      前提條件

      在本地安裝 ollama 服務,并且安裝至少一個模型,這次我們的模型是 llama3.1:8b。具體如何安裝就不贅述了,請參考以往文章:

      安裝 SK 及 ollama connector

      首先在本地創建一個 Console 項目,然后安裝以下包:

      dotnet add package Microsoft.SemanticKernel --version 1.21.1
      dotnet add package Microsoft.SemanticKernel.Connectors.Ollama --version 1.21.1-alpha
      

      注意:ollama connector 還是 alpha 版本,請勿用于生產

      修改 Program 文件

      添加命名空間

      首先,我們需要引入一些必要的命名空間:

      using Microsoft.Extensions.DependencyInjection;
      using Microsoft.SemanticKernel;
      using Microsoft.SemanticKernel.ChatCompletion;
      using Microsoft.SemanticKernel.Connectors.Ollama;
      
      

      配置 Ollama 服務

      接下來,我們需要配置 Ollama 服務的端點和模型 ID ,并添加 Ollama 的聊天服務:

      var endpoint = new Uri("http://localhost:11434");
      var modelId = "llama3.1:8b";
      
      var builder = Kernel.CreateBuilder();
      #pragma warning disable SKEXP0070 
      builder.Services.AddScoped<IChatCompletionService>(_ => new OllamaChatCompletionService(modelId, endpoint));
      
      

      注意:OllamaChatCompletionService 為實驗性質所以我們需求手工關閉 SKEXP0070 的警告

      獲取聊天服務

      var chatService = kernel.GetRequiredService<IChatCompletionService>();
      var history = new ChatHistory();
      history.AddSystemMessage("This is a llama3 assistant ...");
      
      

      聊天循環

      最后,我們實現一個簡單的聊天循環,讀取用戶輸入并獲取 Ollama 的回復:

      while (true)
      {
          Console.Write("You:");
      
          var input = Console.ReadLine();
      
          if (string.IsNullOrWhiteSpace(input))
          {
              break;
          }
      
          history.AddUserMessage(input);
      
          var contents = await chatService.GetChatMessageContentsAsync(history);
      
          foreach (var chatMessageContent in contents)
          {
              var content = chatMessageContent.Content;
              Console.WriteLine($"Ollama: {content}");
              history.AddMessage(chatMessageContent.Role, content ?? "");
          }
      }
      
      

      試一下

      讓我們運行項目在 Console 中跟 ollama 進行對話吧。

      總結

      通過這篇博客,我們展示了如何使用 Microsoft 的 SemanticKernel 框架對接 Ollama 的聊天服務。希望這篇博客能幫助您更好地理解和使用這些工具。如果您有任何問題或建議,請隨時在評論區留言。

      關注我的公眾號一起玩轉技術

      posted @ 2024-12-06 00:30  Agile.Zhou  閱讀(1412)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 欧美日本国产va高清cabal| аⅴ天堂国产最新版在线中文| 久久综合久中文字幕青草| 亚洲一区av无码少妇电影| 国内精品视这里只有精品| 亚洲欧美人成电影在线观看 | 国产999久久高清免费观看| 欧美牲交40_50a欧美牲交aⅴ| 亚洲乱码国产乱码精品精| 亚洲av成人无码天堂| 亚洲精品久久久久玩吗| 国产精品无遮挡猛进猛出| 日本一区二区三区免费播放视频站| 民和| 色偷偷成人综合亚洲精品| 成人做受120秒试看试看视频 | 日韩一区二区三区日韩精品| 国产成人久久精品一区二区| 亚洲熟妇丰满多毛xxxx| 国产一区二区黄色在线观看| 免费现黄频在线观看国产| 无码精品人妻一区二区三区中 | 成人精品自拍视频免费看| 精品一区二区亚洲国产| 亚洲精品一区二区三区中文字幕| 狼人大伊人久久一区二区| 四川丰满少妇无套内谢| 国产福利一区二区三区在线观看| 国产成人综合久久亚洲精品| 起碰免费公开97在线视频| 峨眉山市| 国产熟睡乱子伦视频在线播放| av大片| 国产精品中文字幕免费| 国产视频 视频一区二区| 激情综合网激情五月激情| 国产成人无码A区在线观| 另类 专区 欧美 制服| 18禁亚洲一区二区三区| 欧美日韩国产码高清| 亚洲AV乱码毛片在线播放|