跳转到主要内容

deepseek和dify环境搭建

dify是一个用于构建AI应用的模型编排软件,开箱即用,可以通过拖拉拽的形式,快速组合出一个AI应用,支持接入各厂商的云上模型,也支持接入本地ollama引擎运行的模型。

准备工作

安装ollama

version: "3"
services:
  ollama:
    image: harbor.iovhm.com/hub/ollama/ollama:0.5.12
    container_name: ollama
    restart: always
    privileged: true
    ports:
      - "11434:11434"
    volumes:
      - ./ollama:/root/.ollama
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           capabilities: [gpu]
    #           count: all
    networks:
      - vpclub-bridge

下载dify源代码,进入到docker目录,修改墙的docker镜像地址使用魔法地址

下载到源代码后,进入到docker目录,打开docker-compose.yaml,里面总共有26个服务,将镜像地址修改为私有仓库。如果在服务器运行,只需要将docker目docker录上传到服务器即可,不需要把dify的所有源代码全部上传。

真正有用的10个服务,其他的是各种不同类型的向量数据库

将如下10个服务的镜像地址修改为镜像代理地址,使用docker-compose up -d 即可以将软件运行起来。其他服务是各种不同的向量数据库,需要根据自己的需要才启动,只有使用 docker-compose --profile=xxx up -d 才会启动特定的服务。

为了保持和官方版本升级时候的兼容性,不建议直接修改docker-compose.yaml,比喻把镜像下载回来了重命名一下。

  • api
  • worker
  • web
  • db
  • redis
  • sandbox , 一些模型可以调用代码,一个用于运行代码的沙箱容器
  • plugin_daemon , 开发插件用的
  • ssrf_proxy , 一个用来防止SSRF_PROXY攻击的代理软件
  • nginx , 入口nginx
  • weaviate,向量数据库
env配置文件

官方指导是将 .env.example 复制一个后改名为 .env , 但是需配置项太多,从头看到尾很需要时间,在此我摘抄了一个极简的 .env

官方文档:https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/environments


CONSOLE_API_URL=
CONSOLE_WEB_URL=
SERVICE_API_URL=
APP_API_URL=
APP_WEB_URL=
FILES_URL=

# 对外公布的服务端口
EXPOSE_NGINX_PORT=80
EXPOSE_NGINX_SSL_PORT=443

# 是否开启检查版本策略,若设置为 false,则不调用 https://updates.dify.ai 进行版本检查。
# 由于目前国内无法直接访问基于 CloudFlare Worker 的版本接口,
# 设置该变量为空,可以屏蔽该接口调用
CHECK_UPDATE_URL=

# 向量数据库配置
VECTOR_STORE=weaviate

# Weaviate 端点地址,如:http://weaviate:8080
WEAVIATE_ENDPOINT=http://weaviate:8080

连接 Weaviate 使用的 api-key 凭据
WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih