首页 > 其他分享 >RAG与LLM原理及实践(6)--- Chroma collection及存储逻辑分析

RAG与LLM原理及实践(6)--- Chroma collection及存储逻辑分析

时间:2024-07-01 15:29:09浏览次数:3  
标签:RAG 存储 Chroma db collection vector chroma

 背景

在chroma vector db的世界中,除了对query 的理解,另外就是需要深入理解 chroma的运行模式,chroma运行时,提供了 local模式,server-client 模式,这些在应用中固然重要,但从实现原理上说,其实就是通过http 服务,在固定端口如11344上请求数据。但是在这之前,需要深入了解并理解 collection以及chroma 是如何存储及获取他们的。这里的获取,我说的不是你在应用上调用 query 的主逻辑,当然,如果你读完了上一篇RAG与LLM原理及实践(5),你应该知道其实 query 包含了我这里说的 获取逻辑。只是在query主逻辑中,我一笔带过,根据collection_id, 如果cache中有,首先从cache加载,没有的话,从disk load。今天想把collection 与 chroma的物理存储结构 这两件事讲清楚。

collection 集合的目的

collection 是什么?为什么要用集合?实际上我们在关系型数据库中,基本是 db-table-column构成的关系型数据库。根据使用场景,我们可以很容易得看到,关系型数据库顾名思义,就是为定义各种不同错综复杂的关系应运而生的,在追求数据完整存储同时,从时间检索与消耗空间进行综合衡量,来完成数据库构建。正因为我们想表达大千世界中不同事物的各种不同关系,我们需要定义并记录不同事物的属性及通过table范式设计,primary key, foreign key 等关键字段,通过 trigger,transaction等手段描述表间关系与事务运作的行为。但作为在LLM中广泛应用的vector db,其场景是不一样的,table 对vector db 而言,不是不重要,但他应该是向量数据库设计者应该思考的问题,而不是使用者该去梳理的关系。使用场景很大程度上决定了设计,当然这不是唯一的决定性因素,但是你不得不承认,他起着举足轻重的作用。这个系列主要是focus 在RAG,我还是以RAG为例,词句嵌入后的N维向量作为存储在  vector db 中的一个主打功能之一,当然还有别的应用,其目的就是存储vector,可以有文本,图片,URL,当然未来可能还有视频,尽管现在chroma 并没有支持video标签,但使用url可以变相支持这一功能。作为使用者,或许只关心两件事:1)我的知识内容是否存入到vector db中 2)我是否能高效的查出我需要知道的相关内容。从使用场景出发,决定user并不关心你是用什么结构来存储数据。正因为这样,chroma将RAG中的知识,可能来自txt, pdf,word,ppt,URL,picture......需要一个稳定的存储,可能是按章节也可能是按照其他区分。所以  colle

标签:RAG,存储,Chroma,db,collection,vector,chroma
From: https://blog.csdn.net/talentyiyy/article/details/140078134

相关文章

  • RAG与LLM原理及实践(4)--- 语义相似度距离衡量的三种方式chroma示例
    语义相似度的计算是一个比较复杂的过程。今天打算先比较详细的介绍下几个相似度的距离衡量算法。相似度的排名衡量,在向量数据库vectordb的query中,被大量使用。还是直接上干货,理解下背后的逻辑和概念比较重要,后面看看源码 chromavectordb是怎么处理这个过程的。1)co......
  • GEE问题:Landsat Collection 2不同传感器之间是否需要进行协调校正?
    LandsatTeam团队和GEE团队对于大多数应用而言,在使用采集2地表反射率产品时,无需进行任何传感器间协调校正(转述Landsat科学团队MikeWulder的信息)(个人经验)。使用波段比指数时尤其如此。您提到的Roy等人的系数是为采集前数据开发的。大地遥感卫星档案现已进入第2个数......
  • DeepMind的新论文,长上下文的大语言模型能否取代RAG或者SQL这样的传统技术呢?
    长上下文大型语言模型(LCLLMs)确实引起了一些关注。这类模型可能使某些任务的解决更加高效。例如理论上可以用来对整本书进行总结。有人认为,LCLLMs不需要像RAG这样的外部工具,这有助于优化并避免级联错误。但是也有许多人对此持怀疑态度,并且后来的研究表明,这些模型并没有真正利用长上......
  • 【AI 大模型】大模型应用架构 ( 业务架构 - AI Embedded、AI Copilot、AI Agent | 技
    文章目录一、大模型技术方向-大模型训练/大模型应用二、大模型应用-业务架构1、AIEmbedded模式2、AICopilot模式3、AIAgent模式三、大模型应用-技术架构1、提示词技术架构2、Agent+FunctionCalling技术架构3、RAG技术架构4、Fine-tuning微调技术......
  • Arturia - FX Collection 5 v5.0.0 VST, VST3, AAX x64 {R2R} [13.06.2024]
    Arturia-FXCollection5v5.0.0forWindowsmac【【新品发布+小广告】ArturiaFXCollection5超强音乐制作插件套装34款产品逐一点评】https://www.bilibili.com/video/B...4d4e7f5c56f93e901cd    包括BusEXCITER-104BusFORCEBusPEAKChorusDIMENSION-DCh......
  • 271:vue+openlayers的Collection的应用方法演示
    作者:还是大剑师兰特,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。查看本专栏目录-本文是第271个示例文章目录一......
  • AI大模型企业应用实战(19)-RAG应用框架和解析器
    1开源解析和拆分文档第三方工具去对文件解析拆分,将文件内容给提取出来,并将我们的文档内容去拆分成一个小的chunk。常见的PDFwordmarkdown,JSON、HTML。都可以有很好的一些模块去把这些文件去进行一个东西去提取。1.1优势支持丰富的文档类型每种文档多样化选择与开源框......
  • 认识Retrieval Augmented Generation(RAG)
    什么是RAG?Retrieval-AugmentedGeneration(RAG)是一种结合信息检索和生成式AI技术的框架。它通过从外部数据源检索信息,增强语言模型(如GPT-3)的生成能力,从而提供更加准确和相关的回答。RAG的组成部分信息检索模块(Retriever)功能:从预先构建的知识库或文档库中检索与用......
  • AI大模型企业应用实战(18)-“消灭”LLM幻觉的利器 - RAG介绍
    大模型在一定程度上去改变了我们生活生工作的思考的方式,然后也越来越多的个人还有企业在思考如何将大模型去应用到更加实际的呃生产生活中去,希望大语言模型能够呃有一些更多企业级别生产落地的实践,然后去帮助我们解决一些业务上的问题。目前1LLM的问题1.1幻觉LLM因为是一个预......
  • 使用 localStorage 持久化用户登录状态
    在现代Web应用中,保持用户的登录状态是一个非常重要的功能。本文将介绍如何使用localStorage和Vuex在用户登录后持久化登录状态,并在页面刷新后保持用户的登录状态。1.store/index.jsimportVuefrom'vue';importVuexfrom'vuex';Vue.use(Vuex);exportdefaultnewV......