基于GPT搭建私有知识库聊天机器人(一)实现原理

文章链接:

基于GPT搭建私有知识库聊天机器人(二)环境安装

基于GPT搭建私有知识库聊天机器人(三)向量数据训练

基于GPT搭建私有知识库聊天机器人(四)问答实现


1、成品演示

  • 支持微信聊天
  • 支持网页聊天
  • 支持微信语音对话
  • 支持私有知识文件训练,并针对文件提问

步骤1:准备本地文件a.txt,支持pdf、txt、markdown、ppt等

步骤2:上传a.txt,并选择要保存的在哪个知识库

步骤3:对上传的a.txt文件进行训练

步骤4:进行提问(网页和微信)


2、实现原理

目前很多企业希望将ChatGPT的能力应用到企业内部当中,但ChatGPT是个预训练模型,其所能回答的知识主要来源于互联网上公开的通用知识库,对于部分垂直领域和企业内部的私有知识库的问答无法起到很好的效果,因此,针对这类场景,企业可以基于OpenAI提供的模型服务以及相关生态工具(比如langchain、huggingFace等),构建企业自己特有的知识库问答系统,并在内部知识库问答系统之上,再搭建客服问答系统以及其他的企业助手工具。

总体流程如下:

1、将垂直行业领域的知识库文档进行Embedding向量化处理,并将处理后的语义向量Vectors存入向量数据库Vector Database中(这个步骤中还包括对非结构化数据先转化成文本数据,并对长文本进行Splitter分割处理)

2、将用户的问题进行向量化Embedding处理,转化为Vector search

3、将用户问题Vector search 和向量数据库进行查询匹配,返回相似度最高的TopN条知识文本

4、将匹配出的文本和用户的问题上下文一起提交给 LLM,根据Prompt生成最终的回答

3、Embedding(嵌入)

嵌入(Embedding)是一种将文本或对象转换为向量表示的技术,将词语、句子或其他文本形式转换为固定长度的向量表示。嵌入向量是由一系列浮点数构成的向量。通过计算两个嵌入向量之间的距离,可以衡量它们之间的相关性。距离较小的嵌入向量表示文本之间具有较高的相关性,而距离较大的嵌入向量表示文本之间相关性较低。

在这里插入图片描述

Embedding模型在许多应用场景中都有广泛的应用。在OpenAI中,文本嵌入技术主要用于衡量文本字符串之间的相关性。

以下是一些常见的应用场景:

  1. 搜索(Search):根据与查询字符串的相关性对搜索结果进行排序。
  2. 聚类(Clustering):将文本字符串按照相似性进行分组。
  3. 推荐(Recommendations):推荐与给定文本字符串相关的项目。
  4. 异常检测(Anomaly Detection):识别与其他文本字符串相关性较低的异常值。
  5. 多样性测量(Diversity Measurement):分析文本字符串之间相似性的分布。
  6. 分类(Classification):根据文本字符串与各标签的相似性进行分类。

下面是本次的应用场景,将知识数据通过嵌入模型查询出向量,并映射保存,然后在应用时将问题也转换成嵌入式,通过相似度算法(比如余弦相似度)对比前期保存的向量,找出TopN的数据,即得到与问题最关联的内容。

4、Embedding Models(嵌入模型)

OpenAI提供一个第二代嵌入(Embeddings)模型(模型ID中用-002表示),以及16个第一代模型(模型ID中用-001表示)。

建议在几乎所有情况下使用text-embedding-ada-002。它更好、更便宜、更简单易用。

使用价格按输入令牌计价,每1000个token价格为$0.0004,或约为每美元约3,000页(假设每页约有800个token):

模型(Model)一美元页数(Rough pages per dollar)BEIR评分
text-embedding-ada-002300053.9
-davinci--001652.8
-curie--0016050.9
-babbage--00124050.4
-ada--00130049.0

5、Completion(补全)

Completions是我们API的核心,提供了一个非常灵活和强大的简单接口。您将一些文本作为提示(Prompt)输入,API将返回一个文本补全(Completion),试图匹配您给它的任何指令或上下文。

Prompt

为一个冰淇淋店写一个标语。

Completion

我们每勺都掌握微笑!

您可以把它想象成一种非常先进的自动完成——模型处理您的文本提示并尝试预测最有可能出现的内容。

6、Temperature(温度)

温度(temperature)是一个介于0和1之间的值,它本质上能让你控制模型在做出这些预测时的信心程度。降低温度(temperature)意味着它将采取更少的风险,补全将更准确和确定性。增加温度(temperature)将产生更多样化的完成度。

即,可以简单理解通过此参数可调整回答的随机性,数值越小随机性越小,反之亦然。

7、Tokens(令牌)

langchain默认模型使用了text-davinci-003。建议使用gpt-3.5-turbo,因为它们会产生更好的结果。目前最好的模型是gpt-4,但需要申请权限。

对于英文文本,1个token约=0.75个单词(token可以短至一个字符或长至一个单词,比如:字符串"ChatGPT is great!“被编码为六个标记:[“Chat”, “G”, “PT”, " is”, " great", “!”])。

在使用 API 时,您将被计费的 token 数是包括了请求和响应中的所有 token 数量。

在这里插入图片描述

8、向量数据库

8.1 向量数据的结构

向量数据的典型结构是一个一维数组,其中的元素是数值(通常是浮点数)。这些数值表示对象或数据点在多维空间中的位置、特征或属性。向量数据的长度取决于所表示的特征维度。下面是一个简单的例子:

假设我们有三个水果:苹果、香蕉和葡萄。我们想用向量数据表示它们的颜色和大小特征。我们可以将颜色分为红、绿、蓝三个通道,将大小分为小、中、大三个类别。因此,我们可以用一个包含 6 个数值的向量表示每个水果的特征。

苹果(红色,中等大小):[1, 0, 0, 0, 1, 0]
香蕉(黄色,大):[0, 1, 0, 0, 0, 1]
葡萄(紫色,小):[0.5, 0, 0.5, 1, 0, 0]

在这个例子中,每个水果都被表示为一个 6 维向量。前三个数值表示颜色信息(红、绿、蓝通道),后三个数值表示大小信息(小、中、大)。

细心的你可能会发现,紫色的向量表示是 [0.5, 0, 0.5],没错,这代表紫色是由红色和蓝色组成。

这种数组结构是典型的向量数据表示。

在推荐系统中,用户和物品可以用向量表示,以捕捉其特征和属性。例如,用户可能对电影类型、导演、演员等方面有偏好,这些偏好可以用一个数值向量表示。通过计算用户向量与物品向量之间的相似度,可以实现个性化的推荐。

在自然语言处理中,词嵌入是一种将文本数据转换为向量数据的方法。例如,使用 Word2Vec 或 GloVe 算法,可以将单词表示为一个包含多个数值的向量。这些数值捕捉了单词的语义特征,使得相似含义的单词在向量空间中彼此靠近。

8.2 向量数据的计算

有了向量数据,怎么用呢?这里面有没有一些通用的计算模式?

向量数据的结构非常简单,但针对不同的场景,衍生出了多种计算方法。

比如最常见的有向量相似度计算:衡量两个向量之间的相似程度。常用的相似度度量方法包括余弦相似度(openai推荐)、欧几里得距离、曼哈顿距离等。

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

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

相关文章

对阿,为什么大学程序设计老师不去外面公司当程序员?

我在大学的时候,老师都感觉很厉害的样子,一节课讲下来不带断句的(当然也碰到过一本书照着念不错一个字的)大学老师的工资应该没程序员的工资高吧,这其中存在着怎样的原因呢? 先看看网友是怎么吐槽的&#x…

程序员们,你会考虑使用中文编程吗?

众所周知,编程语言有一条无形的“鄙视链”。 Java和C#相互不服,并且看不起写Python的,Python看不起PHP,PHP看不起前端。而中文编程就在这个语言“鄙视链”的底端艰难生存。 有人对中文编程嗤之以鼻,相比于“人生苦短…

为什么大学还在教过时的软件技术,程序员:只能说你根本不懂软件

这几天小编一个刚毕业的学弟来向我取经,也抱怨了一些自己入职后工作上的事情。其中“为什么大学教的都是一些过时的软件技术,比如JSP,工作之前还要从头学习新的技术”这个问题让我特别有感触。按理说作为计算机科学来说,优势就在于…

DX滑块验证码别乱捅!一不小心就反爬了。

​大家好,我是TheWeiJun,欢迎来到我的公众号。今天我们将探讨一个有趣的话题:逆向滑块验证码。在互联网时代,随着网络安全问题日益引起人们的关注,各种验证码技术被广泛应用于各种网站和应用程序中,其中包括…

《当下的哲学》[法]阿兰.巴迪欧(作者)epub+mobi+azw3格式下载

下载地址:点我 下载后手机可浏览 内容简介 本书是巴迪欧与齐泽克针对同一问题所做对话的记录,包括两人各自的观点概述,以及一次激烈的辩论,从中可以看出两人之间存在怎样的一致性与分歧。这既是一封哲学讨论的邀请函,也…

读书计划-2008年12月

凭心而论,广图的图书更新速度还是很不错的。不过今天也发现,哲学、人文类的图书,越是新的书越少人借,一个小时里就发现有差不多10本是从来没有人借过的。 本月读书计划。 1. 《软件开发的滑铁卢》 广图一共有三本,到…

书评“世界杯”

昨天晚上,手捧《哈扎尔词典》的米洛拉德帕维奇以1比0敲碎了君特格拉斯的《铁皮鼓》;斯拉沃热齐泽克拎着《伊拉克:借来的壶》2比2浇灭了贝侯赛因奥巴马的《我父亲的梦想》和他《无畏的希望》。 今天早上,0比0,史蒂文杰拉…

“象征界”的奇观:刘天怜花鸟工笔作品印象

有人说:“创新”是西洋画的基调,中国画的焦点是“承传”。就是说,西画必须花样翻新,挑战前人,甚至要推倒重来,唯此才可能在艺术史上占有一席之地;中国画强调以古人为师,重视师徒之间…

营销,就是营销人性的弱点

营销,就是营销人性的弱点一切营销都是弱点营销,针对的是我们与生俱来的人性弱点和后天养成的世俗判断。支撑我们做出购买行为的,不是理性的判断,而是我们自以为理性实际上十分感性的判断。 (1)多就是好&…

当我们谈“互联网思维”时,我们在谈些什么?

编者按:“用户至上”“专注产品”“社会化媒体营销”……关于“互联网思维”,我们太常听到这样的解读。在听多了极客们对这一议题发表的看法后,我们不妨来听听另一种声音。此篇投稿来自北京电影学院的一名摄影研究生,微博宋大象。…

Model 3产能再缩水,特斯拉遇“甜蜜的负担”

Model 3应该是特斯拉成立以来最具战略意义的产品,平民定价让其订单量早早突破40万辆,大规模量产势必会成为特斯拉走向全面盈利的转折点,同时,从高性能电动汽车领域进入中低端消费领域,也将使特斯拉的服务网络和售后体系…

辩证法笔记

辩证法 引言: dialectic这个德语词汇最早被贺麟先生翻译成辩证法引进国内,事实上这个翻译常常引起我们的误解,好像它是我们认识事物分析问题的方法,是认识论上的东西。事实上,辩证法在黑格尔哪里从来都是直达本体论的&…

总之,这是一个规划

按照以往的惯例,我是不会制定一个如此详尽的计划的,事情永远不会按照你所计划的那样发生,不过,计划本身依旧有对制定者有正向的作用。因此,我认为完成了计划比你完成了什么更加重要,计划的本质是*约束*。 …

功率谱和功率谱估计

文章目录 1、先导知识2、功率谱以及谱估计(1)功率谱的基本概念(2)谱估计的概念(3)自相关序列的估计 3、谱估计的经典方法及matlab实现4、参考书目 1、先导知识 高等数学(微积分、线代、概率论及…

【五线谱】琶音记号

文章目录 一、琶音记号 一、琶音记号 符号是 琶音记号 ; 下图表示 G3 , C4 , E4 设置成琶音效果 ; 在 Cubase 中 , 将 G3 , C4 , E4 设置成琶音 , 三个音符之间先后错开 , 此外这三个音符的力度也进行不同的设置 ;

chatgpt赋能python:PythonShodan:极具威力的网络搜索引擎

Python Shodan:极具威力的网络搜索引擎 Python是一种流行的编程语言,被许多开发人员用来创建各种类型的应用程序和工具。其中一个强大的工具是Shodan,它是一个网络搜索引擎,可以帮助你找到任何与互联网连接的设备或系统。 什么是…

chatgpt赋能python:PythonWhoosh:优秀的搜索引擎库

Python Whoosh: 优秀的搜索引擎库 介绍 Python Whoosh 是一款高性能的全文搜索引擎库。由于其高效性能和易用性,近年来在大型网站和应用中越来越得到开发人员的青睐。 Whoosh 依赖于 Python 本身并且不需要外部组件,其文件格式可与 Lucene 兼容&#…

经CSDN副总裁点拨,我发现了世界杯球队与优秀开发团队的共通点

☆ 世界杯已经快要接近尾声了,而无论法国还是阿根廷谁能走到最后,无疑他们都是非常优秀的世界杯球队,甚至可以说,能进入世界杯的球队,都是举世瞩目的国家队阵容。 ☆ 而我最近也一直在思考,那么我们的开发团…

科大讯飞中文+日语语音听写(流式版)

文章目录 1.实现效果1.1日语效果2.2中文效果 2.具体实现1.捕捉麦克风语音输入并保存为.wav文件2.进行VAD(Voice Activity Detection)检测3.下载官网python版语音听写demo4.字幕显示5.将Python程序打包为exe 3.其它 需求:记录会议的内容,将会议的语音(中文和日文)转为…

科大讯飞AI学习机T10测评:一台平板,就能实现减负增效?

随着“双减”政策的落地,学生更多的学习时间回归到学校和家庭场景。作为校外最重要的学习场景,现阶段的家庭教育却存在着诸多痛点。 大多数家长普通话和英文发音不标准、汉字生词不认识,不敢教也不会教;低年级孩子自学不得法,慢慢丧失学习信心和兴趣。中高年级学生解题没…