前言

在数字化浪潮奔涌向前的时代,人工智能宛如一颗璀璨的星辰,照亮了各个领域前行的道路。而 Dify,作为人工智能应用开发领域的一颗新星,正以其独特的魅力和强大的功能,吸引着无数开发者的目光。它不仅是一个工具,更是一把开启无限可能的钥匙,让我们能够轻松构建出智能、高效的应用程序。

然而,对于许多初学者和想要尝试新技术的开发者来说,Dify 的部署过程可能会显得有些神秘和复杂。那些繁琐的步骤、晦涩的术语,就像一道道难以跨越的障碍,横亘在探索的道路上。但请不要担心,本教程就像一位贴心的向导,将带领你一步一步揭开 Dify 部署的神秘面纱,让你轻松踏上这场人工智能开发的奇妙之旅

下载 Dify
  1. 访问 Dify GitHub 仓库 ,选择合适的版本下载,我这里用的是 1.2.0 版本。
    pE5cuvt.png

  2. 下载源码,直接在服务器中使用 wget https://github.com/langgenius/dify/archive/refs/tags/1.2.0.zip

解压

使用 unzip 1.2.0.zip 命令解压下载的压缩包,解压完成会得到一个名为 dify-1.2.0 的文件夹。
pE5c6PJ.png

修改配置文件
  • 使用 cd dify-1.2.0/docker 进入文件夹,再次使用 ls -a 查看所有文件,但是没有看到 .env 文件,怎么办呢?
    pE5c2x1.png
    不要慌,使用 cp .env.example .env 命令复制一份 .env.example 文件,并将其重命名为 .env

  • 为了保证我们使用最新版(舒服的)的 Milvus,我们要在 docker-compose.yml 文件中修改一下的 Milvus 版本以及 Attu 管理工具。我们使用 vim docker-compose.yaml 命令打开文件,然后找到 milvus-standalone 的内容,将其修改为:

milvus-standalone:
    container_name: milvus-standalone
    image: milvusdb/milvus:v2.5.8
    profiles:
      - milvus
    command: [ 'milvus', 'run', 'standalone' ]
    environment:
      ETCD_ENDPOINTS: ${ETCD_ENDPOINTS:-etcd:2379}
      MINIO_ADDRESS: ${MINIO_ADDRESS:-minio:9000}
      common.security.authorizationEnabled: ${MILVUS_AUTHORIZATION_ENABLED:-true}
    volumes:
      - ./volumes/milvus/milvus:/var/lib/milvus
    healthcheck:
      test: [ 'CMD', 'curl', '-f', 'http://localhost:9091/healthz' ]
      interval: 30s
      start_period: 90s
      timeout: 20s
      retries: 3
    depends_on:
      - etcd
      - minio
    ports:
      - 19530:19530
      - 9091:9091
    networks:
      - milvus
attu:
    container_name: attu
    image: zilliz/attu:v2.5.6
    environment:
      MILVUS_URL: milvus-standalone:19530
    ports:
      - "9092:3000"
    depends_on:
      - "milvus-standalone"

此时,我们已经对 Milvus 进行了版本升级,并且增加了 Attu 管理工具(这里我把 Attu 的访问端口改成了 9092)

  • 接下来,我们还需要修改 .env 文件,找到以下内容,进行替换
# The type of vector store to use.
# Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `tidb_vector`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`, `tablestore`.
VECTOR_STORE=milvus

# Milvus configuration. Only available when VECTOR_STORE is `milvus`.
# The milvus uri.
MILVUS_URI=http://milvus-standalone:19530
MILVUS_TOKEN=
MILVUS_USER=root
MILVUS_PASSWORD=Milvus
MILVUS_ENABLE_HYBRID_SEARCH=False

# Enable or disable security authorization
MILVUS_AUTHORIZATION_ENABLED=false
PLUGIN_S3_USE_AWS_MANAGED_IAM=true
PLUGIN_S3_USE_PATH_STYLE=true
部署

修改完成之后,我们就可以使用 docker-compose up -d 命令进行部署了。

Logo

更多推荐