Chroma(亦称ChromaDB)是一个专为基于大型语言模型构建的应用而设计的开源数据基础设施系统。它充当嵌入数据库,使开发者能够存储、管理和搜索数据的向量表示,这是现代Artificial intelligence工作流(如Retrieval-augmented generation)的核心需求。该系统为在AI管道中集成向量搜索提供了轻量级且对开发者友好的接口,通常与用于构建Generative AI应用的框架一同使用。
Chroma总部位于旧金山,于2023年推出,并迅速吸引了风险投资。2023年4月,该公司宣布已筹集1800万美元的种子资金,反映出市场对AI数据基础设施日益增长的兴趣。该项目以开源软件形式维护,允许广泛的社区贡献和采用。
向量搜索与嵌入
Chroma的主要功能是作为Neural network向量数据库,处理嵌入的存储和检索。在Machine learning的背景下,嵌入是由Large language model等模型生成的数据(如文本、图像或音频)的数值表示。Chroma对这些嵌入进行索引,并支持快速相似性搜索,使操作如问答或推荐能够通过在多维空间中找到最接近的向量来实现。这种方法在Natural language processing任务中很常见,其中语义相似性取代了关键词匹配。
该数据库设计为轻量级且易于设置,提供内存和持久化存储后端。开发者可以使用简单的API进行查询,并与流行的AI框架及OpenAI或Anthropic模型API集成。Chroma还支持元数据过滤,允许通过自定义属性缩小搜索结果范围。
与大型语言模型的集成
Chroma经常用作Retrieval-augmented generation(RAG)技术栈的一部分,该技术将大型语言模型与向量数据库结合,在生成答案之前获取相关文档。在RAG管道中,输入查询被转换为嵌入,Chroma检索最相似的数据点,模型将这些数据作为上下文使用。这减少了Hallucination (AI),并使回答基于真实数据。
这种工作流已在人工智能的学术研究中得到应用,特别是在涉及Transformer (architecture)架构的实验中。其设计与Google DeepMind和Cerebras等公司的实践相一致,尽管Chroma本身是一个独立工具,旨在便于跨多种环境集成。
技术架构
核心是用Python构建的,便于在数据科学和Machine learning工作流中直接使用。向量索引在内存中维护以进行快速最近邻计算,并配有持久化存储层。Chroma不包含用于生成嵌入的运行时模型;相反,它支持多种嵌入函数,从简单到用户自定义,因此可以与任何模型一起使用。
开发者可以本地运行Chroma进行原型设计,或将其部署在Amazon Web Services及其他云基础设施上用于生产。其构建注重性能和最小资源消耗,使其适用于边缘设备或袖珍型机器人等环境,并能与Oracle Cloud Infrastructure和Google Cloud等其他平台协同工作。
学术与研究中的应用
一些人工智能研究项目,尤其是在知识密集型问答和信息检索领域,已采用Chroma作为其技术栈的一部分。其开源特性允许可复现性,因为研究人员可以轻松为其测试集设置向量数据库。例如,在使用Large language model处理语料(如科学论文)的某些研究中,Chroma在生成模型产生输出之前提供检索步骤。这已在改进Neural network系统以实现高效知识访问的工作中,以及与其他RAG实现的比较中得到体现。
该软件还被用作探索数据管理新方法的测试平台,因为它允许与传统数据库相比以最少的设置进行快速迭代。
社区与行业
Chroma因易于与现代AI框架集成,在构建生成式AI解决方案的开发者中获得了青睐。团队提供商业支持和云服务,但开源代码仍是其价值核心。它提供了一个标准API,已用于构建聊天式助手,包括为Amazon AI以及受限硬件环境设计的助手。
随着对Artificial intelligence应用中高效检索的日益重视,Chroma将自己定位为构建所谓AI数据库层的核心组成部分,与SambaNova或总部等待分布式计算等类似工具并驾齐驱。