首页 > 其他分享 >NET8利用SemanticKernel对接DeepSeek

NET8利用SemanticKernel对接DeepSeek

时间:2025-01-20 16:12:34浏览次数:1  
标签:Console DeepSeek new chatHistory Add NET8 var using SemanticKernel

 1 using MarkdownSharp;
 2 using Microsoft.Extensions.Hosting;
 3 using Microsoft.SemanticKernel;
 4 using OpenAI;
 5 using OpenAI.Chat;
 6 using System.ClientModel;
 7 using System.Text;
 8 
 9 var builder = Host.CreateApplicationBuilder(args);
10 //builder.Services.AddKernel();
11 var openAIClientCredential = new ApiKeyCredential("sk-Key");
12 var openAIClientOption = new OpenAIClientOptions
13 {
14     Endpoint = new Uri("https://api.deepseek.com/v1"),
15 
16 };
17 var openapiClient = new OpenAIClient(openAIClientCredential, openAIClientOption);
18 //这里添加对那个表示的模型,可以添加很多,可以做一个选择器
19 builder.Services.AddOpenAIChatCompletion("deepseek-chat", openapiClient, "对话serviceId");
20 var host = builder.Build();
21 Console.ForegroundColor = ConsoleColor.White;
22 Console.WriteLine("DeepSeek:你好,有什么是我能帮你的吗?");
23 
24 List<ChatMessage> chatHistory = new List<ChatMessage>();
25 var systemContent = ChatMessage.CreateSystemMessage("你是很好的助手");
26 chatHistory.Add(systemContent);
27 
28 var settingOptions = new ChatCompletionOptions
29 {
30     //输出最大token
31     MaxOutputTokenCount = 4096,
32 
33     #region 不能同时设置
34     //采样温度,介于 0 和 2 之间。更高的值,如 0.8,会使输出更随机,而更低的值,如 0.2,会使其更加集中和确定。 我们通常建议可以更改这个值或者更改 top_p,但不建议同时对两者进行修改。
35     //Temperature = 0,
36     //TopP = 0 
37     #endregion
38    // ToolChoice = ChatToolChoice.CreateFunctionChoice("信息查询")
39 };
40 //settingOptions.Tools.Add(ChatTool.CreateFunctionTool("信息查询", "通过这个来查询系统内容", BinaryData.Empty));
41 
42 var client = openapiClient.GetChatClient("deepseek-chat");
43 while (true)
44 {
45 
46     Console.ForegroundColor = ConsoleColor.Yellow;
47     Console.Write("你: ");
48     var userInput = Console.ReadLine();
49     if (string.IsNullOrEmpty(userInput)) break;
50     var inputmsg = ChatMessage.CreateUserMessage(userInput);
51     chatHistory.Add(inputmsg);
52 
53     #region 1、流输出
54 
55     var clientResult = client.CompleteChatStreaming(chatHistory, settingOptions);
56     if (clientResult != null)
57     {
58         Console.ForegroundColor = ConsoleColor.White;
59         Console.Write("DeepSeek:");
60         StringBuilder sb = new StringBuilder();
61         foreach (var item in clientResult)
62         {
63             var text = item.ContentUpdate.FirstOrDefault()?.Text;
64             sb.Append(text);
65             Console.Write(text);
66         }
67         var assistant = ChatMessage.CreateAssistantMessage(sb.ToString());
68         chatHistory.Add(assistant);
69         Console.WriteLine();
70        
71     }
72 
73 
74 
75     #endregion
76 
77 
78 
79 
80 }

 

标签:Console,DeepSeek,new,chatHistory,Add,NET8,var,using,SemanticKernel
From: https://www.cnblogs.com/liyouming/p/18681618

