github: https://github.com/langgenius/dify/blob/main/README_CN.md
介绍文档:https://docs.dify.ai/getting-started/readme
Dify 介绍
Dify 笔记
- Dify 是什么?
- 开源的大语言模型(LLM)应用开发平台
- 融合了后端即服务(Backend as Service)和 LLMOps 的理念
- 使开发者可以快速搭建生产级的生成式 AI 应用
- 为什么使用 Dify?
- 易用性:即使是非技术人员也能参与到 AI 应用的定义和数据运营过程中
- 灵活性:支持各种类型的 LLM,并提供了丰富的插件,可以满足各种需求
- 可扩展性:可以部署在云端或本地,可以满足不同规模的应用需求
- Dify 能做什么?
- 创业:快速将 AI 应用创意变成现实
- 将 LLM 集成至已有业务:增强现有应用的能力
- 作为企业级 LLM 基础设施:加速 GenAI 技术在企业内的推广
- 探索 LLM 的能力边界:实践 Prompt 工程和 Agent 技术
Dify 的优势
- 易用性:Dify 的使用门槛较低,即使是非技术人员也能参与到 AI 应用的定义和数据运营过程中。
- 灵活性:Dify 支持各种类型的 LLM,并提供了丰富的插件,可以满足各种需求。
- 可扩展性:Dify 可以部署在云端或本地,可以满足不同规模的应用需求。
Dify 的应用场景
- 创业:快速将 AI 应用创意变成现实。
- 将 LLM 集成至已有业务:增强现有应用的能力。
- 作为企业级 LLM 基础设施:加速 GenAI 技术在企业内的推广。
- 探索 LLM 的能力边界:实践 Prompt 工程和 Agent 技术。
部署与使用
方法一:使用云服务
https://cloud.dify.ai/apps
使用云服务就无需本地部署了
-
- 登录 Dify 云服务,创建一个或加入已有的 Workspace
- 2.配置你的模型供应商,或使用我们提供的托管模型供应商
-
- 创建应用
方法二:本地部署
这里使用 Docker 部署,安装前确定已经部署好 Docker、Docker-compose。
将项目 clone 下来:
git clone https://github.com/langgenius/dify.git
进入 dify 源代码的 docker 目录,使用 docker 启动:
cd dify/docker
docker-compose up -d
下载好镜像启动后,可以看到相关服务:
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-api-1 langgenius/dify-api:0.3.2 "/entrypoint.sh" api 4 seconds ago Up 2 seconds 80/tcp, 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 4 seconds ago Up 2 seconds 0.0.0.0:5432->5432/tcp
docker-nginx-1 nginx:latest "/docker-entrypoint.…" nginx 4 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 4 seconds ago Up 3 seconds 6379/tcp
docker-weaviate-1 semitechnologies/weaviate:1.18.4 "/bin/weaviate --hos…" weaviate 4 seconds ago Up 3 seconds
docker-web-1 langgenius/dify-web:0.3.2 "/entrypoint.sh" web 4 seconds ago Up 3 seconds 80/tcp, 3000/tcp
docker-worker-1 langgenius/dify-api:0.3.2 "/entrypoint.sh" worker 4 seconds ago Up 2 seconds 80/tcp, 5001/tcp
如果有防火墙需要放行 80、5432 端口。
下面在浏览器访问 http://部署服务ip ,即可进入到 dify ,刚开始需要设置邮箱、用户名密码信息:
设置完成并登录后即可来到主页面:
构建私有化知识库问答应用
构建本地知识库
现在我们定义下课程信息,将内容放入一个 txt 文本中:
周一课程:上午:JAVA,下午:Python。周二课程:上午:机器学习,下午:机器视觉。周三课程:上午:NLP,下午:HTML。周四课程:上午:微服务,下午:大数据。周五课程:上午:android,下午:历史文化。
下面点到数据集下,点击创建数据集:
下面将上面的 txt 文本拖入或选中进来:
下面进行文本的分段与清洗,由于内容不多,可以分到一个段中:
下面点击保存就成功创建了一个知识库:
构建问答应用
下面构建一个问答的应用:
由于是使用 ChatGPT 下面先给它指定一个 API key:
对于 ChatGPT 的版本,这里以 gpt-3.5-turbo 为例:
下面在 提示词编排 中使用上面的知识库:
此时可以在右侧进行调试:
我们已经成功实现了我们希望看到的效果,如果您感觉满意,请不要忘记点击右上角的“发布”按钮。接下来,我们将介绍如何通过API来使用这个功能。访问API时,您可以看到API接口地址,同时也会给出访问示例,方便您更好地理解和使用。
访问前需要生成 API 秘钥,可以点击 API 秘钥 生成:
下面我们就可以使用 PostMan 进行访问了。
效果测试
这里使用自带的预览:
下面就可以进行一些针对性的问答了: