编辑
2025-09-27
C#
00

目录

什么是 Semantic Kernel?
Ollama 简介
环境准备
安装必要的 NuGet 包
创建聊天完成服务
运行示例
结论
进一步阅读

在现代软件开发领域,集成人工智能服务已成为增强应用程序智能化水平的关键策略。本文档旨在详尽阐述如何在 C# 环境下利用 Semantic Kernel 框架调用 Ollama,旨在帮助开发者迅速掌握并实现对话功能。我们将提供示例代码及详尽注释,以确保每一个步骤都具备高度的可理解性。

什么是 Semantic Kernel?

Semantic Kernel 是一个强大的框架,旨在简化与各种 AI 服务的集成。它支持多种 AI 模型,包括 OpenAI、Google、Mistral 等。通过 Semantic Kernel,开发者可以轻松创建聊天机器人、自动化代理等应用。

Ollama 简介

Ollama 是一个开源的 AI 模型管理工具,允许开发者在本地运行和调用各种 AI 模型。通过与 Semantic Kernel 的结合,开发者可以利用 Ollama 提供的模型来实现复杂的对话功能。

环境准备

在开始之前,请确保您的开发环境中已安装以下组件:

  • .NET SDK
  • Visual Studio 或其他 C# 开发工具
  • Ollama(请参考 Ollama 官方文档 进行安装)

安装必要的 NuGet 包

在您的项目中,您需要安装 Semantic Kernel 的相关 NuGet 包。可以通过 NuGet 包管理器控制台运行以下命令:

Bash
dotnet add package Microsoft.SemanticKernel.Connectors.Ollama --prerelease

image.png

创建聊天完成服务

接下来,我们将创建一个简单的聊天完成服务,使用 Ollama 模型进行对话。以下是完整的示例代码:

C#
#pragma warning disable SKEXP0070 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; namespace AppOllama { internal class Program { static async Task Main(string[] args) { var builder = Kernel.CreateBuilder(); var modelId = "deepseek-r1:1.5b"; var endpoint = new Uri("http://127.0.0.1:11434"); builder.Services.AddOllamaChatCompletion(modelId, endpoint); Kernel kernel = builder.Build(); StartChat(kernel); Console.ReadKey(); } static async void StartChat(Kernel kernel) { var chatCompletionService = kernel.GetRequiredService<IChatCompletionService>(); Console.WriteLine("欢迎使用 Ollama 聊天机器人!输入 'exit' 结束对话。"); string userInput; do { Console.Write("你:"); userInput = Console.ReadLine(); if (userInput.ToLower() != "exit") { // 调用聊天完成服务 var response = await chatCompletionService.GetChatMessageContentAsync(userInput); Console.WriteLine($"机器人:{response}"); } } while (userInput.ToLower() != "exit"); } } }

注意:#pragma warning disable SKEXP0070 这个一定要加上,因为现在这个库还是pre期。

运行示例

确保 Ollama 服务正在运行,然后编译并运行您的 C# 程序。您将看到一个简单的命令行界面,您可以与聊天机器人进行对话。

image.png

结论

通过本指南,您已经学习了如何在 C# 中使用 Semantic Kernel 调用 Ollama 模型。这个过程不仅简单,而且可以扩展到更复杂的应用场景中。希望这篇文章能帮助您在项目中顺利集成 AI 功能!

进一步阅读

通过以上内容,您可以轻松实现与 Ollama 的集成,并为您的应用程序增添智能对话功能。希望您在开发过程中取得成功!

本文作者:技术老小子

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!