谁说.Net Framework不支持DeepSeek动态流式返回?
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运行复制.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 删除模型异常处理DeepSeek插件对象
发布评论