Semantic Kernel调用DeepSeek实现聊天功能

在上一篇中,我们介绍了如何通过SK访问ollama中部署的大模型,今天我们尝试直接调用deepseek官网api,来实现AI对话功能。

DeepSeek官方API

如果要使用deepseek 官方API,首先我们要注册API访问的账号,然后创建apikey。

在platform页面完成注册,然后点击左侧“API Keys”,创建一个key。

注意:请将key复制后保存在安全的位置,在DeepSeek Platform中key只展示一次!

安装SK和OpenAI Connector

我们使用deepseek提供的兼容openAI的API来进行访问,安装必要的组件:

dotnet add package Microsoft.SemanticKernel
dotnet add package Microsoft.SemanticKernel.Connectors.OpenAI

在上一篇内容中我们知道,第一步要初始化sk:

var skBuilder = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion(
        modelId: openAiConfig.DefaultModel,
        endpoint: new Uri(openAiConfig.BaseUrl),
        apiKey: openAiConfig.ApiKey
    )
    ;
var sk = skBuilder.Build();

参数说明:

  1. modelId: 使用的模型Id,deepseek官网目前提供了两个模型,分别是deepseek-chatdeepseek-reasoner,对应DeepSeek-V3和DeepSeek-R1
  2. endpoint: api的地址,由于我们使用的是兼容OpenAI的API,因此地址使用 https://api.deepseek.com/v1
  3. apiKey: 上一步创建的apikey。注意:一定不要hard-code在代码里!!

发起聊天

在完成sk初始化之后,就可以创建chatService,开始对话了:

var chatService = sk.GetRequiredService<IChatCompletionService>();
var reply = await chatService.GetChatMessageContentAsync(chatHistory,
        executionSettings: executionSettings,
        kernel: sk);

最后,把这些代码放在webapi里面,讨一个UI,效果如下:

以上就是今天要分享的全部内容,感兴趣的朋友可以关注我的公众号 [拓荒者IT] 了解更多内容!

往期推荐:

  1. 使用Ollama本地部署大模型系列(已完结)

  2. 进阶篇-搭建专属的知识库和问答系统—cherryStudio版

  3. 进阶篇-Ollama API 使用指南

👉 持续分享AI工具,AI应用场景,AI学习资源 ❤️

posted @ 2025-04-09 00:44  拓荒者IT  阅读(368)  评论(0)    收藏  举报
皮肤配置 参考地址:https://www.yuque.com/awescnb/user