AI本地部署之anythingLLM

在这里插入图片描述

  • 文档加载(Document Loading):从多种不同来源加载文档。LangChain提供了100多种不同的文档加载器,包括PDF在内的非结构化的数据、SQL在内的结构化的数据,以及Python、Java之类的代码等​ •
  • 文本分割(Splitting):文本分割器把Documents 切分为指定大小的块,我把它们称为“文档块”或者“文档片”​
  • 存储(Storage):存储涉及到两个环节,分别是:​
    ◦ 将切分好的文档块进行嵌入(Embedding)转换成向量的形式​
    ◦ 将Embedding后的向量数据存储到向量数据库​
  • 检索(Retrieval):一旦数据进入向量数据库,我们仍然需要将数据检索出来,我们会通过某种检索算法找到与输入问题相似的嵌入片​
  • Output(输出):把问题以及检索出来的嵌入片一起提交给LLM,LLM会通过问题和检索出来的提示一起来生成更加合理的答案

文本加载器(Document Loaders)​

文本加载器就是将用户提供的文本加载到内存中,便于进行后续的处理​ ​

文本切割器(Text Splitters)​

文本分割器把Documents 切分为指定大小的块,我把它们称为“文档块”或者“文档片”​ 文本切割通常有以下几个原因​
• 为了更好的进行文本嵌入以及向量数据库的存储​
• 通常大语言模型都有上下文的限制,如果不进行切割,文本在传递给大模型的时候可能超出上下文限制导致大模型随机丢失信息​

文本切割器的概念是非常容易理解的,这里我们简单了解下文本切割器的工作流程​

  1. 将文本切割成小的,语义上有意义的块(通常是句子)​
  2. 开始将这些小块组成一个较大的块,直到达到某个块的大小(这个会通过某种函数测量)​
  3. 一旦达到该大小,就将该块作为自己的文本片段,并开始创建一个新的文本块,同时保留一些重叠(以保持块之间的上下文)。​ ​

文本嵌入模型(Text Embedding models)​

文本嵌入模型是用来将文本转换成数值向量的工具,这些向量能够捕捉文本的语义信息,使得相似的文本在向量空间中彼此接近。这对于各种自然语言处理任务,如文本相似性比较、聚类和检索等,都是非常有用的。下面是一段对嵌入的解释

在这里插入图片描述
在这里插入图片描述

文本检索​

一旦数据进入向量数据库,我们仍然需要将数据检索出来,我们会通过某种检索算法找到与输入问题相似的嵌入片。这里主要利用了大模型的能力

AnythingLLM 本地安装、配置

  1. 选择大模型
    在这里插入图片描述
  2. 选择文本嵌入模型
    在这里插入图片描述
  3. 选择向量数据库
    在这里插入图片描述

构建本地知识库

AnythingLLM中有一个Workspace的概念,我们可以创建自己独有的Workspace跟其他的项目数据进行隔离。

  1. 首先创建一个工作空间
    在这里插入图片描述
  2. 上传文档并且在工作空间中进行文本嵌入

在这里插入图片描述
3. 选择对话模式​
AnythingLLM提供了两种对话模式:​

  • Chat模式:大模型会根据自己的训练数据和我们上传的文档数据综合给出答案​
  • Query模式:大模型仅仅会依靠文档中的数据给出答案
    在这里插入图片描述
  1. 测试对话​
    当上述配置完成之后,我们就可以跟大模型进行对话了
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小胖

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值