相关文章

  • 远铂DIY官网系统AI助手新增支持DeepSeek-V3 AI模型接口
            近日,量化巨头幻方量化的子公司深度求索(DeepSeek)发布了全新系列模型DeepSeek-V3,并同步开源。这一事件迅速引爆AI圈,DeepSeek-V3不仅霸榜开源模型,更在性能上与全球顶尖闭源模型GPT-4o和Claude-3.5-Sonnet不相上下。    更令人瞩目的是,该模型的训练成本仅......
  • 手把手教你使用PySide6搭建AI聊天界面,使用DeepSeek大模型接口
    目录前言一、DeepSeek注册与使用二、安装环境三、界面设计四、后端实现1.QTextEdit输入控件实现2.API请求与响应处理3.消息显示与时间显示4.实现头像绘制和文本的绘制5.更换头像五、完整源码下载和使用方法总结前言随着深度学习和自然语言处理技术的不断进步,问答......
  • DeepSeek-V3 的 MoE 架构解析:细粒度专家与高效模型扩展
    DeepSeek-V3采用的DeepSeekMoE架构,通过细粒度专家、共享专家和Top-K路由策略,实现了模型容量的高效扩展。每个MoE层包含1个共享专家和256个路由专家,每个Token选择8个路由专家,最多路由至4个节点。这种稀疏激活的机制,使得DeepSeek-V3能够在不显著增加计算成本的......
  • DeepSeek Artifacts:前端开发的新利器
    DeepSeekArtifacts:前端开发的新利器人工智能领域创新不断,DeepSeekV3便是其中备受瞩目的工具之一。这款轻量级模型凭借在大语言模型(LLM)排行榜上的优异表现,以及亲民的价格和卓越的性能,在人工智能社区中广受关注。然而,它的姊妹工具DeepSeekArtifacts却因截然不同的缘由引发了热......
  • DeepSeek V3:AI 模型的游戏规则改变者
    DeepSeekV3:AI模型的游戏规则改变者什么是DeepSeekV3?DeepSeekV3是一款具有革命性的混合专家(MoE)模型,总参数达6710亿,每个标记激活370亿参数。MoE方法允许多个专门模型(即“专家”)在门控网络下协同工作,门控网络为每个输入选择最佳“专家”。这实现了高效推理和具有成本效益的训......
  • DeepSeek推出搭载V3大模型App:开启智能应用新时代 
     科技浪潮下的创新突破 在当今科技飞速发展的时代,人工智能(AI)无疑是最为耀眼的领域之一。从早期简单的算法模型,到如今能够模拟人类思维、进行复杂任务处理的大型语言模型,AI的进化历程令人瞩目。而在这一进程中,DeepSeek推出的搭载V3大模型的App,宛如一颗璀璨的新星,为智能应用......
  • 深入探索 DeepSeek V3:四大创新的详细解读
    在人工智能领域,语言模型的进化从未停止,而DeepSeekV3的出现无疑是一次重要的飞跃。这款拥有6710亿参数的Mixture-of-Experts(MoE)模型,不仅在性能上超越了许多开源模型,还通过一系列独特的技术创新重新定义了大规模语言模型的训练和推理方式。本文将详细解析DeepSeek......
  • 深入探索 DeepSeek-V3 的算法创新:Multi-head Latent Attention 的实现与细节
    引言在当今的大规模语言模型(LLM)领域,随着模型参数规模的指数级增长,如何在保证性能的同时优化计算效率和内存使用成为了一个核心挑战。DeepSeek-V3模型以其创新的架构和训练策略脱颖而出,其中Multi-headLatentAttention(MLA)是其关键技术之一。MLA的引入不仅解决了传统......
  • 基于.NET8.0实现RabbbitMQ的Publish/Subscribe发布订阅以及死信队列
    本文github源码附上:https://github.com/yangshuqi1201/RabbitMQ.Core【前言】RabbitMQ提供了五种消息模型,分别是简单模型、工作队列模型、发布/订阅模型、路由模型和主题模型。‌‌简单模型(Simple)‌:在这种模式下,一个生产者将消息发送到一个队列,只有一个消费者监听并处理该队......
  • Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
    DeepSeek-V3实在是太便宜了,就跟不要钱似的:每百万输入tokens0.1元(缓存命中)/1元(缓存未命中),每百万输出tokens2元跟其他模型相比,DeepSeek-V3的性价比非常高,只能用“真香”来形容。Sealos推出的AI聚合代理服务SealosAIProxy为用户提供了便捷的AI模型访......