郭卫东 发表于 2025-4-9 00:02:07

Semantic Kernel调用DeepSeek实现聊天功能

在上一篇中,我们介绍了如何通过SK访问ollama中部署的大模型,本日我们尝试直接调用deepseek官网api,来实现AI对话功能。
https://img2024.cnblogs.com/blog/44814/202504/44814-20250409004315826-1627703456.png
DeepSeek官方API

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

[*]DeepSeek Platform地址:https://platform.deepseek.com/
[*]DeepSeek API文档地址:https://api-docs.deepseek.com/zh-cn/
https://img2024.cnblogs.com/blog/44814/202504/44814-20250409004315111-1011902596.png
在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();参数说明:

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

在完成sk初始化之后,就可以创建chatService,开始对话了:
var chatService = sk.GetRequiredService<IChatCompletionService>();
var reply = await chatService.GetChatMessageContentAsync(chatHistory,
      executionSettings: executionSettings,
      kernel: sk);最后,把这些代码放在webapi内里,讨一个UI,结果如下:
https://img2024.cnblogs.com/blog/44814/202504/44814-20250409004315128-596320707.png
以上就是本日要分享的全部内容,感爱好的朋友可以关注我的公众号 [拓荒者IT] 了解更多内容!
往期保举:

[*]利用Ollama本地部署大模型系列(已完结)
[*]进阶篇-搭建专属的知识库和问答系统—cherryStudio版
[*]进阶篇-Ollama API 利用指南


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Semantic Kernel调用DeepSeek实现聊天功能