环境变量解释

2.1 chatbot-server 环境变量

Tip

chatbot-server 服务和 chatbot-agent 服务共用数据卷。

变量名描述
DATABASE_URIMySQL 数据库连接配置地址
AGENT_BASE_URLchatbot-agent 的服务地址
AGENT_WS_PATHchatbot-agent 服务的 WebSocket 访问地址
UPLOAD_FOLDER文件上传后的存储路径(需确保持久化存储,与 Docker 数据卷配置一致)
REDIS_URLRedis 缓存服务连接地址
FAISS_DB_PATH知识库向量数据的存储路径
MOCK_SERVEMock 服务地址(当前指向 chatbot-server 服务)
SECRET_KEYchatbot-server 的 JWT 密钥(PagePlug 集成鉴权必需)
TIME_OUT请求超时时间设置(默认值:300)
LOG_LEVEL系统日志输出级别(如 INFO, DEBUG 等)
TEACH_DB可教性(Teaching)的数据存储路径
PAGEPLUG_SERVERPagePlug 服务访问地址
PAGEPLUG_CHATBOT_TOKEN_NAME访问 PagePlug Token 的 Key 名称
CHATBOT_KEY第三方应用(如 RobotAgent, Video-Chat)接入所需的鉴权 Key
ROBOT_HOST第三方机器人集成服务地址(支持企业微信、钉钉等)
CHATBOT_WEB_SERVERchatbot-web 前端服务地址
CHROMADB_PATHChromaDB 训练数据存储目录
MAX_HISTORY聊天会话初始化时加载的最大上下文消息数量(默认值:10)
FLOW_HOST工作流引擎服务地址
ACCESS_TOKEN_EXPIRE_MINUTESAccess Token 有效期时长(单位:分钟,默认值:120)
COMPRESS_IMAGE_SIZE图片上传压缩后的大小限制(单位:KB,默认值:40)

数据卷配置(需要与chatbot-agent的配置一致)

- /home/chatbot/chatbot-agent/files:/data/uploads     # 文件上传存储路径卷
- /home/chatbot/chatbot-agent/faiss_db:/data/faiss_db    # 向量数据库卷
- /home/chatbot/chatbot-agent/teach_db:/data/teach_db    # 可教性数据卷
- /home/chatbot/chatbot-agent/chromadb:/data/chromadb    # 训练数据挂卷目录

2.2 chatbot-agent 服务环境变量

Tip

chatbot-agent 服务是集成企业微信、钉钉机器人与 chatbot-server 相关 API 的服务,通过该服务,就可以将应用发布到企业微信和钉钉上。通过与企业微信机器人或者钉钉机器人对话,就能实现与 NebulaAI 应用上的所有功能。要体验该功能,必须将该服务发布到外部网络环境,且能正常访问 chatbot-server、msyql 等其他服务。

变量名描述
FLASH_RERANK_MODEL_NAME系统内置重排序模型,请勿删除
REDIS_URLredis配置
FILE_UPLOAD_ROOT文件上传路径
FAISS_DB_PATH向量数据库路径
CHROMADB_PATH训练数据路径
CHATBOT_SERVERchatbot-server服务地址
LOG_LEVEL日志级别
MAX_TOKEN模型的最大token数,建议配置为2/3
TEACH_DB可教性存储路径
LLM_TIMEOUT模型超时时间
VIDEO_CHAT_SERVERvideo-chat视频处理服务地址
CHATBOT_KEY第三方访问chatbot-server的key
CHATBOT_SERVER_OUTchatbot-server外部调用地址
EMBEDDING_BATCH_SIZE当次请求向量模型携带的文本块数量。公有云模型的大部分都会限制调用api携带的文本块数量
DOC_HANDLERword 2003 文档处理工具
FLOW_HOST工作流服务地址
WEBSEARCH_HOST此处参数填写固定值。如果私有化部署无法访问外网,联网搜索功能将无法使用。
AUDIO_SEGMENT_DURATION自定义音视频分段处理时长,以便模型能够正常处理。单位s
VIDEO_SEGMENT_DURATION(同上)自定义视频分段处理时长,以便模型能够正常处理。单位s

数据卷配置

- /var/lib/chatbot/chatbot-agent/files:/data/uploads   # 文件上传存储路径卷
- /var/lib/chatbot/chatbot-agent/faiss_db:/data/faiss_db   # 向量数据库卷
- /var/lib/chatbot/chatbot-agent/teach_db:/data/teach_db   # 可教性数据卷
- /var/lib/chatbot/chatbot-agent/chromadb:/data/chromadb   # 训练数据卷用来微调agent
- /home/chatbot/chatbot-agent/nvidia:/usr/local/lib/python3.10/site-packages/nvidia   # 挂卷nvidia pip包

2.3 chatbot-web 服务环境变量

变量名描述
SERVER_URLchatbot-server 的服务地址
NEXT_PUBLIC_SERVER_URLmock服务地址,此处填写chatbot-server地址
NEXT_PUBLIC_DOC_URL帮助文档地址
NEXT_PUBLIC_APP_LOGOApp Logo 图片获取地址(原内容无描述,根据变量名推断)
NEXT_PUBLIC_PLUGIN_LOGO插件 Logo 图片获取地址(原内容无描述,根据变量名推断)
ROBOT_AGENT_SERVER集成第三方应用企业微信、钉钉机器人的服务,该服务只能部署到外网
NEXT_PUBLIC_PAGEPLUG_URLpageplug服务的地址

