什么是 Chroma?开源嵌入式数据库

Aaron Ricadela | 高级撰稿人 | 2024 年 4 月 15 日

开发相似性搜索应用的 AI 团队在结合使用大语言模型和非结构化数据集时,正日益转向能够快速比对数百万乃至数十亿数据点特征的向量数据库。

以 Chroma、Pinecone、Qdrant、Weaviate 和 Zilliz 等企业为代表的新一代专业化向量数据库,通过比较高维数学空间中表示非结构化内容的向量嵌入之间的关联性,精准揭示数据特征背后的语义联系。向量数据库为多种 AI 应用提供核心驱动力:既能实现图像与视频内容的智能检索,也能驱动商品推荐与流媒体推送;根据用户意图精准匹配信息,更能通过检索增强生成 (RAG) 技术,将企业私有数据融入 AI 聊天机器人的交互响应中。在实现数据集中的近似最近邻 (ANN) 匹配任务方面,向量数据库展现出了出众的性能优势。

什么是 ChromaDB?

由旧金山同名初创公司打造的 Chroma 开源数据库,支持开发人员构建近似最近邻搜索、图像检索、RAG 和电商推荐等多种应用。它以轻量级著称,开发人员既可在笔记本电脑上运行以实现快速原型开发,也可部署于公有或私有云技术服务中。Chroma 采用 Apache Arrow 数据格式以实现高速数据访问。

开发团队可以在单个节点上以客户端/服务器模式运行 Chroma,并使用 Docker 容器或公有云技术服务托管主机进行部署;也可使用其托管服务 Chroma Cloud,该服务支持 Amazon Web Services、Google Cloud Platform 和 Microsoft Azure 等部署。Chroma 采用 Apache 2.0 许可证授权,允许商业用途。

这款对开发人员友好的数据库整合了来自 OpenAI、Google、Cohere、Hugging Face 等平台的嵌入模型,提供与 LangChain、LlamaIndex、Braintrust 的 Python 和 JavaScript 集成,并与 Streamlit 等 AI 工具集成。Chroma 为多语言环境提供客户端支持,涵盖 Python、JavaScript、Ruby、Java、Go、C#、Elixir 和 Rust。

为何 Oracle 在向量数据库领域更胜一筹?

Oracle Database 23ai 的 AI Vector Search 在高可用性和安全性方面提供了更全面的企业级解决方案。借助 Oracle Virtual Private Database 及其 Oracle Label Security 功能,企业可以根据用户角色或权限等级来控制对数据的内部访问。Oracle Real Application Clusters 允许数据库实例在服务器集群上运行,以实现容错和负载均衡。Oracle Active Data Guard 可立即将数据复制到备用数据库,防止计划外停机导致数据丢失。

Oracle Database 23ai 还能通过确定是否在向量搜索前后应用附加筛选条件(这些条件通常存储在关系列中),从而优化向量搜索。这意味着,当相似性搜索应用返回前 K 个结果时,Oracle Database 可根据数据的关系属性决定是否缩小结果范围,操作时机可选在向量搜索执行前、执行过程中或执行后。

了解 AI 如何更好地获取数据,从而改善结果并简化使用流程。

ChromaDB 常见问题解答

什么是 Chroma?它是如何工作的?

Chroma 是一款轻量级向量数据库,专为基于向量嵌入空间相似性搜索的应用而设计。它包括一个对象存储层,以降低相似性搜索中向量索引的成本。

Chroma 与其他向量数据库有何不同?

Chroma 主要面向小型项目的开发人员,支持在笔记本电脑上安装并进行快速原型开发,无需投入大型硬件设备。它还支持各种开发语言和 AI 工具。

Chroma 能够处理结构化和非结构化数据吗?

Chroma 专为存储和检索向量嵌入而设计,而非用于处理结构化关系型数据。

Chroma 是开源的吗?

是的,Chroma 采用开源的 Apache 2.0 许可证发布,允许用户在其自有产品中重新分发其代码。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国 。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。