编辑推荐: |
本文主要介绍了.net封装使用DeepSeek-V3
模型相关内容。希望对你的学习有帮助。
本文来自于微信公众号dotnet微服务,由火龙果软件Linda编辑,推荐。 |
|
新年伊始,万象更新!随着人工智能技术的飞速发展,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收费模式,帮助开发者更好地了解如何控制成本。
在新的一年里,AI技术将继续引领创新潮流。希望本文能为你提供一些启发,帮助你在AI领域取得更大的成就。 |