需要的工具

  • docker docker-compose # 部署NebulaAI和OneAPI Docker version 26.1.3
  • OneAPI # 用于调用API接口的工具
  • Ollama # 用于运行模型的工具

部署流程

0. 准备工作

准备两台服务器,一台用于部署NebulaAI,和ollama(这台机器建议安装有GPU),另一台用于部署OneAPI和做frp转发。

1. 安装docker和docker-compose

安装docker和docker-compose,具体方法请参考官方文档

2. 安装OneAPI和Ollama

OneAPI是Intel提供的用于调用API接口的工具,用于部署模型的API调用。(默认账号/密码为root/123456)(建议安装在有公网IP的服务器上)

docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/oneapi/data:/data justsong/one-api

Ollama 是一个用于部署模型的工具,用于运行模型。

curl -fsSL https://ollama.com/install.sh | sh

配置ollama

验证 http://ip:11434 Ollama is running

Ollama在linux环境中如何支持外部或者宿主机通过IP访问其接口

首先停止ollama服务:

systemctl stop ollama

修改ollama的service文件:/etc/systemd/system/ollama.service

在[Service]下边增加两行:

Environment="OLLAMA_HOST=0.0.0.0" 
Environment="OLLAMA_ORIGINS=*"

或者如果要限制端口就加上软件

Environment="OLLAMA_HOST=0.0.0.0:11434" 
Environment="OLLAMA_ORIGINS=*"

端口根据实际情况修改

重载daemon文件

systemctl daemon-reload

启动ollama服务

systemctl start ollama

3. 下载模型

ollama run deppseek-r1:1.5b

下载m3e向量模型compose.yaml

version: '3'
services:
  m3e_api:
    container_name: m3e_api
 
    environment:
      TZ: Asia/Shanghai
 
    image: registry.cn-hangzhou.aliyuncs.com/fastgpt_docker/m3e-large-api:latest
 
    restart: always
 
    networks:
      - general
 
    ports:
      - "6008:6008"
 
networks:
  general:
    external: true

4. 运行模型

再次运行ollama run deppseek-r1:1.5b即可运行模型

ollama run deppseek-r1:1.5b

5. 配置OneAPI

渠道-->添加新的渠道 类型 Ollama 名称 自己填写 分组 随意 模型 点击输入自定义模型名称 --> 填入 我输入的是qwen:0.5b-chat-v1.5-q4_1 秘钥 111111随意 代理 http://192.168.31.161:11434

m3e的key

sk-aaabbbcccdddeeefffggghhhiiijjjkkk

python调用oneapi示例

from openai import OpenAI

client = OpenAI(
    api_key="sk-g0SZpKvQabi6gJTtBaE57b73F398481c8aC8B00b56Ca5595", 
    base_url="http://45.207.208.85:3001/v1",
)
completion = client.chat.completions.create(
    model="deepseek-r1:1.5b", #

    messages=[
        {'role': 'system', 'content': "你必须回答用户的问题,才能更好地服务用户。"},
        {'role': 'user', 'content': "你是谁"}
    ]
)
print(completion.choices[0].message.content)

6. 配置frps

bindPort = 7000

7. 配置frpc

serverAddr = "服务器公网IP"

serverAddr = "服务器公网IP"
serverPort = 7000

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

[[proxies]]
name = "test-tcp1"
type = "tcp"
localIP = "127.0.0.1"
localPort =8888
remotePort = 6888

........

8. 配置NebulaAI

将ip均替换为服务器公网IP

OPEN_AI_CHAT_COMPLETION_MODEL_ID: "deepseek-r1:1.5b" 
OPENAI_BASE_URL: "http://public_ip:3001/v1"
OPENAI_API_KEY: "sk-g0SZpKvQabi6gJT.........8B00b56Ca5595"
OPEN_AI_TEXT_EMBEDDING_MODEL_ID: "deepseek-r1:1.5b"

RAG_TYPE: "ollama" 
RAG_BASE_URL: "http://public_ip:3001/v1"  
RAG_API_KEY: "sk-g0SZpKvQabi6gJT.........8B00b56Ca5595"  
FLASH_RERANK_MODEL_NAME: "m3e"

配置NebulaAI的docker-compose.yaml文件,把ip换为实际的ip并填入部署DeepSeek-R1模型生成的API_Key,填写完毕执行保存即可

docker-compose.yaml文件配置以后,根据NebulaAI官方文档提示在服务器执行启动命令即可,服务启动以后,在浏览器打开部署ip即可访问NebulaAI,整个过程丝滑且快速。

最后来看一下最基础的呈现界面:

马上打开NebulaAI试试吧:https://www.cloudtogo.cn/product-NebulaAI

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