首页 > 其他分享 >Dify 基于 ChatGPT 构建本地知识库问答应用

Dify 基于 ChatGPT 构建本地知识库问答应用

时间:2023-08-14 11:46:12浏览次数:35  
标签:下面 Dify dify 知识库 API ChatGPT 问答

来源:

https://blog.csdn.net/qq_43692950/article/details/131345124

 

一、Dify
自从 ChatGPT 横空出世之后,其极高的语言理解和交互能力不仅让人惊呼,ChatGPT不仅能够处理事实性问题,还能理解和生成情感色彩更浓厚的对话内容,能够识别用户的情感倾向,并据此作出相应的回应。这么好的东西怎么能运用到具体私有领域来呢?

例如在学校的场景下,我们需要打造一个学习需求问答系统,问一周的课程,可以回答出:周一需要上 JAVA 课,周二上 Python 课,周三上其他课等,对于类似这种私有化的知识库,如果不对 ChatGPT 微调的话很难精准回答出来。

现在 dify 就可以帮助我们低成本的实现上述的功能 ,使其可以精准回答专业领域的知识。

dify介绍文档: https://docs.dify.ai/v/zh-hans/getting-started/intro-to-dify

下面我们借助 dify 简单实现下上述的场景,由于我们是基本 ChatGPT 作为 LLM 支撑,所以你需要有一个 OpenAI 的 API Key。

二、Dify 服务部署
这里也可以使用官方的服务进行操作,就无需进行本地安装了,使用下面地址:

https://cloud.dify.ai/apps

如果需要本地部署,则进行下下面操作:

这里使用 Docker 部署,安装前确定已经部署好 Docker、Docker-compose。

将项目 clone 下来:

git clone https://github.com/langgenius/dify.git
1
进入 dify 源代码的 docker 目录,使用 docker 启动:

cd dify/docker
1
docker-compose up -d
1
下载好镜像启动后,可以看到相关服务:

 

如果有防火墙需要放行 80、5432 端口。

下面在浏览器访问 http://部署服务ip ,即可进入到 dify ,刚开始需要设置邮箱、用户名密码信息:

 

设置完成并登录后即可来到主页面:

 

三、构建私有化知识库问答应用
3.1 构建本地知识库
现在我们定义下课程信息,将内容放入一个 txt 文本中:

周一课程:上午:JAVA,下午:Python。
周二课程:上午:机器学习,下午:机器视觉。
周三课程:上午:NLP,下午:HTML。
周四课程:上午:微服务,下午:大数据。
周五课程:上午:android,下午:历史文化。
1
2
3
4
5
下面点到数据集下,点击创建数据集:

 

下面将上面的 txt 文本拖入或选中进来:

 

下面进行文本的分段与清洗,由于内容不多,可以分到一个段中:

 

下面点击保存就成功创建了一个知识库:

 

3.2 构建问答应用
下面构建一个问答的应用:

 

由于是使用 ChatGPT 下面先给它指定一个 API key:

 

对于 ChatGPT 的版本,这里以 gpt-3.5-turbo 为例:

 

下面在 提示词编排 中使用上面的知识库:

 

此时可以在右侧进行调试:

 

可以看到已经有了我们想要的效果,最后感觉不错的话,一定要点下右上角的发布,下面我们通过 API 的方式去使用它,在访问API 中可以看到API接口地址,并给出了访问示例:

 

访问前需要生成 API 秘钥,可以点击 API 秘钥 生成:

 

下面我们就可以使用 PostMan 进行访问了。

 

3.3 效果测试
这里使用自带的预览:

 

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


————————————————
版权声明:本文为CSDN博主「小毕超」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43692950/article/details/131345124

标签:下面,Dify,dify,知识库,API,ChatGPT,问答
From: https://www.cnblogs.com/gaoyanbing/p/17628209.html

