零基础玩转 Dify!从 Docker 部署到搭建 AI 旅游助手、数据库查询应用,避坑指南全收录

Dify入门:从部署到AI应用搭建

一 前言

Dify是什么,Dify 一词源自 Define + Modify,意指定义并且持续的改进你的 AI 应用,它是为你而做的(Do it for you)。正如其官网所言(https://docs.dify.ai/zh-hans/introduction)是一个AI应用开发平台,通过这个平台可以快速生成和搭建AI应用; Dify是开源的,由:苏州语灵人工智能科技有限公司 在2023年3月开源。

其内置了数百个模型的支持,RAG引擎、Agent框架、还有灵活的工作流,可配置的工具、以及可视化拖拽的界面。给我们AI应用开发提供一整套、完备的工具箱、通过这些工具箱里面的工具,我们甚至可以不用任何开发,就可以快速搭建一个AI应用。除此之外,其内置插件市场, 可轻松接入第三方模型和工具,让你的应用轻松具有看、听、说、画等能力,还可通过自定义工具的形式,快速接入业务平台。Dify市场

二 安装

Dify有多种部署模式,本次采用的是Docker镜像方式,本来是很简单的过程,在国内却变得棘手起来,不知道哪位上位封了Docker,让依赖Docker的开发者很痛苦,就光知道一刀砍嘛,不想想影响有多大。

Dify的安装环境,硬件要求满低的,2核CPU、4G内存基本就可以跑了。Docker环境要求:

Docker 19.03 or later
Docker Compose 1.28 or later

2.1 下载和安装

# 下载
git clone https://github.com/langgenius/dify.git 
# 进入docker目录
cd dify/docker
# 构建环境信息
cp .env.example .env
# docker compose 后台启动
docker compose up -d

在中国环境嘛,会遇到一系列问题:

  1. 镜像无法访问,需要配置docker镜像地址:

[root@iZwz97vcvjlst5yp9ifxzvZ docker]# cat  /etc/docker/daemon.json
{
"registry-mirrors":
[
        "https://docker.m.daocloud.io/",
        "https://hub.rat.dev",
        "https://huecker.io/",
        "https://docker.1panel.live/",
        "https://dockerhub.timeweb.cloud",
        "https://noohub.ru/",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://xx4bwyg2.mirror.aliyuncs.com",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://dockerhub.azk8s.cn",
        "https://hub.rat.dev",
        "https://docker.mirrors.ustc.edu.cn"
]
}
  1. 如果有些IP还不能访问,记得改下DNS服务器地址:

vim   /etc/resolv.conf
# 添加域名解析服务器地址
nameserver 8.8.8.8
  1. 线程创建失败问题

worker_beat-1    | OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 2: Operation not permitted

解决办法:

vim /etc/security/limits.conf

* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
  1. 容器权限问题

#报错信息:
sandbox-1 exited with code 2 (restarting)

#更改docker-compose.yaml
在相关容器启动配置下添加禁用默认安全配置
    security_opt:
      - seccomp:unconfined
添加后如下:
  sandbox:
    image: langgenius/dify-sandbox:0.2.12
    restart: always
    security_opt:
      - seccomp:unconfined
    environment:
      # The DifySandbox configurations
      # Make sure you are changing this key for your deployment with a strong key.
      # You can generate a strong key using `openssl rand -base64 42`.
      API_KEY: ${SANDBOX_API_KEY:-dify-sandbox}
      GIN_MODE: ${SANDBOX_GIN_MODE:-release}
      WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15}
      ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true}
      HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128}
      HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128}
      SANDBOX_PORT: ${SANDBOX_PORT:-8194}
      PIP_MIRROR_URL: ${PIP_MIRROR_URL:-}
    volumes:
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值