快速上手——.Net封装使用DeekSeek-V3 模型

开发 前端
我们详细介绍了如何使用.NET 9 调用 DeepSeek 的API进行文本生成。我们从创建项目、安装必要的NuGet包,到编写代码、运行实例,一步步展示了整个过程。

新年伊始,万象更新!随着人工智能技术的飞速发展,AI在各个领域的应用越来越广泛。无论是自然语言处理、图像识别,还是智能推荐系统,AI都在改变着我们的生活和工作方式。在这个新春佳节,AI技术的火爆程度更是达到了一个新的高度,特别是DeepSeek的耀眼成就,更是让纳斯达克众多科技股崩盘,许多企业和开发者都在积极探索如何将AI技术应用到自己的产品和服务中,以提升用户体验和业务效率。

趁着这股东风,我们就祭出.net 技术,来场AI集成秀,也祝大家在新的一年里,各项技术顺利推进,收获满满!

1.DeepSeek API开发集成

DeepSeek是一家专注于自然语言处理(NLP)和人工智能技术的公司,提供了强大的API接口,帮助开发者快速构建智能应用。DeepSeek的API与OpenAI的API兼容性良好,这意味着如果你之前使用过OpenAI的API,可以很容易地迁移到DeepSeek的平台上。

DeepSeek的API提供了多种功能,包括文本生成、文本分类、情感分析、问答系统等。与OpenAI类似,DeepSeek的API也支持多种编程语言,包括Python、JavaScript、Java、C#等。这使得开发者可以根据自己的技术栈选择合适的语言进行开发。

这里我们使用最熟悉的语言 .net, 来训练我们的AI小助手。

2. 一个简单的例子

在本节中,我们将使用.NET 9编写一个简单的示例,展示如何调用DeepSeek的API进行文本生成。我们将创建一个控制台应用程序,通过调用DeepSeek的API生成一段新年祝福语。

2.1 创建项目

首先,打开Visual Studio 2022,创建一个新的控制台应用程序项目。选择.NET 9作为目标框架,并命名为DeepSeekExample。

2.2 安装必要的NuGet包

为了能够方便地调用DeepSeek的API,我们需要安装System.Net.Http.Json和OpenAI 等NuGet包。可以通过NuGet包管理器控制台运行以下命令来安装:

Install-Package System.Net.Http.Json
Install-Package Microsoft.Extensions.Configuration
Install-Package Microsoft.Extensions.Configuration.Abstractions
Install-Package Microsoft.Extensions.Configuration.Binder
Install-Package Microsoft.Extensions.Configuration.EnvironmentVariables
Install-Package Microsoft.Extensions.Configuration.UserSecrets
Install-Package OpenAI

2.3 编写代码

接下来,我们编写代码来调用DeepSeek的API。首先,在Program.cs文件中添加以下代码:

using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using OpenAI;
using OpenAI.Chat;
using System.ClientModel;
using System.ClientModel.Primitives;

internal class Program
{
    static void Main(string[] args)
    {
        var configuration = new ConfigurationBuilder()
            .AddEnvironmentVariables()
        .AddUserSecrets<Program>()
        .Build();
      
         var key = configuration.GetValue<string>("DeepSeek:ApiKey");          
        ApiKeyCredential cred = new ApiKeyCredential(key);

        // DeepSeek-V3
        ChatClient client = new ChatClient("deepseek-chat", cred,new OpenAIClientOptions
        {
            Endpoint = new Uri("https://api.deepseek.com"),
            UserAgentApplicationId = "webmote",
            ProjectId = "deepseek-test",
            RetryPolicy = ClientRetryPolicy.Default
        });
        List<ChatMessage> messages = new List<ChatMessage>()
        {
            new SystemChatMessage("You are a helpful assistant."),
            new UserChatMessage("Hello, Nice to meet you.")
        };

        var result = client.CompleteChat(messages);
        if (result?.Value != null)
        {
            Console.WriteLine(result.Value.Content[0].Text);
        }
    }
}
  • ApiKey: 这是你的DeepSeek API密钥,配置为 DeepSeek:ApiKey,你可以使用环境变量添加,也可以用管理机密信息添加,这里大力推荐使用机密信息进行安全管理, 这里我们可以利用VS的帮助工具建立,如下图所示。

