什么是Dify呢?Dify的官网:Dify.AI · 生成式 AI 应用创新引擎 对其自我介绍如下:
Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。
由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。
虽然Dify在企业的实际项目落地上并不被采用,但我个人认为,它的这种设计完全可以被借鉴和学习。因为它本身就是一个很好的应用和产品。 我现在用Dify主要是来做智能体工作流。
一、本地部署Dify
点击进入Dify的官方github中,选择中文readme文件,里面详细的介绍了如果部署。我这里一步步演示一下我自己的部署过程,然后把一些坑给记录一下。
(1)使用docker compose来安装Dify(推荐)
使用Docker来安装之前,必须确保Windows电脑上面已经安装好了Docker Desktop。如果还没有安装的小伙伴,可以去看看我的这篇文章:【学习心得】2025年Docker Desktop安装记录
① 先拉取dify的github仓库到本地
git clone https://github.com/langgenius/dify.git
我这里选择了D盘的Program Files用来作为Dify的安装路径。
② 然后再安装dify
进入dify仓库里的docker文件夹,执行下面的命令
# 进入 dify 的仓库
cd dify
# 进入 docker 的子目录,里面有 Docker 相关配置文件
cd docker
# 复制 .env.example 文件并命名为 .env 文件,这样后续若还想启动不同参数的dify时再重新复制一份进行修改即可
cp .env.example .env
# 使用 Docker Compose 启动服务容器。'-d' 表示在后台运行容器
# 这个命令会查找当前目录下的 docker-compose.yml 文件,并按照文件中定义的服务配置来启动容器。
docker compose up -d
(2)本地部署成功后进行登录
在浏览器中输入localhost回车后就能打开本地部署的dify,打开后需要注册一个管理员账户。
二、快速开始一个聊天助手
在使用聊天助手功能前,需先完成Dify的模型配置。点击界面右上角的用户头像,进入设置页面进行操作。
进入设置界面后,在左侧导航栏选择"模型供应商"选项,从下拉列表中找到Ollama。考虑到本地部署模型的需求,Ollama以其便捷性成为我的首选。接下来,我将详细演示Ollama的具体配置步骤。
配置模型名称之前,必须要去查一下Ollama里面叫什么,必须和Ollama里面的名字一致。
【注】使用你自己的电脑主机IP的时候,会报错找不到。原因在于dify部署在wsl的Docker里面,而Ollama是部署在Windows上的,直接使用主机的IP地址在Docker容器内部可能无法正确解析或访问到主机的服务。
【坑】Dify无法识别Ollama的主机地址与端口的问题
解决 An error occurred during credentials validation: HTTPConnectionPool(host='127.0.0.1', port=11434) 问题。先去配置环境变量OLLAMA_HOST=0.0.0.0:11434
,这样一来docker里面的dify也能访问到本机运行的Ollama模型。然后,使用host.docker.internal,
将基础URL从http://127.0.0.1:11434
改为 http://host.docker.internal:11434
host.docker.internal
是一个特殊的主机名,它在Docker容器内部可以解析为宿主机的IP地址,允许容器与宿主机上的服务进行通信。
Dify中有关更多的接入大模型介绍,可参考官方文档:接入大模型简介 - Dify Docs