前言
最近 DeepSeek 可太火了,在人工智能领域引起了广泛的关注,其强大的自然语言处理能力和智能搜索功能让大家跃跃欲试。
对于 .NET 技术栈的开发来说,一个常见的问题是:能否在 .NET 程序中使用 DeepSeek? 答案是肯定的。
为了帮助 .NET 开发快速上手并充分利用 DeepSeek 的强大功能,社区提供了一个名为 deepseek-dotnet 的开源项目。
项目介绍
deepseek-dotnet 项目不仅包含了如何在 .NET 中集成和使用 DeepSeek 模型的详细示例,还展示了如何通过 Microsoft.Extensions.AI (MEAI) 库来简化与 DeepSeek R1 模型的交互。
具体而言 deepseek-dotnet 项目在 GitHub 上托管,并且已经集成了最新的 DeepSeek R1 模型。通过该项目,可以学习如何在 .NET 应用程序中调用 DeepSeek API,处理请求和响应,以及如何利用 Microsoft.Extensions.AI 库进行模型管理和推理。
不管是开发智能助手、自动问答系统,还是其他复杂的业务应用。DeepSeek 都能为大家提供强有力的支持。
DeepSeek 说明
DeepSeek-V3:是DeepSeek于2023年12月推出的模型,以较低的训练成本实现了与GPT-4和Claude Sonnet 3.5等顶尖模型相媲美的性能。
DeepSeek-R1(deepseek-reasoner):是DeepSeek最新推出的推理模型,在输出最终回答之前,模型会先输出一段思维链内容,以提升答案的准确性。
Microsoft.Extensions.AI
Microsoft.Extensions.AI 库为各类 AI 服务提供统一的抽象接口。
无论使用 DeepSeek、OpenAI 还是 Mistral,也不论服务托管在 GH Models、Ollama 还是 Azure AI Foundry,都可以使用相同的 API 接口与模型交互。
这种统一性显著降低了入门门槛------无需掌握不同库的特殊用法,只需掌握 MEAI 即可。
大部分功能通过 IChatClient 接口实现。由于这是接口,具体实现会根据底层 AI 服务而变化:
使用 Ollama 时,需引用 Microsoft.Extensions.AI.Ollama 包
使用 GitHub Models 时,则需 Microsoft.Extensions.AI.AzureAIInference 包
一旦实例化 IChatClient 后,所有操作接口都将统一。
项目源码
下载项目源码,打开 DeepSeek.Console.GHModels 项目中的 Program.cs 文件。
首先需要注意的是初始化 modelEndpoint 和 modelName 变量的位置。这些变量对 GitHub Models 服务来说是标准的,它们总是相同的。
现在进入有趣的部分!我们将初始化我们的聊天客户端。这里我们将连接到 DeepSeek R1 模型。
项目结构

项目使用
1、GitHub Models
生成 GitHub PAT 或直接在 Codespace 中运行仓库。
设置用户密钥:在 DeepSeek.Console.GHModels 项目中设置 GITHUB_TOKEN 用户密钥。
Program.cs:了解如何使用 MEAI 访问 GitHub Models 上的 DeepSeek。
2、在 Azure AI Foundry 上运行
部署模型到 Azure AI Foundry:参考提供的部署指南。
记录密钥:将密钥放入 DeepSeek.Console.AzureAI 项目的用户密钥中,键名为 AZURE_AI_KEY。
获取端点 URL 和模型名称:从 AI Foundry 门户的部署中获取。
3、在 Ollama 上运行
启动 Codespace:Codespace 将下载 Ollama 镜像并在 devcontainer 内启动它。
拉取精简版 R1 模型。
Program.cs:在 DeepSeek.Console.Ollama 项目中查看 Program.cs 文件,了解如何初始化 IChatClient 接口。
IChatClient chatClient = new OllamaChatClient(modelEndpoint, modelName);
项目地址
GitHub:https://github.com/codemillmatt/deepseek-dotnet
总结
DeepSeek R1 是一个新推理模型,吸引了大量关注,可以使用 Microsoft.Extensions.AI 库在 .NET 程序中利用它。
GitHub Models 降低了入门和实验的门槛。感兴趣的小伙伴们快去试试。
最后
如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。
也可以加入微信公众号**[DotNet技术匠]** 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!