图片图片

  • 按照打开的secret.json,输入你的api key:

图片图片

  • AI模型,这里使用最新的AI模型,DeepSeek-V3模型,字符串为: "deepseek-chat"
  • Chat Message: 使用system赋予Ai一个角色,然后,我们进行提问。
List<ChatMessage> messages = new List<ChatMessage>()
{
    new SystemChatMessage("You are a helpful assistant."),
    new UserChatMessage("Hello, Nice to meet you.")
};

3. 输出结果

确认你的api Key是正确的,进行访问连接,DeepSeek给予我们一个回答:

Hello! Nice to meet you too! 
How can I assist you today?

如果你也能获得答案,那么恭喜你!你已经成功的连接到DeepSeek API。

后续,你可以开始你的激动人心的AI旅程了!

4. 其他方案

Github上也有其他人封装的net类库,例如 Fitomad.DeepSeek, 使用起来也很流畅,编程体验更好,大家如果没有openai使用切换的话,可以下载这个库看看。

var deepSeekSettings = new DeepSeekSettingsBuilder()
    .WithApiKey(_apiKey)
    .Build();

var services = new ServiceCollection();
services.AddDeepSeekHttpClient(settings: aiSettings);
...
public class GameController: ControllerBase
{
    private IDeepSeekClient _deepSeekClient;

    public GameController(IDeepSeekClient deepSeekClient)
    {
        _deepSeekClient = deepSeekClient;
    }

    ...
    ChatRequest request = new ChatRequestBuilder()
    .WithModel(ChatModelType.DeepSeekChat)
    .WithSystemMessage("Eres un profesor universitario de Astrofísica.")
    .WithUserMessage("¿En qué consiste la Constante Cosmológica de Einstein?")
    .WithTemperatute(-3.0)
    .Build();
  var resp = await _client.ChatCompletion.CreateChatAsync(request)
}

5.DeepSeek的API收费模式

DeepSeek的API收费模式与OpenAI类似,采用按使用量计费的方式。具体来说,DeepSeek的API收费基于以下几个因素:

请求次数: 每次调用API都会计入请求次数,不同的API端点可能有不同的计费标准。

令牌数: 生成的文本长度(以令牌为单位)也会影响费用。通常,生成的文本越长,费用越高。

API套餐: DeepSeek提供了多种API套餐,开发者可以根据自己的需求选择合适的套餐。套餐通常包括一定的免费额度,超出部分按量计费。

DeepSeek的API收费模式灵活,适合不同规模的开发者和企业。对于小型项目或个人开发者,可以选择按需付费的模式;对于大型企业或高频使用的项目,可以选择预付费套餐以获得更优惠的价格。

图片图片

大家可以按照需要,进行充值消费,我先来50看看。

图片图片

6. 总结

通过本文,我们详细介绍了如何使用.NET 9 调用 DeepSeek 的API进行文本生成。我们从创建项目、安装必要的NuGet包,到编写代码、运行实例,一步步展示了整个过程。此外,我们还介绍了DeepSeek的API收费模式,帮助开发者更好地了解如何控制成本。

责任编辑:武晓燕 来源: dotnet微服务
相关推荐

2009-11-02 17:54:44

VB.NET数组

2010-05-24 09:49:47

ADO.NET

2009-11-03 14:46:47

ADO.NET数据库

2024-09-24 07:31:52

2021-06-05 10:16:55

Linkerd 服务网格Kubernetes

2011-07-26 13:58:17

LINQ

2024-01-16 07:46:11

2022-08-21 07:17:16

LinkerdKubernetes服务网格

2013-11-19 12:53:33

OA信息化

2021-12-10 08:13:02

MatplotlibpythonAPI

2022-08-19 07:13:45

SQL方法编程

2020-11-06 08:54:43

Vue 3.0函数代码

2009-11-02 13:54:27

VB.NET shel

2011-07-25 15:42:58

XML

2023-06-13 08:00:57

ChatGPT语言模型

2024-01-29 00:36:50

Backstage设施工具

2017-07-05 17:50:52

KotlinJava程序员

2010-05-18 10:17:11

2009-11-02 15:49:23

VB.NET显示系统信

2009-10-21 09:40:23

VB.NET搜索
点赞
收藏

51CTO技术栈公众号