Dify-生成式 AI 应用创新引擎,本地搭建以及使用

简介: Dify-生成式 AI 应用创新引擎,本地搭建以及使用

前言

Dify 是一个LLM应用开发平台开源。其绘图的界面结合了 AI工作流程、RAG 管道、代理、模型管理、可安装性功能等,让我们可以快速从原型到生产。

Dify LLMOps 平台,它拥有可视化的工作流,在开源上构建和测试功能增强的AI工作流程,支持非常全面的大模型,基本包含了市面上的主流模型,自定义的提示工程,广泛的 Rag 检索能力,还有现在强大的Agent智能体,为智能体提供了丰富的内置工具,以及可以监听日志和性能,和丰富的 Api 集成。

一 、本地搭建Dify

Dify 的官方 git 地址是 https://github.com/langgenius/dify ,我们在构建本地环境的时候,需要拉取 Dify 项目。

我们这里由于用的是 docker ,所以还需要提前准备好 docker 环境。


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

然后进入我们刚刚拉取的 dify-main 的根目录,可以看到下面结构:

image.png

然后进入我们项目根目录的 docker 文件夹,找到 docker-compose.yaml ,执行下面命令:


docker-compose up -d

这里可能等待得时间较长,看自己网速,如果我们需要配置自己的 web 端口,由于官方项目默认的端口是 80,可会与我们本地其他项目冲突。

我们这里可以更改成自己不冲突的端口,打开 docker-compose.yaml 文件,找到里面的 nginx 配置项目,如下面所示:

image.png

将  80 端口改成我们自己的端口即可,重新执行 docker-compose up -d

image.png

看到这个界面就证明 docker 镜像已经拉取完毕,然后执行:


docker ps -a

查看所有镜像:

image.png

还可以打开我们的 docker desktop

image.png

上面这些就是我们 Dify 项目内部所需要的所有镜像,至此我们的项目环境已经搭建完毕。

二、Dify的快速构建应用

