基于Ubuntu Ollama 部署 DeepSeek-R132B 聊天大模型(附带流式接口调用示例)

最近 DeepSeek出来了,很火,说是能跟ChatGpt o1 媲美,结果,用了DeepSeek的官方服务,提示“服务器繁忙 请稍后再试。”,我就想,算了,自己部署个吧。

我这个是基于docker部署的,首先要docker 支持 显卡,这样才会跑的更快,基于CPU 还是比较卡的,耗费的内存也比较多。

部署非常方便,除了下载很慢,基本都是环境问题,环境解决完就没啥大问题。

服务器基础资源

这就来个服务器部署,目前服务器资源大致如下:

操作系统 : Ubuntu 24.04
显卡:Tesla P100-PCIE-16GB * 2
CPU:48核
内存:64G

运行docker命令

docker run --name ollama -d --restart=always --gpus=all -v /data/docker/ollama:/root/.ollama -p 11434:11434 ollama/ollama

运行完即可

然后,进入到容器内开始执行命令

docker exec -it ollama /bin/sh

然后执行 下载并运行32B 的模型

ollama run deepseek-r1:32b

如果资源不够,可以运行 1.5b 或者 7B的模型

ollama run deepseek-r1:1.5b

下载提示


如果像上面这样能得到MB以上的速度,就说明网络已经非常好了,实际上过一会儿就会降到几百KB,很慢,这个时候,我们只需要 Ctrl + C ,然后,重新输入下载的命令速度就会提升上来,重复此过程,可以加快下载。

运行模型

先给几个命令

ollama pull deepseek-r1:1.5b //拉取模型
ollama run deepseek-r1:1.5b //运行模型
ollama list  //查看所有模型

允许防火墙,这样就可以在自己局域网电脑上访问了

sudo ufw allow  11434/tcp

来先看下都有什么模型

ollama list


有三个模型了

好了,我们先运行模型

ollama run deepseek-r1:32b


直接提示要发送一个消息给它,我们给它一个消息,比如,DeepSeek为何如此优秀?

好吧,回答的好简短,好官方,然后,再问他,如何看待目前的各种AI产品?

这次就回答的特别多了。

现在模型部署好了,我们也可以通过 http地址来看当前 Ollama运行的状态如何.

http://192.168.0.120:11434/

也可以通过 这个api查看部署的模型有什么

http://192.168.0.120:11434/api/tags

可以看到,我用Ollama部署了3个模型。

gpu资源耗费情况


可以看到还好,单卡16GB,还剩5GB 左右,留给其他业务使用。

接口的方式来调用DeepSeekR1,控制台流式输出

实际上Ollama部署好模型后,就可以直接用接口来调用了。

这个就是我自己调用接口实现的本地效果,也是很好用的,省的在docker里面敲来敲去。

主要用.net代码

引入一个nuget包

Codeblaze.SemanticKernel.Connectors.Ollama

具体代码如下:

static async Task Main(string[] args)
{
    var builder = Kernel.CreateBuilder().AddOllamaChatCompletion("deepseek-r1:32b", "http://192.168.0.120:11434");

    builder.Services.AddScoped<HttpClient>();
    var kernel = builder.Build();

    while (true)
    {
        string input = "";
        Console.Write("请输入: ");
        input = Console.ReadLine();
        Console.WriteLine("");
        var contents = kernel.InvokePromptStreamingAsync(input);

        if (contents == null)
        {
            Console.WriteLine("Error: 内容为空!");
            continue;
        }
        else
        {
            Console.WriteLine($"\nDeepseek: \n");
            await foreach (var item in contents)
            {
                Console.Write(item.ToString());
            }
        }
        Console.WriteLine("");
    }
}

相关地址

https://github.com/kesshei/OllamaDemo
https://gitee.com/kesshei/OllamaDemo

总结

DeepSeek来的刚好,也希望这辈子有幸看到不一样的世界。

