

词嵌入向量数据库由于大规模语言模型的普及而越来越受欢迎。通过使用先进的机器学习技术,数据存储在向量数据库中。这允许非常快速的相似性搜索,对于许多人工智能应用如推荐系统、图片识别和自然语言处理至关重要。
通过将每个数据点表示为多维向量,向量数据库捕捉到了复杂数据的本质。现代索引技术如k-d树和哈希使得快速检索相关向量成为可能。为了改变大数据分析,这种架构为数据密集型行业生成了高度可扩展且高效的解决方案。
让我们来看看Chroma,一个小型、免费、开源的向量数据库。
使用Python或JavaScript编程可以使用Chroma创建词嵌入。无论是在内存中还是客户端/服务器模式下,都可以通过简单的API访问数据库后端。在原型设计期间,在Jupyter Notebook中安装Chroma并使用API允许开发人员在生产环境中使用相同的代码,其中数据库可能在客户端/服务器模式下运行。
当在内存中操作时,Chroma数据库集可以以Apache Parquet格式持久化到磁盘中。通过将它们存储以便以后检索,可以最小化生成词嵌入所需的时间和资源。
每个引用的字符串可以具有描述原始文档的额外元数据。如果需要,您可以跳过此步骤。研究人员为教程制作了一些元数据以供使用。具体而言,它被组织为字典对象的集合。
Chroma将相关媒体分组称为集合。每个集合包含文档,这些文档只是字符串列表,ID用作文档的唯一标识符,以及元数据(非必需)。集合只有在具有嵌入时才会完整。可以隐式地使用Chroma内置的词嵌入模型或使用基于OpenAI、PaLM或Cohere的外部模型生成它们。Chroma便于集成第三方API,使得嵌入的生成和存储成为自动化过程。
默认情况下,Chroma使用全MiniLM-L6-v2 Sentence Transformers模型生成嵌入。该嵌入模型可以为各种应用程序生成句子和文档嵌入。根据情况,此嵌入函数可能需要在个人电脑上自动下载模型文件并在本地运行。
Chroma数据库还可以查询元数据(或ID)。这使得根据论文的来源进行搜索变得容易。
主要特点
- 易于使用:当一切都被输入、测试和文档化时。
- 开发、测试和生产三个环境可以在笔记本中使用相同的API。
- 功能丰富:搜索、过滤和密度估计。
- 基于Apache 2.0许可的开源软件。