在现代软件开发领域,集成人工智能服务已成为增强应用程序智能化水平的关键策略。本文档旨在详尽阐述如何在 C# 环境下利用 Semantic Kernel 框架调用 Ollama,旨在帮助开发者迅速掌握并实现对话功能。我们将提供示例代码及详尽注释,以确保每一个步骤都具备高度的可理解性。
Semantic Kernel 是一个强大的框架,旨在简化与各种 AI 服务的集成。它支持多种 AI 模型,包括 OpenAI、Google、Mistral 等。通过 Semantic Kernel,开发者可以轻松创建聊天机器人、自动化代理等应用。
Ollama 是一个开源的 AI 模型管理工具,允许开发者在本地运行和调用各种 AI 模型。通过与 Semantic Kernel 的结合,开发者可以利用 Ollama 提供的模型来实现复杂的对话功能。
在开始之前,请确保您的开发环境中已安装以下组件:
在您的项目中,您需要安装 Semantic Kernel 的相关 NuGet 包。可以通过 NuGet 包管理器控制台运行以下命令:
Bashdotnet add package Microsoft.SemanticKernel.Connectors.Ollama --prerelease
接下来,我们将创建一个简单的聊天完成服务,使用 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# 程序。您将看到一个简单的命令行界面,您可以与聊天机器人进行对话。
通过本指南,您已经学习了如何在 C# 中使用 Semantic Kernel 调用 Ollama 模型。这个过程不仅简单,而且可以扩展到更复杂的应用场景中。希望这篇文章能帮助您在项目中顺利集成 AI 功能!
通过以上内容,您可以轻松实现与 Ollama 的集成,并为您的应用程序增添智能对话功能。希望您在开发过程中取得成功!
本文作者:技术老小子
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!