#LLMOps##AIGC# Dify_构建本地知识库问答应用-生成Al应用的创新引擎 用于构建助手API和GPT的开源开发平台

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
使用云服务就无需本地部署了

    1. 登录 Dify 云服务,创建一个或加入已有的 Workspace
  • 2.配置你的模型供应商,或使用我们提供的托管模型供应商
    1. 创建应用

方法二:本地部署

这里使用 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 进行访问了。

效果测试

这里使用自带的预览:

下面就可以进行一些针对性的问答了:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/411690.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“中国最危险的女人”闪亮现身瑞士

媒体报道,昨(1月17日)天中午,财新CEO午餐会在瑞士达沃斯举办,财新传媒社长胡舒立女士在致辞,她的现身,进一步粉碎了不久前“胡舒立被国安约谈”的网传谣言。 图:财新传媒社长胡舒立&…

Docker部署的gitlab升级指南(15.11.X容器里升级PostgreSQL到13.8)

一、确定当前版本 #进入当前版本容器产看gitlab版本 docker exec -it gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION#显示版本如下 14.4.0二、备份数据,防止升级发生意外 #执行备份命令 docker exec -ti gitlab gitlab-rake gitlab:backup:creat…

【K8S 云原生】K8S的对外服务—ingress

目录 一、K8S的Service 1、Service的作用 2、Service类型: 二、ingress 1、ingress的组成: 2、ingress资源的定义项: 3、ingress暴露服务端的方式 3.1、DeploymentLoadBalancer模式: 1、工作流程图: 3.2、Dae…

软件工程:黑盒测试等价分类法相关知识和多实例分析

目录 一、黑盒测试和等价分类法 1. 黑盒测试 2. 等价分类法 二、黑盒测试等价分类法实例分析 1. 工厂招工年龄测试 2. 规定电话号码测试 3. 八位微机测试 4. 三角形判断测试 一、黑盒测试和等价分类法 1. 黑盒测试 黑盒测试就是根据被测试程序功能来进行测试&#xf…

软件测试工程师应该怎么样?

目录 软件测试工程师的几种职位 测试经理 测试架构师 测试经理 VS 测试架构师 测试在管理上的发展 测试在技术上的发展 角色与段位 软件测试工程师的几种职位 测试经理 一个测试经理应该对业务有一定的了解,以便更好地管理测试团队和负责测试项目的工作…

网络编程【1】

【 1 】什么是网络编程 网络编程是指通过计算机网络进行数据交换和通信的编程过程。它涉及到使用网络协议和通信接口,使不同计算机之间能够进行数据传输和通信。 总结: 网络编程的研究前提就是基于互联网 网络编程就是基于互联网写代码 【 2 】为什么…

【印象深刻的实战经历】两次全国大学生数学建模经历分享

目录 🌼初次接触 初次参加培训 分享培训所得 比赛开始 🔥再次接触 参加校赛 机缘巧合 再次培训 比赛开始 📕技巧总结 从问题的实际意义分析大体上可分为 从问题的解决方法上分析 做国赛题目的步骤 赛前准备 选题 寻找思路…

给科研人的 ML 开源发布工具包

什么是开源发布工具包? 恭喜你的论文成功发表,这是一个巨大的成就!你的研究成果将为学界做出贡献。 其实除了发表论文之外,你还可以通过发布研究的其他部分,如代码、数据集、模型等,来增加研究的可见度和采…

LeetCode三数之和

解题思路 常规玩法: 用三层循环暴力的把所有可能都试一遍,然后再去重。 进阶玩法:使用指针 排序去重遍历 就这三个步骤,每个步骤中细节挺多。 排序与去重原因: -2 -1 1 1 这是排序好的数据(先不说…

预处理详解(#和##运算符、命名约定、#undef​​、命令行定义​、条件编译、头文件的包含​)

目录 一、#和## 1.1#运算符 1.2## 运算符​ 二、命名约定​ 三、#undef​ 四、命令行定义​ 五、条件编译​ 六、头文件的包含​ 4.1 头文件被包含的方式:​ 4.1.1 本地文件包含​ Linux环境的标准头文件的路径:​ VS环境的标准头文件的路径&…

学习记录-自动驾驶与机器人中的SLAM技术

以下所有内容均为高翔大神所注的《自动驾驶与机器人中的SLAM技术》中的内容 2D SLAM 作者实现了一个2D 的ICP 3D SLAM ICP 实现了一个并发的ICP配准实现了点到面的ICP实现了点到线的ICP点到线的ICP的结果与点到点的ICP相当,略差于点到面的、在三中算法中&#…

C# winform应用

C# winform应用 需求:导入Excel文件时需要执行其他操作,实现如果取消导入就不执行其他操作 C#代码实现 private bool DLimport0(string tablename, string datebasename, string buttonname){string xxx "";string Tag "";stri…