什么是矢量数据库?
信息有多种形式。有些信息是非结构化的,例如文本文档、富媒体和音频,有些则是结构化的,例如应用程序日志、表格和图表。人工智能和机器学习(AI/ML)的创新使我们能够创建一种机器学习模型,即嵌入模型。嵌入模型将所有类型的数据编码为向量,以捕获资产的含义和上下文。这样我们就能够通过搜索相邻的数据点找到相似的资产。矢量搜索方法可提供独特的体验,例如用智能手机拍照,然后搜索相似的图像。
矢量数据库能够将矢量存储为高维点并进行检索。这些数据库增加了额外的功能,可以高效、快速地查找 N 维空间中的最近邻。这些功能通常由 k 最近邻(k-NN)索引提供支持,并使用分层可导航小世界(HNSW)和倒排文件索引(IVF)算法等算法构建。矢量数据库提供了其他功能,例如数据管理、容错、身份验证和访问控制以及查询引擎。
为什么矢量数据库十分重要?
开发人员可以将嵌入生成的矢量索引到矢量数据库中。这样的话,他们便可通过查询相邻矢量来找到相似的资产。
矢量数据库提供了一种使嵌入模型有效运行的方法。通过复杂的查询语言,利用资源管理、安全控制、可扩展性、容错能力和高效信息检索等数据库功能,可以提高应用程序开发效率。
矢量数据库最终助力开发人员研发出独有的应用程序体验。例如,您的用户可以在智能手机上拍摄照片以搜索相似的图像。
开发人员可以使用其他类型的机器学习模型自动从图像和扫描文档等内容中提取元数据。他们可以将元数据与矢量一起编入索引,以实现对关键字和矢量的混合搜索。开发人员还可以将语义理解融入相关性排名中,以改善搜索结果。
例如 ChatGPT 这样的新模型是对生成式人工智能(AI)的创新,这些模型可以生成文本并管理与人类的复杂对话。有些模型可以在多种模式下运行;例如,有些模型可以根据用户描述的景观生成符合描述内容的图像。
但是,生成式模型容易产生幻觉,这可能会导致聊天机器人对用户造成误导。 矢量数据库可以弥补生成式人工智能模型的这一缺陷。矢量数据库为生成式人工智能聊天机器人提供外部知识库,确保它们提供值得信赖的信息。
向量数据库的使用方式是什么?
向量数据库通常为视觉、语义和多模态搜索等向量搜索使用案例提供支持。最近,它们与生成式人工智能(AI)文本模型配对,创建了提供对话式搜索体验的智能代理。
开发过程从构建嵌入模型开始,该模型将类似产品图像的语料库编码为向量。数据导入过程也称为数据融合。应用程序开发人员现在可以使用该数据库搜索相似产品,方法是对产品图像进行编码并利用向量查询相似的图片。
在此模型中,k 最近邻(k-NN)索引实现了高效的向量检索,并应用距离函数(如余弦)按相似度对结果进行排序。
向量数据库的使用者是谁?
对于希望创建基于向量搜索操作的开发人员,可以使用向量数据库。应用程序开发人员可以使用开源模型、自动机器学习(ML)工具和基础模型服务来生成嵌入内容并补充向量数据库。这需要具备基本的机器学习专业知识。
由数据科学家和工程师构成的团队可以创建经过专业调整的嵌入内容,并通过向量数据库运行这些嵌入。这有助于他们加速提供人工智能(AI)解决方案。
运营团队可以按照对常见数据库工作负载的管理方式来管理这些解决方案。他们可以使用现有的工具和手册。
向量数据库具有哪些优势?
借助向量数据库,开发人员可通过向量搜索进行创新并研发出独有的体验。向量数据库可加速人工智能(AI)应用程序的开发,并简化由人工智能驱动的应用程序工作负载的运作。
向量数据库提供了在裸式 k 最近邻(k-NN)索引之上进行构建的替代方案。这类索引需要大量额外的专业知识和工程才能使用、调整和运行。
良好的向量数据库通过数据管理、容错、关键安全功能和查询引擎等功能为应用程序提供坚实的基础。这些功能使用户能够操作他们的工作负载以简化扩展,保持高可扩展性,并满足安全要求。
查询引擎和 SDK 等工具让应用程序开发工作变得更加轻松。借助这些工具,开发人员可以对元数据执行更高级的查询(例如搜索和筛选),这类查询也属于 k-NN 搜索。他们还可以选择使用混合相关性评分模型,将传统的术语频率模型(例如 BM25)与向量评分相结合,以增强信息检索。
矢量数据库面临哪些挑战?
矢量数据库也面临着许多与其他数据库技术相同的挑战。将继续努力提高可扩展性、近似精度、延迟性能和经济性。
作为一项相对较新的技术,许多矢量数据库在核心数据库能力方面需要提升,例如安全性、弹性、运营支持和工作负载支持的多样化。随着人工智能(AI)应用程序的成熟,这一点将非常重要,未来需要的不仅仅只限于矢量搜索功能。
AWS 如何支持您的矢量数据库需求?
Amazon Web Services(AWS)针对您的矢量数据库要求提供了一系列服务:
- Amazon OpenSearch Service 可让您轻松执行交互式日志分析、应用程序实时监控、网站搜索等工作。关于矢量数据库,您可以阅读有关在 OpenSearch Service 中搜索 k 最近邻(k-NN)的信息。
- Amazon Aurora PostgreSQL-Compatible Edition和Amazon Relational Database Service (Amazon RDS) for PostgreSQL支持 pgvector 扩展,用于将机器学习(ML)模型生成的嵌入内容存储在您的数据库中,并执行高效的相似性搜索。
- Amazon Neptune ML 是一项 Neptune 新功能。它采用的图形神经网络(GNN)是一种专为图形而构建的机器学习技术,能够通过使用图形数据,轻松、快速和更准确地进行预测。
- Amazon MemoryDB 的向量搜索支持存储数百万个向量,查询和更新响应时间为几毫秒,每秒数万次查询 (QPS),召回率超过 99%。
- Amazon DocumentDB(兼容 MongoDB)支持向量搜索,通过这项新功能,您能够以毫秒级响应时间存储、索引和搜索数百万个向量。借助 Amazon DocumentDB 的向量搜索,您只需为机器学习应用程序设置、运行和扩展数据库。
立即创建账户,开始在 AWS 上使用矢量数据库。