.NET 使用 DeepSeek R1 开发智能 AI 客户端

前言

最近 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技术匠** 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

相关推荐
ZYJCSZKJ4 分钟前
AI数字人直播系统的技术架构与多方言交互实现方案——基于广西区域商业场景的工程实践
人工智能·架构·交互
珐恩AI-人工智能11 分钟前
大模型意图召回偏差分析:GEO如何解决“有收录却不触发问答曝光”的难题
大数据·前端·人工智能·html·流量运营·geo优化
Java小白笔记17 分钟前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
王志来1379447300817 分钟前
从分散到集成:工控服务器机箱采购如何实现“一站式”破局
运维·服务器·人工智能·python
万岳科技系统开发18 分钟前
AI数字人直播系统搭建从需求分析到正式上线全流程解析
人工智能·需求分析
小O的算法实验室23 分钟前
IEEE TCDS,基于改进双神经网络三维未知环境多机器人协同区域覆盖搜索
人工智能·神经网络·机器人
云原生指北25 分钟前
Docker Sandboxes 的隔离例外:共享 Skills 与宿主机 MCP
运维·docker·ai·容器·agent
无凭28 分钟前
DeepSeek Harness 为什么需要 Cordis:从 Everything is Plugin 开始看
人工智能·架构
炮哥聊AI28 分钟前
会调工具的 Agent 只值一半:真正的业务智能体,得会"记仇"
人工智能·agent
字节跳动数据库31 分钟前
火山 PostgreSQL Serverless × 飞书妙搭:把 AI 装进数据库,一句话唤醒数据智能
数据库·人工智能·后端