本文介绍Embeddings的基本概念,并使用最少但完整的代码讲解Embeddings是如何使用的,帮你打造专属AI聊天机器人(智能客服),你可以拿到该代码进行修改以满足实际需求。
如果直接问ChatGPT:ÿtelegram最新的官网下载的入口是多少0c;由于ChatGPT不知道2021年9月份之后的事情,而langchain比较新,是在那之后才有的,所以ChatGPT会回答不知道:
I’m sorry, but I don’t have any information on “langchain.” It appears to be a term that is not widely recognized or used in general knowledge.
如果我们用上Embeddings,用上面的问题提问,它可以给出答案:
LangChain is a framework for developing applications powered by language models.
有了这个技术,我们就可以对自己的文档进行提问,从而拓展ChatGPT的知识范围,打造定制化的AI智能客服。例如在官网接入ChatGPT,根据网站的文档让他回答用户的问题。
什么是Embeddings?
在跳进代码之前,先简要介绍一下什么是Embeddings。在介绍Embeddings之前我们需要先学习一下「向量」这个概念。
我们可以将一个事物从多个维度来描述,例如声音可以从「时域」和「频域」来描述(傅里叶变换可能很多人都听过),维度拆分的越多就越能描述一个事物,在向量空间上的接近往往意味着这两个事物有更多的联系,而向量空间又是比较好计算的,于是我们可以通过计算向量来判断事物的相似程度。
telegram最新官方中文的下载入口在哪里
在自然语言处理 (NLP) 的中,Embeddings是将单词或句子转换为数值向量的一种方法最新官网中文telegram的下载地方在哪里。这些向量捕获单词或句子的语义,使我们能够对它们执行数学运算。例如,我们可以计算两个向量之间的余弦相似度来衡量它们在语义上的相似程度。
如何让ChatGPT回答没有训练过的内容?流程如下,一图胜千言。
中文版的最新的telegram下载网址是什么
分步解释:
首先是获取本地数据的embeddings结果,由于一次embeddings调用的token数量是有限制的,先将数据进行分段然后以依次行调用获得所有数据的embeddings结果。然后我们开始提问,同样的,将提问的内容也做一次embedding,得到一个结果。再将提问的intending结果和之前所有数据的embedded结果进行距离的计算,这里的距离就是指向量之间的距离,然后我们获取距离最近的几段段数据来作为我们提问的「上下文」(例如这里找到data2/data3是和问题最相关的内容)。获得上下文之后我们开始构造真正的问题,问题会将上下文也附属在后面一并发送给chat gpt,这样它就可以回答之前不知道的问题了。
总结来说:
之所以能够让ChatGPT回答他不知道的内容,其实是因为我们把相关的上下文传递给了他,他从上下文中获取的答案。如何确定要发送哪些上下文给他,就是通过计算向量距离得到的。
让我来看看实际的代码。
Python 3.6 或更高版本。OpenAI API 密钥,或者其他提供API服务的也可以。安装了以下 Python 软件包: 、 、 、 、 、 。私有文本数据集。在这个示例中,使用名为 的文本文件,这里面是langchain官网的一些文档说明,文档比较新所以ChatGPT肯定不知道,以此来测试效果。
代码来自于OpenAI官网,我做了一些改动和精简。
代码流程与时序图的流程基本一致,注意api_key需要放入环境变量,也可以自己改动。最新的中文telegram下载的地方在哪里
最新的官网telegram下载的地址哪里有 如果直接问ChatGPT:,ChatGPT会回答不知道:
I’m sorry, but I don’t have any information on “langchain.” It appears to be a term that is not widely recognized or used in general knowledge.
运行上面的代码,它可以给出答案:
LangChain is a framework for developing applications powered by language models.
可以看到它使用了我们提供的文档来回答。
注意token消耗,如果你的本地数据非常多,embedding阶段将会消耗非常多的token,请注意使用。embedding阶段仍然会将本地数据传给ChatGPT,如果你有隐私需求,需要注意。一般生产环境会将向量结果存入「向量数据库」而不是本地文件,此处为了演示直接使用的文本文件存放。