前言

本文将从购买GPU云服务器,连接云服务器,快捷安装Ollama,运行Ollama并安装Deepseek模型,开放Ollama端口支持公网访问讲解如何在节省大量成本的同时快捷部署云端Ollama模型

服务器选择

云服务器供应商有很多,各个云平台的购买和选择大同小异,本文一个能节省很多成本且安全稳定的云服务厂商:雨云

主要是雨云的部署非常方便便捷,再加上成本及其的便宜,这里就用雨云做演示了。

进入雨云官网:https://www.rainyun.com/Prokint_(从这个链接进有优惠)

进行登录注册,这里建议直接用微信登录注册,能打个五折

然后进去云服务器

点击购买云服务器

进来选江苏宿迁的,GPU运算

下面选你需要的套餐,我这里就直接使用旗舰版了,一块P40GPU,有8G显存,主要是价钱,在GPU算力里面是真的便宜

然后选择Ubuntu和1Panel面板,如果你需要公网IP上面就勾选独享公网IP,不过会贵一些。或者需要Windows系统的话就选Windows系统,不过就不能安装1Panel,需要自己去Ollama官网安装Ollama模型

点击购买就成功创建实例了,会自动弹窗到云服务器界面等待实例创建,创建完成后我们点击管理

进入1Panel面板

向下滑动我们能看到我们的1Panel面板成功安装,如果没有请等待一下

然后我们要去上方开放这个40080端口,点击端口设置

点击新建规则

将1panel的40080端口开放,点击创建映射规则,这样就能访问到

然后下面就有我们公网访问的ip,点击复制,添加到刚刚1panel生成的那一串东西里面,把公网ip和端口都替换

我这里替换完是:http://103.205.254.150:57028/ae9d6e22df ,然后浏览器访问这个url,进入面板

把刚刚上面1panel的面板用户和密码粘贴进去,勾选同意协议后,登录,进入我们的面板

安装Ollama

点击左侧的应用商店。然后找到我们的Ollama,没有的话在右上角搜索,然后点击安装

这里如果你需要开放端口给外网访问的话就勾选端口外部访问,我们这里勾选上了,然后点击确认

等待Ollama安装完成

配置Docker镜像加速

如果这里安装失败,可能是国内docker镜像问题,我们去左侧容器里面配置镜像加速

输入这个地址(https://docker.1panel.live),然后点击确认

输入立即重启,点击确认

部署Deepseek-R1模型

重启完成后,我们去应用商城,点击已安装,找到ollama,点击重建,等待重建完成

然我们去容器里面找到我们的ollama容器,点击右边的终端

点击连接

出现“#”就代表连接成功了

然后我们可以在里面使用ollama的命令,具体要安装什么模型,请参考ollama官网

我这里就先跑一个7b模型试试水,等待下载完,下载速度还是很快的

安装完成,随便问个问题试了一下,7b还是随随便便用的,token生成很快

又问了一个vue是什么的问题,分析的还是很全面的,之后看看更高的模型效果怎么样

开放Ollama公网端口

然后我们可以去雨云端口规则的地方开放11434端口(ollama默认的端口),然后通过ip:外网端口访问

访问成功,我们的ollama现在是运行起来的了

Ollama接口调试

同时还需要验证Ollama是否暴露了接口,验证方法是

your-ip:11434/api/chat # ollama exposes the interface

使用post方法去请求上面的地址,这里使用python如下

from abc import ABC, abstractmethod
import json
import requests


def ollama_api(url, model_name, prompt):
    headers = {
        "Content-Type": "application/json; charset=utf-8",
        "Accept": "application/json"
    }
    json_input = {
        "model": model_name,
        "messages": [{
            "role": "user",
            "content": prompt
        }],
        "stream": False
    }

    while True:
     response = requests.post(url,
                              headers=headers,
                              data=json.dumps(json_input))
    try:
        response_json = response.json()
        content = response_json.get("message", {}).get("content", "")
        content = json.loads(content)
        print(content)
        return content
    except (json.JSONDecodeError, ValueError):
        print("error")
    break

url = "http://103.205.254.150:55733/api/chat" //这里是你的雨云开放的公网ip的ollama的API
model_name = "llama-70B-INT4"
prompt = "hello!"

response = ollama_api(url, model_name, prompt)
print(response)

如果需要别的模型也可以在docker里面使用ollama命令下载

教程到此结束

我的雨云UID:115483