Ater.DeepSeek.AspNetCore 是专为 .NET 开发者设计的 SDK,旨在简化与 DeepSeek AI 平台的集成,使开发者能够快速构建和部署基于自然语言处理的应用程序。
DeepSeek SDK for .NET 的出现,就像是为.NET 开发者打开了一扇通往人工智能世界的便捷之门 。它旨在极大地简化与 DeepSeek AI 平台的集成流程,让开发者无需花费大量时间和精力去研究复杂的 API 接口和通信协议,就能轻松地将 DeepSeek 的先进技术融入到自己的.NET 项目中。凭借这个 SDK,开发者能够快速构建和部署基于自然语言处理的应用程序,实现从简单的文本处理功能到复杂的智能聊天机器人、智能客服系统等应用的开发,为用户提供更加智能、便捷的交互体验。
Ater.DeepSeek.AspNetCore 功能特性
- 列出模型:获取 DeepSeek 提供的所有可用模型。
- 对话补全(包含流式):实现与 DeepSeek 的对话交互,支持实时流式响应。
- FIM 实例(包含流式):支持 Fine-tuned Inference Model (FIM) 实例的调用,同样支持流式响应。
- 查询余额:检查账户中的余额,确保有足够的资金进行 API 调用。
- 支持调用本地模型:通过自定义 HttpClient 调用本地部署的 DeepSeek 模型。
- 对 ASP.NET Core 的集成支持:提供了与 ASP.NET Core 的无缝集成,方便在 Web 应用中使用。
在 ASP.NET Core 中使用 DeepSeek
安装 NuGet 包:在项目中添加 Ater.DeepSeek.AspNetCore 包。
dotnet add package Ater.DeepSeek.AspNetCore
配置 DeepSeekClient:在 Program.cs 或 Startup.cs 中配置 DeepSeekClient。
using DeepSeek.AspNetCore;
using DeepSeek.Core;
using DeepSeek.Core.Models;
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
var apiKey = builder.Configuration["DeepSeekApiKey"];
builder.Services.AddDeepSeek(option =>
{
option.BaseAddress = new Uri("https://api.deepseek.com");
option.Timeout = TimeSpan.FromSeconds(300);
option.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer " + apiKey);
});
var app = builder.Build();
app.MapGet("/test", async ([FromServices] DeepSeekClient client) =>
{
var res = await client.ChatAsync(new ChatRequest
{
Messages = new List<Message>
{
Message.NewUserMessage("Why dotnet is good?")
},
MaxTokens = 200
}, CancellationToken.None);
return res?.Choices.First().Message?.Content;
});
app.Run();
实现流式返回:在需要流式返回的场景下,可以实现如下:
app.MapGet("/chat", async (HttpContext context, [FromServices] DeepSeekClient client, CancellationToken token) =>
{
context.Response.ContentType = "text/plain;charset=utf-8";
try
{
var choices = client.ChatStreamAsync(new ChatRequest
{
Messages = new List<Message>
{
Message.NewUserMessage("Why dotnet is good?")
},
MaxTokens = 200
}, token);
if (choices != null)
{
await foreach (var choice in choices)
{
await context.Response.WriteAsync(choice.Delta!.Content);
}
}
}
catch (Exception ex)
{
await context.Response.WriteAsync("暂时无法提供服务" + ex.Message);
}
await context.Response.CompleteAsync();
});
其他集成方式
如果不使用 ASP.NET Core,还可以直接在控制台应用或其他 .NET 项目中使用 Ater.DeepSeek.Core 包。
安装 NuGet 包:添加 Ater.DeepSeek.Core 包。
dotnet add package Ater.DeepSeek.Core
实例化 DeepSeekClient:可以仅提供 API Key,或提供自定义的 HttpClient 和 API Key。
var client = new DeepSeekClient(apiKey);
// 或者
var httpClient = new HttpClient();
var client = new DeepSeekClient(httpClient, apiKey);
通过以上步骤,您可以在 .NET 项目中集成 DeepSeek 的自然语言处理功能,提升应用程序的智能化水平。