<think>好的,我现在需要帮助用户了解如何在本地部署Ollama DeepSeek模型并通过API进行调用。首先,我得回顾一下用户提供的引用内容,确保信息准确。根据引用[2]和引用[3],用户需要的是部署步骤和API调用的具体方法。 首先,部署Ollama的步骤。用户可能使用的是Linux系统,因为引用[2]中的命令是针对Linux的,比如使用curl下载tgz包,解压后安装到指定目录。需要确保用户已经正确安装了Ollama,并且下载了DeepSeek模型。这里需要注意模型的名称是否正确,是否在Ollama支持的模型列表中。 接下来是配置API调用。引用[3]给出了Python代码示例,使用requests库发送POST请求到本地API地址。这里需要检查API的URL是否正确,模型名称是否一致,数据格式是否符合要求。另外,用户可能需要了解如何测试API是否正常工作,比如发送请求后查看响应内容。 可能遇到的问题包括安装过程中的权限问题,比如需要sudo命令来删除旧版本或移动文件。另外,模型下载可能因为网络问题失败,需要确保网络连接稳定。在API调用时,如果返回错误,需要检查模型是否成功加载,端口是否被占用,或者数据格式是否正确。 用户可能还想知道如何验证部署是否成功,例如运行Ollama服务后,通过命令行测试模型响应。此外,用户可能对API调用的参数有疑问,比如stream参数的作用,或者如何调整生成文本的参数(如temperature、max_tokens等)。 需要提醒用户注意安全,比如本地部署时确保端口不被公开访问,避免安全风险。同时,引用[1]提到了配置API Key,但本地部署可能不需要,这点需要澄清,因为引用[3]的示例中没有使用API Key,可能本地调用不需要认证。 最后,总结步骤,确保逻辑清晰,分步骤说明安装、部署调用过程,并给出示例代码,帮助用户实际操作。如果用户遇到问题,可以建议查看日志或重新启动Ollama服务。</think>以下是在本地部署Ollama DeepSeek模型并通过API调用的完整教程,根据官方文档和技术实践整理: ### 一、环境准备 1. 操作系统要求:支持Linux/macOS(推荐Ubuntu 22.04+) 2. 硬件建议:至少16GB内存,支持CUDA的NVIDIA显卡(可选) 3. 网络环境:需要稳定访问GitHub和模型仓库 ### 二、部署步骤 #### 1. 安装Ollama框架 ```bash # 移除旧版本(如有) sudo rm -rf /usr/lib/ollama # 下载最新版本 curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz # 解压安装 tar xzvf ollama-linux-amd64.tgz sudo mv ollama /usr/bin/ ``` #### 2. 启动Ollama服务 ```bash # 后台运行服务 ollama serve & ``` #### 3. 下载DeepSeek模型 ```bash # 下载指定版本模型(8B参数版) ollama pull deepseek-r1:8b ``` ### 三、API接口调用方法 #### 1. Python调用示例 ```python import requests def deepseek_query(question): url = 'http://127.0.0.1:11434/api/chat' data = { "model": "deepseek-r1:8b", "messages": [{"role": "user", "content": question}], "stream": False } response = requests.post(url, json=data) return response.json()["message"]["content"] # 示例调用 print(deepseek_query("解释量子纠缠的基本原理")) ``` #### 2. 高级参数配置 ```python data = { "model": "deepseek-r1:8b", "messages": [{"role": "user", "content": "写一首关于AI的诗"}], "temperature": 0.7, # 控制生成随机性(0-1) "max_tokens": 500, # 最大输出长度 "top_p": 0.9, # 核采样概率 "stream": True # 启用流式输出 } ``` ### 四、验证部署 ```bash # 检查服务状态 curl http://127.0.0.1:11434 # 测试模型响应 curl http://127.0.0.1:11434/api/tags ``` ### 五、常见问题解决 1. **模型下载失败**:检查网络连接,确认`ollama pull`命令中的模型名称正确[^2] 2. **API无响应**:确认服务已启动且端口无冲突(默认11434) 3. **GPU未调用**:安装CUDA驱动后添加`--gpu`参数启动服务 ```bash ollama serve --gpu & ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝创精英团队

你的支持是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值