2.4 低代码PagePlug服务环境变量

Pageplug 是一款低代码平台。他极大的增强了 NebulaAI 的多模态应用。通过 Pageplug 仅需简单配置,就可以实现几十种图表渲染,例如列表、表格、饼图、柱状图、折线图、水波图、轮播图等等。

以下是 pageplug 的各个环境变量说明:

变量名描述
PAGEPLUG_CHATBOT_OFFICIAL_WORKSPACE_ID官方卡片 id
PAGEPLUG_CHATBOT_DEPLOYPageplug 部署 chatbot 的开关标识(原内容无描述,根据变量名推断)
PAGEPLUG_CHATBOT_DEFAULT_USER_PASSWORD使用 chatbot-server 账号访问 Pageplug 页面时的初始密码
PAGEPLUG_CHATBOT_BASE64_ENCODED_SECRET_KEYchatbot-server的 jwt base64 字符串

2.5 Redis服务环境变量

redis服务配置相关存储卷以及访问秘钥信息,具体信息如下:

redis:
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/redis:6.2
    container_name: redis
    ports:
      - 6379:6379
    restart: always
    privileged: true
    volumes:
      - /home/chatbot/redis/data:/data
    command:  redis-server  --appendonly yes --requirepass NubelaAi^TesT

2.6 Mysql服务环境变量

Mysql服务配置相关存储卷以及访问秘钥信息,如需挂载mysql的配置文件,需要先创建mysql配置文件信息,具体操作步骤如下:

mkdir -p /home/chatbot/mysql_conf
cd /home/chatbot/mysql_conf 
touch mysql.cnf

mysql.cnf内容如下:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

最后给这个文件赋予响应的权限:chmod 644 mysql.cnf

具体配置信息如下:

mysql:
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/mysql:8.0.42-v3.0
    container_name: mysql
    ports:
      - 3306:3306
    restart: always
    volumes:
      - /home/chatbot/mysql:/var/lib/mysql
      - /home/chatbot/mysql_conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
    environment:
      MYSQL_ROOT_PASSWORD: "NubelaAi^TesT"  # 可以自定义强密码
      MYSQL_INITDB_CHARSET: "utf8mb4"
      MYSQL_INITDB_COLLATE: "utf8mb4_unicode_ci"

2.7 nebula-ai-flow

nebula-ai-flow【工作流服务】和其访问的数据库配置具体信息如下: 其中挂卷目录要给予相应的777权限。创建目录并给予相应权限:

mkdir -p /home/chatbot/langflow-data
mkdir -p /home/chatbot/chatbot-agent/files/upload
chmod -R 777  /home/chatbot/langflow-data
chmod -R 777  /home/chatbot/chatbot-agent/files/upload

具体的yaml配置信息如下:

nebula-ai-flow:
    container_name: nebula-ai-flow
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/nebulaai-flow:v1.3.2-20250526192805
    privileged: true
    ports:
      - "7860:7860"
    depends_on:
      - postgres
    environment:
      - LANGFLOW_DATABASE_URL=postgresql://nebulaai:NebulaAi^T11@postgres:5432/nebulaai
      # 访问postgresql的地址
      - LANGFLOW_AUTO_LOGIN=true
      - LANGFLOW_SECRET_KEY  # 秘钥
      - LANGFLOW_NEW_USER_IS_ACTIVE=True
      - LANGFLOW_NBAI_SECRET_KEY   # 与chatbot-server集成,该值与chatbot-server的SECRET_KEY需要配置同一个值
      - LANGFLOW_WORKERS=3
      - LANGFLOW_LOG_LEVEL=INFO
      - LANGFLOW_LOG_ENV=container_csv
    volumes:
      - /home/chatbot/langflow-data:/app/data
      - /home/chatbot/chatbot-agent/files/upload:/app/data/.cache/langflow/upload

  postgres:
    container_name: postgres
    image: registry.cn-shenzhen.aliyuncs.com/nb-agent/postgres:15.10-bullseye
    privileged: true
    environment:
      POSTGRES_USER: nebulaai   # 用户
      POSTGRES_PASSWORD: NebulaAi^T11    # 密码
      POSTGRES_DB: nebulaai    # 数据库
    ports:
      - "15432:5432"
    volumes:
      - /home/chatbot/flow-postgres:/var/lib/postgresql/data

2.8 卸载和清理

卸载和清理主要分为三个步骤: 1.停止服务; 2.清理挂卷信息; 3.删除 docker 镜像;

  • 停止服务:执行命令docker-compose down
  • 清理挂卷信息:执行命令 rm -rf /home/chatbot. 如果该路径发生变更,则清理变更后的挂卷路径
  • 清理镜像:清理镜像前,确保本台机器没有其他额外的镜像,则使用docker image prune -a -f 进行清理。 如果有其他镜像,则需要执行docker rmi {chatbot-image}进行删除。 chatbot-image 指 docker-compose.yaml 中的相关镜像。