由于大规模语言模型的激增,词嵌入向量数据库变得越来越流行。利用复杂的机器学习技术的力量,数据存储在矢量数据库中。它允许非常快速的相似性搜索,这对于推荐系统、图片识别和 NLP 等许多人工智能用途至关重要。
通过将每个数据点表示为多维向量,在向量数据库中捕获复杂数据的本质。现代索引技术(例如 kd 树和散列)可以快速检索相关向量。为了转变大数据分析,该架构为数据密集型行业生成高度可扩展、高效的解决方案。
让我们看一下 Chroma,一个小型、免费、开源的矢量数据库。
Chroma 可用于使用 Python 或 JavaScript 编程创建词嵌入。数据库后端,无论是内存模式还是客户端/服务器模式,都可以通过简单的 API 进行访问。在原型设计期间安装 Chroma 并在 Jupyter Notebook 中使用 API 允许开发人员在生产环境中使用相同的代码,其中数据库可以在客户端/服务器模式下运行。
在内存中操作时,Chroma 数据库集可以以 Apache Parquet 格式持久保存到磁盘。通过存储词嵌入以便稍后检索,可以最大限度地减少生成词嵌入所需的时间和资源。
每个引用的字符串都可以有描述原始文档的额外元数据。如果您愿意,可以跳过此步骤。研究人员制作了一些元数据以在教程中使用。具体来说,它被组织为字典对象的集合。
Chroma 将相关媒体组称为集合。每个集合都包含文档(只是字符串列表)、ID(充当文档的唯一标识符)以及元数据(这不是必需的)。只有嵌入才能使集合完整。它们可以使用 Chroma 的内置词嵌入模型隐式生成,也可以使用基于 OpenAI、PaLM 或 Cohere 的外部模型显式生成。Chroma 有助于整合第三方 API,使嵌入的生成和存储成为一个自动化过程。
默认情况下,Chroma 使用全 MiniLM-L6-v2 Sentence Transformers 模型生成嵌入。该嵌入模型可以为各种应用生成句子和文档嵌入。根据情况,该嵌入功能可能需要自动下载模型文件并在PC本地运行。
元数据(或 ID)也可以在 Chroma 数据库中查询。这使得搜索变得容易,具体取决于论文的来源。
主要特征
- 这很简单:当所有内容都被输入、测试和记录时。
- 所有三种环境(开发、测试和生产)都可以在笔记本中使用相同的 API。
- 功能丰富:搜索、过滤和密度估计。
- Apache 2.0 许可的开源软件。
Chroma 官网:https://www.trychroma.com/
Chroma github地址:https://github.com/chroma-core/chroma
文章标题:Meet Chroma: An AI-Native Open-Source Vector Database For LLMs: A Faster Way to Build Python or JavaScript LLM Apps with Memory
文章作者:Dhanshree Shenwai
文章来源:https://www.marktechpost.com/2023/08/19/meet-chroma-an-ai-native-open-source-vector-database-for-llms-a-faster-way-to-build-python-or-javascript-llm-apps-with-memory/





