当前位置: 首页 > java >正文

【华为开发者空间 x DeepSeek】服务器运行Ollama并在本地调用

文章概述

本文介绍了如何在 华为开发者空间 中快速部署并使用 Ollama 模型运行框架,并结合 deepseek-r1 模型进行本地或远程交互推理。内容涵盖环境准备、模型配置、网卡绑定、内网穿透、API调用等多个环节,适合希望在华为云上快速搭建本地类大模型推理环境的开发者参考使用。


华为开发者空间介绍

华为开发者空间,是为全球开发者打造的专属开发环境,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间。该平台汇聚了昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为核心技术生态的开发资源,并配套提供案例指导,支持开发者从开发编码到调测部署的完整流程。

依托这一平台,开发者可快速构建和部署 AI 模型应用,尤其适合进行类 ChatGPT 等本地部署实验,也非常适用于 LLM(大语言模型)的微调、推理和集成测试。


安装 Ollama

curl -fsSL https://dtse-mirrors.obs.cn-north4.myhuaweicloud.com/case/0035/install.sh | sudo bash

image-20250528142205991

安装完成后建议立即验证 Ollama 是否部署成功:

ollama --version

在这里插入图片描述

如果返回版本信息,说明安装成功。


配置 deepseek 模型

我们以 deepseek-r1:1.5b 模型为例进行演示:

ollama run deepseek-r1:1.5b

第一次运行会自动从网络下载对应模型到本地缓存。此模型具备基础的语言理解能力,适合用于轻量级推理或嵌入测试。

模型版本与参数规格对比表

模型名称模型大小上下文长度输入类型
deepseek-r1:latest4.7GB128KText
deepseek-r1:1.5b1.1GB128KText
deepseek-r1:7b latest4.7GB128KText
deepseek-r1:8b4.9GB128KText
deepseek-r1:14b9.0GB128KText
deepseek-r1:32b20GB128KText
deepseek-r1:70b43GB128KText
deepseek-r1:671b404GB160KText

这些模型适配不同规模的服务器资源,你可以参考下表选择合适的模型部署:

模型磁盘大小模型参数量(估计)推荐显存(GPU)推荐内存(CPU-only)
1.1GB1.5B≥ 4GB≥ 6GB
4.7GB7B≥ 8GB≥ 12GB
9GB14B≥ 16GB≥ 20GB
20GB32B≥ 24GB≥ 32GB
43GB70B≥ 48GB≥ 64GB
404GB671B多卡分布式 GPU不推荐 CPU 运行

建议开发者根据云主机所分配的 CPU 内存或是否拥有 GPU 资源来判断模型选择,不要轻易加载超过自己硬件承载能力的模型,避免系统卡顿或崩溃。

运行模型后即可进入 CLI 交互界面:

在这里插入图片描述


ollama 绑定网卡

为了使本地网络可以访问部署在华为开发者空间的 Ollama 服务,需要绑定监听全部网卡(0.0.0.0):

killall ollama
OLLAMA_HOST=0.0.0.0 ollama serve

若报错:Error: listen tcp 0.0.0.0:11434: bind: address already in use,说明端口未释放。

解决步骤:

  1. 查询占用端口的进程:
sudo netstat -tulpn | grep 11434

在这里插入图片描述

  1. 强制终止对应进程:
sudo kill -9 <PID>
  1. 若仍然异常,确认是否存在僵尸进程:
ps aux | grep ollama
  1. 再次尝试启动服务:
OLLAMA_HOST=0.0.0.0 ollama serve

image-20250528160709990


内网穿透

由于华为开发者空间提供的是 Cloud IDE 环境,默认不提供公网 IP,因此需要借助内网穿透工具将云环境映射到公网,本文选用 ngrok
当然如果你的是正常的服务器,就可以用公网ip地址来访问,不用这么麻烦了。

工具官网:

https://ngrok.com/

步骤一:注册 ngrok 并获取 token

  1. 打开官网注册账号
  2. 登录后台进入 Dashboard,复制 Authtoken

步骤二:下载与配置

wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz    
tar -xzf ngrok-v3-stable-linux-amd64.tgz
./ngrok version  # 确认版本

添加身份令牌:

./ngrok config add-authtoken <YOUR_AUTHTOKEN>

启动代理:

./ngrok http 11434

运行结果如下所示:

image-20250528160615535

页面中给出的 https://xxxx.ngrok-free.app 即为你临时生成的公网访问地址,可用于访问 Ollama 接口。


在本地使用

Ollama 模型服务默认兼容 OpenAI API 协议,因此可以通过 OpenAI SDK 调用部署在远端(内网穿透后)的模型,便于开发集成。

下面是一个使用 OpenAI Python SDK 的示例:

from openai import OpenAIclient = OpenAI(base_url="https://<你自己的临时域名>.ngrok-free.app/v1", api_key="ollama"  # Ollama不需要真实API Key,填写任意内容
)response = client.chat.completions.create(model="deepseek-r1:1.5b",messages=[{"role": "system", "content": "你是一个有帮助的AI助手"},{"role": "user", "content": "讲一下华为云主机"}],temperature=0.7
)print(response.choices[0].message.content)

注意:由于使用了内网穿透服务,通信质量较差时可能出现响应缓慢的情况,建议将其作为临时测试或调试用途使用。

下图是运行结果。
image-20250528164833954


更多参考

  • 开发者空间官网
  • 开发者空间活动专题
http://www.xdnf.cn/news/9397.html

相关文章:

  • flutter简单自定义跟随手指滑动的横向指示器
  • Django数据库连接报错 django.db.utils.NotSupportedError: MySQL 8 or later is required
  • 代码输出题:异步事件循环
  • Spring boot 策略模式
  • YOLOv5 详解:从原理到实战的全方位解析
  • 35. 自动化测试开发之使用oracle连接池实现oracle数据库操作
  • 34. 自动化测试开发之使用mysql异步连接池实现mysql数据库操作
  • 碰一碰系统源码搭建
  • DH加密详解
  • 什么是PLM系统?PLM主要功能有哪些?2025主流PLM系统介绍
  • 第五十五节:综合项目实践-实时人脸美化滤镜
  • 三轴云台之积分分离PID控制算法篇
  • 【通关文件操作(上)】--文件的意义和概念,二进制文件和文本文件,文件的打开和关闭,文件的顺序读写
  • 鸿蒙运动开发实战:打造 Keep 式轨迹播放效果
  • Java Stream API 终止操作的详细解析
  • QML之Canvas
  • 数组名的大小理解
  • <b> 与 <span> 等行内元素添加 margin-top 或 margin-bottom 不生效问题
  • CarPropertyService 介绍
  • 【FAQ】spring boot 3 集成 nacos
  • pgsql 查看每张表大小
  • 创建vue项目
  • 3D Web轻量化引擎HOOPS Communicator实时协作功能深度解析
  • 小黑黑大模型应用日常摸索中:初次使用langchain智能体调用工具,准备继续深入
  • 题解——相交链表(力扣160 easy)
  • Java研学-MybatisPlus(三)
  • 磁盘管理练习题
  • 《Python基础》第1期:人生苦短,我用Python
  • Java基础 5.27
  • Oracle初识