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 进行访问了。
 
效果测试
这里使用自带的预览:
 
 下面就可以进行一些针对性的问答了:
 


















