.NET程序中调用本地部署Deepseek模型进行对话
借由Deepseek的爆火,本文将介绍如何快速的在本地部署大语言模型,并且在.NET程序中调用进行对话。
借由Deepseek的爆火,本文将介绍如何快速的在本地部署大语言模型,并且在.NET程序中调用进行对话。
TL;DR 通过Ollama部署大模型后再使用微软AI扩展对话访问
1. Ollama的安装与使用
Ollama是一个大语言模型的运行工具/平台,能够方便的在本地部署各种LLM,包括但不限于Deepseek, Phi, Llama等
Ollama官网:https://ollama.com/
下载想要使用的平台,个人更推荐在WSL(windows的linux子系统)中使用
下载安装完之后,可以点击右上角的Models,
可以看到网站列出了我们可用的模型,以deepseek为例,点击进入后选择我们想要运行的模型
可以看到右边提供了一条指令,复制后备用。
打开 命令行/powershell, 粘贴运行,(如果是第一次使用,会需要一定时间拉取模型),成功运行后便可直接对话
至此,ollama部署本地模型已经完成
2. 在.NET中与本地模型对话
如果你还没有.NET环境,请访问get.dot.net下载NET8或者.NET9的SDK,或者也可以直接使用visual studio或者rider。
创建控制台项目
dotnet new console -o TestDeepseek
安装Microsoft.Extensions.AI.Ollama包(VS或rider可用nuget包管理器安装)
dotnet add package Microsoft.Extensions.AI.Ollama --version 9.1.0-preview.1.25064.3
编写如下代码,运行即可得到模型的回复
using Microsoft.Extensions.AI;
OllamaChatClient chatClient = new OllamaChatClient("http://localhost:11434", "deepseek-r1:1.5b");
var chatMessages = new List<ChatMessage>
{
new ChatMessage(ChatRole.User, "Hello, Ollama!"),
new ChatMessage(ChatRole.User, "1 + 1 = ?")
};
var reply = await chatClient.CompleteAsync(chatMessages, new ChatOptions() { });
var reply1 = await chatClient.CompleteAsync("HI", new ChatOptions() { });
System.Console.WriteLine(reply.Message);
System.Console.WriteLine(reply1.Message);
正是如此简单,学会了吗?学会了
补充:如何调用Deepseek官方api?
Deepseek官方api兼容openai的调用方式,所以可以直接使用OpenAiChatClient
安装Microsoft.Extensions.AI.OpenAI包(VS或rider可用nuget包管理器安装)
dotnet add package Microsoft.Extensions.AI.OpenAI --version 9.1.0-preview.1.25064.3
chatClient修改为如下即可
OpenAIChatClient chatClient = new OpenAIChatClient(
new OpenAI.OpenAIClient(new ApiKeyCredential("sk-xx"),
new OpenAI.OpenAIClientOptions() { Endpoint = new Uri("https://api.deepseek.com") }), "deepseek-chat");
同样非常简单易用
微信公众号: @scixing的炼丹房
更多推荐
所有评论(0)