
使用 .NET 在我的 MacBook Pro 上与当地 LLM 聊天过程。 。
现在,只需使用浏览器即可轻松使用 ChatGPT 或其他 genAI。作为开发人员我们可以直接集成 OpenAI API 等待做更复杂的事情。假如我们想在自己的机器上运行 LLM,只是为了找人聊天或者开发一些有趣的东西,应该怎么做? 。
最近发布的DeepSeek模型在软件和技术行业引起了轰动。得益于蒸馏技术现在资源更小、更便宜的模型在特定任务中也能发挥同样强大的作用。无论是在 genAI 还是 ML 全世界,Python 都是占主导地位的堆栈。虽然我个人很了解 Python,但作为。#EverythingInCSharp。
传统的系列。在这篇文章中,,我记录了怎么样。deepseek-ai/DeekSeek-R1-Distill-Llama-8B。
在 C# 模型在程序中运行。
1、先决条件。
Python 3 +
.NET8+
支持 lfs 的Git。
由于 .NET 不能直接以格式使用 Hugging Face 模型.safetensors,所以你需要将就.safetensors格式转换为(GPT 生成的统一格式)或者下载其他人.转换gguf并上传到Huging Face 格式(例如,这个)。如果你不想转换,如果你不想转换请跳到第 5 点。
2.下载模型。
使用以下 git 命令克隆模型存储,请注意模型文件 15GB 大:
git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-8B。
3. 克隆 Llama.cpp 仓库。
您将需要内部的转换脚本 HuggingFace 格式转换为 GGUF 格式。
git clone https://github.com/ggerganov/llama.cpp.git。
4.转换模型。
在脚本成功运行和转换之前我必须:
4.1 设置虚拟环境。
cd llama.cpp。
python3 -m venv .。
source bin/activate。
4.2 安装以下软件包。
python3 -m pip install numpy torch sentencepiece gguf safetensors transformers。
python3 convert_hf_to_gguf.py --outfile your_filename.gguf ../DeepSeek-R1-Distill-Llama-8B。
完成后,您将看到以下内容:

5.创建新的C#控制台程序。
dotnet new console。
6.安装所需的软件包。
因为这个模型是基于骆驼,我们需要LlamaSharp。
dotnet add package LLamaSharp。
我正在使用 Macbook Pro,因此,我还需要安装一个特定的backends:
dotnet add package LLamaSharp.Backend.Cpu。
假如你不使用它 Mac,请参阅本处backends提供的官方列表。
7.创建聊天会话代码。
我将从自述文件中复制示例代码LlamaSharp,复制最小聊天会话设置:
using LLama;
using LLama.Common;
using LLama.Sampling;
string modelPath = @"DeepSeek-R1-Distill-Llama-8B.gguf"; // change it to your own model path.。
var parameters = new ModelParams(modelPath)。
{ 。
{ 。
Console.ForegroundColor = ConsoleColor.White;
Console.Write(text);
}。
Console.ForegroundColor = ConsoleColor.Green;
userInput = Console.ReadLine() ?? "";
}。
8.操作和尝试。

dotnet run。

在 M3 Pro 12 核 CPU 的 Macbook 上,token 生成占用了 45% 的 CPU 时间,同时占用了大约 16GB 的内存。内存使用量与模型本身大小基本相同。 。

当生成令牌时 CPU 使用率。

生成 token 时间内存的使用。
不生成 token 时间内存的使用。
享受!🎉迫不及待地想看看你的 C# 您可以使用本地代码 LLM 做什么! 。
如果你喜欢这篇文章请收藏,喜欢,评论,谢谢,祝你每天都快乐。