首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >谁说.Net Framework不支持DeepSeek动态流式返回?

谁说.Net Framework不支持DeepSeek动态流式返回?

作者头像
办公魔盒
发布2025-03-13 21:56:28
发布2025-03-13 21:56:28
11500
代码可运行
举报
文章被收录于专栏:办公魔盒办公魔盒
运行总次数:0
代码可运行

DeepSeek.SDK 适用于VB.NET,C#.NET,.NET CORE等应用程序使用,支持普通对话,流式对话,查询余额,列出模型等接口。并支持.Net FarmeWork流式输出,WinForm,Office Vsto插件,CAD插件,Solid Work插件,CDR插件等应用接入场景。

.NET .NET Framework版本支持

.NET 实现

版本支持

.NET 和.NET Core

2.0, 2.1, 2.2, 3.0, 3.1, 5.0, 6.0, 7.0, 8.0, 9.0

.NET Framework

4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8、4.8.1

Mono

5.4、6.4

Xamarin.iOS

10.14、12.16

Xamarin.Mac

3.8、5.16

Xamarin.Android

8.0、10.0

通用 Windows 平台

10.0.16299,待定

Unity

2018 年 1 月

Nuget链接
代码语言:javascript
代码运行次数:0
运行
复制
https://www.nuget.org/packages/DeepSeek.Sdk
示例代码

VB.NET示例

代码语言:javascript
代码运行次数:0
运行
复制
Module Module1
    '' 多轮对话记录,上一轮的结果
    Private resultMsg As New Text.StringBuilder
    '' 主函数
    Sub Main(arg As String())
        ' api密钥
        Dim apikey As String = "sk-666666666666666666666"
        ' 创建ds对象
        Dim ds As New DeepSeek(apikey)
        Task.Run(Async Function()
                     ' 模型查询
                     'Dim modelList As Model = Await ds.GetModelList()
                     ' 余额查询
                     'Dim ResBalance As Balance = Await ds.GetBalance
                     ''-----------------
                     'Dim chatReq As New ChatRequest With {
                     '    .Messages = New List(Of ChatRequest.MessagesType) From {
                     '       New ChatRequest.MessagesType With {
                     '           .Role = ChatRequest.RoleEnum.System,
                     '           .Content = "你是一个Excel办公助手,仅回答办公相关的内容,其他无关内容忽略。"
                     '       },
                     '       New ChatRequest.MessagesType With {
                     '           .Role = ChatRequest.RoleEnum.User,
                     '           .Content = "你是谁?"
                     '       }
                     '    },
                     '    .Model = ChatRequest.ModelEnum.DeepseekChat
                     '}
                     'Dim chatRes As ChatResponse = Await ds.Chat(chatReq)
                     ''-----------------
                     Dim chatReq As New ChatRequest With {
                         .Messages = New List(Of ChatRequest.MessagesType) From {
                            New ChatRequest.MessagesType With {
                                .Role = ChatRequest.RoleEnum.System,
                                .Content = "你是一个Excel办公助手,仅回答办公相关的内容,其他无关内容忽略。"
                            },
                            New ChatRequest.MessagesType With {
                                .Role = ChatRequest.RoleEnum.Assistant,
                                .Content = resultMsg.ToString
                            },
                            New ChatRequest.MessagesType With {
                                .Role = ChatRequest.RoleEnum.User,
                                .Content = "你是谁?"
                            }
                         },
                         .Model = ChatRequest.ModelEnum.DeepseekChat,
                         .Stream = True
                     }
                     resultMsg.Clear() ''拼接完成则清空,进行下一轮拼接
                     Await ds.ChatStream(chatReq, openedCallBack:=Sub(state As String) ''打开状态
                                                                      Console.WriteLine(state)
                                                                  End Sub,
                                                  closedCallBack:=Sub(state) ''关闭状态
                                                                      Console.WriteLine(state)
                                                                  End Sub,
                                                  msgCallback:=Sub(res As ChatResponse) ''接收信息
                                                                   Dim msg As String = res.Choices.First?.Delta?.Content
                                                                   resultMsg.Append(msg)
                                                                   Console.WriteLine(msg)
                                                               End Sub,
                                                  errorCallback:=Sub(ex As String) ''异常处理
                                                                     Console.WriteLine(ex)
                                                                 End Sub)
                     Await Task.CompletedTask
                 End Function).GetAwaiter().GetResult()
    End Sub
End Module

C#.Net示例代码

代码语言:javascript
代码运行次数:0
运行
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Program
{
    static void Main(string[] args)
    {
        // api密钥
        string apikey = "sk-666666666666666666666";
        // 创建ds对象
        var ds = new DeepSeek(apikey);
        Task.Run(async () =>
        {
            // 模型查询
            // var modelList = await ds.GetModelList();
            // 余额查询
            // var resBalance = await ds.GetBalance();
            //-----------------
            // var chatReq = new ChatRequest
            // {
            //     Messages = new List<ChatRequest.MessagesType>
            //     {
            //         new ChatRequest.MessagesType
            //         {
            //             Role = ChatRequest.RoleEnum.System,
            //             Content = "你是一个Excel办公助手,仅回答办公相关的内容,其他无关内容忽略。"
            //         },
            //         new ChatRequest.MessagesType
            //         {
            //             Role = ChatRequest.RoleEnum.User,
            //             Content = "你是谁?"
            //         }
            //     },
            //     Model = ChatRequest.ModelEnum.DeepseekChat
            // };
            // var chatRes = await ds.Chat(chatReq);
            //-----------------
            var chatReq = new ChatRequest
            {
                Messages = new List<ChatRequest.MessagesType>
                {
                    new ChatRequest.MessagesType
                    {
                        Role = ChatRequest.RoleEnum.System,
                        Content = "你是一个Excel办公助手,仅回答办公相关的内容,其他无关内容忽略。"
                    },
                    new ChatRequest.MessagesType
                    {
                        Role = ChatRequest.RoleEnum.Assistant,
                        Content = resultMsg.ToString()
                    },
                    new ChatRequest.MessagesType
                    {
                        Role = ChatRequest.RoleEnum.User,
                        Content = "你是谁?"
                    }
                },
                Model = ChatRequest.ModelEnum.DeepseekChat,
                Stream = true
            };
            resultMsg.Clear(); // 拼接完成则清空, 进行下一轮拼接
            await ds.ChatStream(chatReq,
                openedCallBack: (state) => // 打开状态
                {
                    Console.WriteLine(state);
                },
                closedCallBack: (state) => // 关闭状态
                {
                    Console.WriteLine(state);
                },
                msgCallback: (res) => // 接收信息
                {
                    string msg = res.Choices.FirstOrDefault()?.Delta?.Content;
                    resultMsg.Append(msg);
                    Console.WriteLine(msg);
                },
                errorCallback: (ex) => // 异常处理
                {
                    Console.WriteLine(ex);
                });
            await Task.CompletedTask;
        }).GetAwaiter().GetResult();
    }
    private static StringBuilder resultMsg = new StringBuilder();
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • .NET .NET Framework版本支持
    • Nuget链接
    • 示例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档