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 是开源的,我们也可以共同参与社区环境打造。



相关文章
|
8天前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗诊断中的应用及前景展望
本文旨在探讨人工智能(AI)技术在医疗诊断领域的应用现状、挑战与未来发展趋势。通过分析AI技术如何助力提高诊断准确率、缩短诊断时间以及降低医疗成本,揭示了其在现代医疗体系中的重要价值。同时,文章也指出了当前AI医疗面临的数据隐私、算法透明度等挑战,并对未来的发展方向进行了展望。
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
当前AI大模型在软件开发中的创新应用与挑战
2024年,AI大模型在软件开发领域的应用正重塑传统流程,从自动化编码、智能协作到代码审查和测试,显著提升了开发效率和代码质量。然而,技术挑战、伦理安全及模型可解释性等问题仍需解决。未来,AI将继续推动软件开发向更高效、智能化方向发展。
|
12天前
|
机器学习/深度学习 人工智能 算法
AI在医疗诊断中的应用
【10月更文挑战第42天】本文将探讨人工智能(AI)在医疗诊断中的应用,包括其优势、挑战和未来发展方向。我们将通过实例来说明AI如何改变医疗行业,提高诊断的准确性和效率。
|
13天前
|
存储 人工智能 搜索推荐
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
Memoripy 是一个 Python 库,用于管理 AI 应用中的上下文感知记忆,支持短期和长期存储,兼容 OpenAI 和 Ollama API。
57 6
Memoripy:支持 AI 应用上下文感知的记忆管理 Python 库
|
8天前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
34 4
|
18天前
|
机器学习/深度学习 人工智能 算法
AI在医疗领域的应用与挑战
本文探讨了人工智能(AI)在医疗领域的应用,包括其在疾病诊断、治疗方案制定、患者管理等方面的优势和潜力。同时,也分析了AI在医疗领域面临的挑战,如数据隐私、伦理问题以及技术局限性等。通过对这些内容的深入分析,旨在为读者提供一个全面了解AI在医疗领域现状和未来发展的视角。
55 10
|
11天前
|
机器学习/深度学习 人工智能 监控
探索AI在医疗诊断中的应用与挑战
本文旨在揭示人工智能(AI)技术如何革新医疗诊断领域,提高疾病预测的准确性和效率。通过分析AI在图像识别、数据分析等方面的应用实例,本文将探讨AI技术带来的便利及其面临的伦理和法律问题。文章还将提供代码示例,展示如何使用AI进行疾病诊断的基本过程。
|
18天前
|
机器学习/深度学习 人工智能 监控
探索AI在医疗领域的应用与挑战
本文深入探讨了人工智能(AI)在医疗领域中的应用现状和面临的挑战。通过分析AI技术如何助力疾病诊断、治疗方案优化、患者管理等方面的创新实践,揭示了AI技术为医疗行业带来的变革潜力。同时,文章也指出了数据隐私、算法透明度、跨学科合作等关键问题,并对未来的发展趋势进行了展望。
|
19天前
|
传感器 人工智能 算法
AI在农业中的应用:精准农业的发展
随着科技的发展,人工智能(AI)在农业领域的应用日益广泛,尤其在精准农业方面取得了显著成效。精准农业通过GPS、GIS、遥感技术和自动化技术,实现对农业生产过程的精确监测和控制,提高产量和品质,降低成本和环境影响。AI在作物生长监测、气候预测、智能农机、农产品品质检测和智能灌溉等方面发挥重要作用,推动农业向智能化、高效化和可持续化方向发展。尽管面临技术集成、数据共享等挑战,但未来前景广阔。
|
19天前
|
机器学习/深度学习 人工智能 算法
探索AI在医疗影像诊断中的应用
探索AI在医疗影像诊断中的应用