什么是向量数据库?
向量数据库是一种以向量或数据点的数学表示形式存储数据的数据库。 人工智能和机器学习使非结构化数据能够转换为捕获意义和上下文的数字表示(向量),这得益于自然语言处理和计算机视觉的进步。
矢量相似性搜索 (VSS) 是矢量数据库的关键功能。它是查找与向量数据库中给定查询向量相似的数据点的过程。
常用的 VSS 用途包括推荐系统、图像和视频搜索、自然语言处理和异常检测。例如,如果构建推荐系统,则可以使用 VSS 查找(并建议)与用户以前表现出兴趣的产品类似的产品。

信息有多种形式。有些信息是非结构化的,例如文本文档、富媒体和音频,有些则是结构化的,例如应用程序日志、表格和图表。人工智能和机器学习(AI/ML)的创新使我们能够创建一种机器学习模型,即嵌入模型。嵌入模型将所有类型的数据编码为向量,以捕获资产的含义和上下文。这样我们就能够通过搜索相邻的数据点找到相似的资产。向量搜索方法可提供独特的体验,例如用智能手机拍照,然后搜索相似的图像。
向量数据库能够将向量存储为高维点并进行检索。这些数据库增加了额外的功能,可以高效、快速地查找 N 维空间中的最近邻。
这些功能通常由 k 最近邻(k-NN)索引提供支持,并使用分层可导航小世界(HNSW)和倒排文件索引(IVF)算法等算法构建。
向量数据库提供了其他功能,例如数据管理、容错、身份验证和访问控制以及查询引擎。
为什么向量数据库很重要?
作为开发人员的我们,可以将嵌入生成的向量索引到向量数据库中。这样的话,他们便可通过查询相邻向量来找到相似的内容。前面我们介绍的文章中,有一部分向量的实用,就是将文本内容向量到数据库中,然后用户每次输入问题的时候先经过向量数据库,然后才是 LLM,后面有一篇文章我们构建一个智能客服系统的时候如何提高响应速度重点介绍在LLM 的实用和缓存。
向量数据库提供了一种使嵌入模型有效运行的方法。通过复杂的查询语言,利用资源管理、安全控制、可扩展性、容错能力和高效信息检索等数据库功能,可以提高应用程序开发效率。
向量数据库最终帮助我们开发人员开发出独有的应用程序体验。例如,在手机淘宝中,用户可以在智能手机上拍摄照片以搜索相似的图像。
我们可以使用其他类型的机器学习模型自动从图像和扫描文档等内容中提取元数据。他们可以将元数据与向量一起编入索引,以实现对关键字和向量的混合搜索。我们还可以将语义理解融入相关性排名中,以提升相关内容的搜索结果。
例如 ChatGPT 这样的新模型是对生成式人工智能(AI)的创新,这些模型可以生成文本并管理与人类的复杂对话。有些模型可以在多种模式下运行;例如,有些模型可以根据用户描述的景观生成符合描述内容的图像。
但是,生成式模型容易产生幻觉,这可能会导致聊天机器人对用户造成误导。 向量数据库可以弥补生成式人工智能模型的这一缺陷。向量数据库为生成式人工智能聊天机器人提供外部知识库,确保给它们提供的是我们信赖的数据信息。
向量数据库的使用方式有哪些?
向量数据库通常为视觉、语义和多模态搜索等向量搜索使用案例提供支持。它们与生成式人工智能(AI)文本模型配对,创建了提供对话式搜索体验的智能代理。比如前面我们的文章“使用langchain搭建本地知识库系统(新) - 掘金 (juejin.cn)”中就实用了向量数据库。
开发过程从构建嵌入模型(embedding-model)开始,该模型将类似产品图像的语料库编码为向量。数据导入过程也称为数据融合。我们就可以使用该数据库搜索
向量数据库解析

最低0.47元/天 解锁文章
348

被折叠的 条评论
为什么被折叠?



