Dify安装使用说明

dify功能简介

dify可以说是一个功能不错的LLMOps,可以通过dify集中管理模型,可以通过界面创建AI应用,可以上传文档形成知识库,可以创建自定义工具(API),并可以对外提供API。

相关功能类似Openai的GPTs或智谱的智能体,其他大厂的大模型也有类似功能,不过貌似只有dify是开源的。

这就为个人本地部署AI应用提供了便利。

dify安装部署

dify提供docker方式安装,不过不同于一般的项目只有一个docker容器,dify有多个容器需要部署切相互之间还有调用关系,因此这里用到了yaml文件。

首先打开dify的Github地址如下,看下dify基本功能介绍

dify Github 地址 langgenius/dify: An Open-Source Assistants API and GPTs alternative. Dify.AI is an LLM application development platform. It integrates the concepts of Backend as a Service and LLMOps, covering the core tech stack required for building generative AI-native applications, including a built-in RAG engine. (github.com)https://github.com/langgenius/dify接下来要安装部署,就不要看readme写的了,对于小白来说,容易被误导(比如我就是。。),我们直接看dify官网详细的部署说,其实操作过一次,就基本清楚了

通过docker部署difyhttps://docs.dify.ai/v/zh-hans/getting-started/install-self-hosted/docker-compose基本过程:

1、通过git clone 下载dify代码

git clone https://github.com/langgenius/dify.git

2、切到dify下docker文件夹运行docker容器

cd dify/docker

docker compose up -d

这个时候docker compose会根据docker-compose.yaml文件的配置运行docker容器。

之前我天真以为运行docker都需要从dockerhub下载镜像然后运行,其实可以自己构建镜像然后运行,通过yaml文件实现更灵活更复杂的容器部署。

3、访问并初始化

docker容器列表中可以看到已经成功运行7个容器,但是只有nginx容易对外暴漏了端口,默认的80,点击即可打开dify系统。第一次需要先新建账号、密码,后续即可账号、密码登录开始使用dify。端口号也可以通过docker-compose.yaml自行修改,修改后再次执行docker compose up -d即可。

4、应用预览、API地址调整

如果修改了默认端口号,那么应用预览、API地址也需要响应做调整,相关配置也在yaml文件,不过在api容器下

SERVICE_API_URL: 'http://localhost:1080'

APP_WEB_URL: 'http://localhost:1080'

dify使用

模型设置

首先需要进行模型设置,应用要可以使用都是依赖于模型提供推理服务。dify支持的模型还算比较全,Openai、讯飞星火、智谱chatglm、零一万物、通义千问、文心一言、月之暗面,还支持Ollama、localai,还有一个选项是兼容Openai的模型,这样我就可以把本地部署的one-api也可以配置上。模型配置这块可以打个高分。

操作:

1、首页右上角,点击个人账户,下拉点击设置,即可打开设置页面

2、左侧点击模型供应商,配置需要的模型即可,目前智谱、通义千问、讯飞、零一都可以薅羊毛

3、这里一定要配置好系统模型,新建应用自动生成提示词、显示回答问题提示都用到了,配置就在当前页面的右上角"系统模型设置"

4、模型验证,首页随便新建一个应用,如果可以正常聊天有回复,说明模型配置成功

应用配置

AI应用核心就是提示词,大概操作:

1、首页,工作室,创建应用

2、弹出页面,选择应用类型,助手就是多轮对话聊天的,文本生成应用主要用于生成文章摘要翻译等

对于助手,还可以选择基础助手、智能助手,默认基础助手,智能助手的话可以自动调用各种工具

3、编排

1)主要就是提示词,可以由系统自动生成,也可以自己写,也可以专家模式(本质就是设置system prompt)

2)变量,可以设置变量。给我讲一个关于{{subject}}的笑话。实际用户输入印度,即可自动生成关于印度的笑话

注意,我个人发现,提示词自动生成,只能使用Openai的模型3.5也行,配置其他模型为系统模型进行自动生成就会各种报错

3)上下文

即引用知识库,这里就用到了RAG(增强检索生成),有些内容是私有知识,大模型不一定有,这个时候就可以先通过知识库查询,然后大模型整合之后,再输出给用户。

知识库,主要就是上传本地文档即可,一般用于QA问答、知识检索等

4)添加其他功能,如对话开场百、下一步对话建议、语音转文字、文字转语音、内容审查、标记回复,功能真心强大

4、WebApp部署

页面左侧,概览,第一块内容

在这里可以预览应用,在新的页面打开应用,可以直接进行对话

定制化,可以将应用部署到服务器

嵌入,可以将当前应用嵌入到其他页面

设置,可以设置WebApp名称、语言、版权等信息

5、API调用

页面左侧,概览,第二块内容

设置API密钥,参考API文档,即可以API方式进行对话功能

实现了API即应用

工具

类似插件,如网页搜索、天气查询等,也可以自定义,基本是对接webapi

整体评价

整体上dify在AI应用的构造上挺好的。

向上,在模型对接上,可以对接外部大模型,也可以对接本地大模型。

向内,在自定义应用上,可以可以结合RAG、插件(类Function call)、自动生成提示词等

向下,在应用发布上,可以预览、对外发布、内嵌,API访问。

功能还是挺全面的。

相关推荐
康康的AI博客10 小时前
什么是API中转服务商?如何低成本高稳定调用海量AI大模型?
人工智能·ai
FIT2CLOUD飞致云10 小时前
赛道第一!1Panel成功入选Gitee 2025年度开源项目
服务器·ai·开源·1panel
XSKY星辰天合11 小时前
XSKY 赋能高端半导体制造:12 寸晶圆产线数据的高效管治实践
ai·分布式存储
DS随心转插件11 小时前
ChatGPT和Gemini排版指令
人工智能·ai·chatgpt·deepseek·ds随心转
数字游民952711 小时前
半年时间大概上了70个web站和小程序,累计提示词超过20w
人工智能·ai·小程序·vibecoding·数字游民9527
RANCE_atttackkk12 小时前
使用redis+springboot+langchain4j实现AI对话持久化
java·数据库·spring boot·redis·缓存·ai·ai编程
Bruk.Liu13 小时前
快速使用Python实现一个AI Agent
开发语言·人工智能·python·ai·agent
Elastic 中国社区官方博客13 小时前
使用 LangGraph 和 Elasticsearch 构建 人机协同( HITL )AI agent
大数据·人工智能·elasticsearch·搜索引擎·ai·机器人·全文检索
LeenixP13 小时前
GitHub Copilot 调用第三方模型API
ai·github·copilot·ai编程·oai compatible
让我上个超影吧14 小时前
【SpringAI】RAG工作流程与ETL实战解析
java·spring boot·ai·etl