浏览器访问下面地址:(注意这里的端口一定要是你之前配置的端口,默认是 80


http://localhost:80/install

image.png

注册管理员账号。

image.png

然后输入邮箱密码登录成功。

image.png

这里我们开始快速构建dify 应用:

image.png

先添加模型:OpenAi,通义千问或者 ollama 本地模型等,如果是 ollama 本地模型,你可以闲执行 ollama list 命令查看一下自己本地所拉取的模型,如果没有你需要的,你可以重新拉取新的本地模型。

image.png

image.png

OpenAi 同理,输入自己的 key 即可:

image.png

完成模型添加后,可以看到我们的模型:

image.png

回到我们编排界面,右上角选择我们配置好的模型:

image.png

点击我们进行一系列提示词构建,然后发布,这里我添加了一个上下文文档,你也可以根据需要进行添加,我的提示词模版为:


Use the following context as your learned knowledge, inside <context></context> XML tags.
<context>
{{#context#}}
</context>
When answer to user:
- If you don't know, just say that you don't know.
- If you don't know when you are not sure, ask for clarification.
Avoid mentioning that you obtained the information from the context.
And answer according to the language of the user's question.
{{pre_prompt}}
{{query}}

image.png

添加知识库:

image.png

文档分段和清洗:

image.png

存储到向量数据库:

image.png

知识库列表就可以看到我们创建好的文档:

image.png

一切准备就绪,点击右上角发布,然后运行一个 ChatBot 应用:

image.png

image.png

这里对我们创建的文档也能清晰的回答出来,包括具体检索到哪个知识库。

三、总结

Dify 可以说就是界面化的 LangChain,从构建到发布一个聊天程序,完全脱离了编码,并且灵活的使用了各种 api 和工具。

Dify 为我们节省了大量重复造轮子的时间,使我们能够专注于创新和业务需求,在界面上完全控制您的数据,并提供灵活的安全性。

Dify 提供了更适合生产的完整解决方案——将 Dify 视为具有精细工程设计和软件测试的脚手架系统。当然最大的好处就是,Dify 是开源的,我们也可以共同参与社区环境打造。



相关文章
|
1天前
|
机器学习/深度学习 人工智能 算法
AI在体育分析与预测中的深度应用:变革体育界的智能力量
AI在体育分析与预测中的深度应用:变革体育界的智能力量
47 31
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
54 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
4天前
|
机器学习/深度学习 人工智能 监控
AI在交通管理系统中的应用
AI在交通管理系统中的应用
34 23
|
1天前
|
人工智能 算法 搜索推荐
阿里云百炼xWaytoAGI共学课开课:手把手学AI,大咖带你从零搭建AI应用
阿里云百炼xWaytoAGI共学课开课啦。大咖带你从零搭建AI应用,玩转阿里云百炼大模型平台。3天课程,涵盖企业级文本知识库案例、多模态交互应用实操等,适合有开发经验的企业或独立开发者。直播时间:2025年1月7日-9日 20:00,地点:阿里云/WaytoAGI微信视频号。参与课程可赢取定制保温杯、雨伞及磁吸充电宝等奖品。欢迎加入钉钉共学群(群号:101765012406),与百万开发者共学、共享、共实践!
|
10天前
|
机器学习/深度学习 数据采集 人工智能
AI在用户行为分析中的应用:实现精准洞察与决策优化
AI在用户行为分析中的应用:实现精准洞察与决策优化
61 15
|
6天前
|
人工智能 API
新年课程开启:手把手教学,0基础5次课程学会搭建无限拓展的AI应用
你是否想过自己也能动手搭建一个AI应用?现在,这个目标触手可及!
|
2天前
|
存储 人工智能 Serverless
7分钟玩转 AI 应用,函数计算一键部署 AI 生图大模型
人工智能生成图像(AI 生图)的领域中,Stable Diffusion WebUI 以其强大的算法和稳定的输出质量而闻名。它能够快速地从文本描述中生成高质量的图像,为用户提供了一个直观且高效的创作平台。而 ComfyUI 则以其用户友好的界面和高度定制化的选项所受到欢迎。ComfyUI 的灵活性和直观性使得即使是没有技术背景的用户也能轻松上手。本次技术解决方案通过函数计算一键部署热门 AI 生图大模型,凭借其按量付费、卓越弹性、快速交付能力的特点,完美实现低成本,免运维。
|
1天前
|
存储 人工智能 监控
AI视频监控技术在公租房管理中的应用:提升监管精准度与效率
该AI视频监控系统具备1080P高清与夜视能力,采用深度学习技术实现高精度人脸识别(误识率1%),并支持实时预警功能,响应时间小于5秒。系统支持私有化部署,保障数据隐私安全,适用于大规模公租房社区管理,可容纳10万以上人脸库。基于开源架构和Docker镜像,一键部署简单快捷,确保24小时稳定运行,并提供详细的后台数据分析报表,助力政府决策。
|
9天前
|
人工智能 资源调度 调度
云上AI Infra解锁大模型创新应用
本节课程由阿里云智能集团资深技术专家王超分享,主题为AI基础设施的发展趋势。课程聚焦于AI Infra设计与Scaling Law,探讨了下一代AI基础设施的设计目标、功能升级及推理场景中的应用。主要内容包括高效支持大规模模型训练和推理、全球调度系统的设计、Rack level的Scale优化以及多租户容器化使用方式。通过这些改进,旨在提升并行效率、资源利用率及稳定性,推动AI基础设施迈向更高性能和更优调度的新阶段。
|
5天前
|
人工智能 运维 API
PAI企业级能力升级:应用系统构建、高效资源管理、AI治理
PAI平台针对企业用户在AI应用中的复杂需求,提供了全面的企业级能力。涵盖权限管理、资源分配、任务调度与资产管理等模块,确保高效利用AI资源。通过API和SDK支持定制化开发,满足不同企业的特殊需求。典型案例中,某顶尖高校基于PAI构建了融合AI与HPC的科研计算平台,实现了作业、运营及运维三大中心的高效管理,成功服务于校内外多个场景。