相关文章

  • ChatGPT 调教日记(二):程序员转量化的背景知识
    程序员如何学习量化金融作为一个程序员学习量化金融(quant)是一个不错的选择。以下是一些建议:学习金融基础知识:了解金融市场、投资策略和金融产品。这将帮助你理解量化金融的背景和应用场景。学习统计学和数学:量化金融依赖于统计和数学模型。掌握基本的统计学概念和数学技巧,......
  • Spring Boot + Vue3前后端分离实战wiki知识库系统<十二>--用户管理&单点登录开发一
    目标:在上一次https://www.cnblogs.com/webor2006/p/17533745.html我们已经完成了文档管理的功能模块开发,接下来则开启新模块的学习---用户登录,这块还是有不少知识点值得学习的,先来看一下整体的效果,关于效果官网有一个体验地址:wiki.courseimooc.com,如下:其效果也是人人熟知的,下面......
  • 文心一言 VS 讯飞星火 VS chatgpt (75)-- 算法导论7.2 4题
    四、如果用go语言,银行一般会按照交易时间来记录某一账户的交易情况。但是,很多人却喜欢收到的银行对账单是按照支票号码的顺序来排列的。这是因为,人们通常都是按照支票号码的顺序来开出支票的,而商人也通常都是根据支票编号的顺序兑付支票。这一问题是将按交易时间排序的序列转换成按......
  • 文心一言 VS 讯飞星火 VS chatgpt (75)-- 算法导论7.2 4题
    四、如果用go语言,银行一般会按照交易时间来记录某一账户的交易情况。但是,很多人却喜欢收到的银行对账单是按照支票号码的顺序来排列的。这是因为,人们通常都是按照支票号码的顺序来开出支票的,而商人也通常都是根据支票编号的顺序兑付支票。这一问题是将按交易时间排序的序列转换成......
  • ChatGPT联网查询基于yahoo搜索引擎
    联网查询原理很简单1.对搜索内容分词2.将分词后的内容用yahoo搜索3.将搜索返回的内容交给ChatGPT整理提炼Demo代码如下importfetchfrom'node-fetch';importSegmentfrom'segment';import{HttpsProxyAgent}from'https-proxy-agent';constproxyUrl='http://1......
  • 我用ChatGPT的一些实践案例
    推荐使用公式针对复杂的问题,我们可以套用公式:角色+明确任务目标+任务描述/背景信息+输出要求+人工修改(加人味),AI的输出最后还是需要人工来润滑一下的。需要注意的是,跟ChatGPT聊的时候,其实并不需要一开始就提出一个很精确的问题,跟浏览器搜索不同,它是可以记住你上下文的,你完......
  • ChatGPT:为未来的个人和企业提供革命性的对话解决方案
    ChatGPT被认为是未来的个人和企业的革命性对话解决方案,因为它具有以下特点:1.自然流畅的对话:ChatGPT能够以自然的、流畅的方式进行对话,使得与机器的交互更加人性化和易于理解。2.广泛的知识:ChatGPT经过大规模的预训练,可以提供丰富的知识和信息,能够回答各种问题,并提供有用的建议和指......
  • 文心一言 VS 讯飞星火 VS chatgpt (74)-- 算法导论7.2 2题
    二、如果用go语言,当数组A的所有元素都具有相同值时,QUICKSORT的时间复杂度是什么?文心一言:在Go语言中,对一个所有元素都相等的数组进行快速排序(QuickSort)的时间复杂度是O(nlogn)。快速排序是一种分而治之的排序算法,它将一个数组分成两个子数组,然后对这两个子数组进行递归排序。在最......
  • 文心一言 VS 讯飞星火 VS chatgpt (73)-- 算法导论7.1 4题
    四、如何修改QUICKSORT,使得它能够以非递增序进行排序?文心一言:快速排序(Quicksort)是一种常用的排序算法,基于分治策略进行设计。默认情况下,快速排序会以递增序进行排序。若想修改快速排序以实现非递增排序,我们需要调整比较和交换的逻辑。以下是修改后的非递增快速排序的Python代码......
  • 如何更好的使用ChatGPT
    大家都知道,现在市面上的AI工具都是通过一问一答的方式与我们进行互动,其能力非常强,但是至于AI能发挥多大的本事则是取决你如何进行提问,你的提问越精准那么AI工具的答复就会越完美,至于如何进行精准的提问,本篇文章将会以ChatGPT为例给你介绍。点击领取ChatGPT精准提问资料1.ChatGPT的......