词向量(Embeddings)是一种将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。
优势1:词向量可以语义搜索
比如百度搜索,使用的是关键词搜索。而词向量搜索,是对句子的语义进行搜索,他会找到意思相近的前k个句子。
优势2:词向量可以对多模态数据进行搜索
当传统数据库存储文字、声音、图像、视频等多种媒介时,很难去将上述多种媒介构建起关联与跨模态的查询方法;但是词向量却可以通过多种向量模型将多种数据映射成统一的向量形式。
缺点:准确度问题
定义:
向量数据库是一种专门用于存储和检索向量数据(embedding)的数据库系统。
在向量数据库中,数据被表示为向量形式,每个向量代表一个数据项。这些向量可以是数字、文本、图像或其他类型的数据。向量数据库使用高效的索引和查询算法来加速向量数据的存储和检索过程。
原理:
向量数据库中的数据以向量作为基本单位,对向量进行存储、处理及检索。向量数据库通过计算与目标向量的余弦距离、点积等获取与目标向量的相似度。当处理大量甚至海量的向量数据时,向量数据库索引和查询算法的效率明显高于传统数据库。
有三种Embedding模型,性能如下所示:
text-embedding-3-large性能最好,text-embedding-3-small性价比高,text-embedding-ada-002效果不好,不推荐。
如果没有openai apikey可以使用自己的github账号去这个项目领取一个免费的使用:
chatanywhere/GPT_API_free: Free ChatGPT API Key,免费ChatGPT API,支持GPT4 API(免费),ChatGPT国内可用免费转发API,直连无需代理。可以搭配ChatBox等软件/插件使用,极大降低接口使用成本。国内即可无限制畅快聊天。 (github.com)
执行代码:
使用re处理、空格、。
使用 按照分隔符的优先级进行递归的文档分割。
设置 单段文本长度(CHUNK_SIZE)、知识库中相邻文本重合长度(OVERLAP_SIZE)。
项目地址:Filimoa/open-parse: Improved file parsing for LLM’s (github.com)
open-parse推荐使用语义进行分块,并且预设了一些文档预处理流程,还可以将自己的处理方式添加到管道中,或者是自定义预处理管道。
添加你的处理流程:
自定义整个处理管道:
以上就是本篇文章【构建RAG应用-day01: 词向量和向量数据库 文档预处理】的全部内容了,欢迎阅览 ! 文章地址:http://www.tpjde.com/quote/119.html 行业 资讯 企业新闻 行情 企业黄页 同类资讯 网站地图 返回首页 推平第移动站 http://mip.tpjde.com/ , 查看更多