LLM 学习之「向量数据库」

LLM 学习之「向量数据库」

什么是向量数据库?

向量数据库是一种以向量或数据点的数学表示形式存储数据的数据库。 人工智能和机器学习使非结构化数据能够转换为捕获意义和上下文的数字表示(向量),这得益于自然语言处理和计算机视觉的进步。

矢量相似性搜索 (VSS) 是矢量数据库的关键功能。它是查找与向量数据库中给定查询向量相似的数据点的过程。

常用的 VSS 用途包括推荐系统、图像和视频搜索、自然语言处理和异常检测。例如,如果构建推荐系统,则可以使用 VSS 查找(并建议)与用户以前表现出兴趣的产品类似的产品。

向量数据库

信息有多种形式。有些信息是非结构化的,例如文本文档、富媒体和音频,有些则是结构化的,例如应用程序日志、表格和图表。人工智能和机器学习(AI/ML)的创新使我们能够创建一种机器学习模型,即嵌入模型。嵌入模型将所有类型的数据编码为向量,以捕获资产的含义和上下文。这样我们就能够通过搜索相邻的数据点找到相似的资产。向量搜索方法可提供独特的体验,例如用智能手机拍照,然后搜索相似的图像。
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓

向量数据库能够将向量存储为高维点并进行检索。这些数据库增加了额外的功能,可以高效、快速地查找 N 维空间中的最近邻。

这些功能通常由 k 最近邻(k-NN)索引提供支持,并使用分层可导航小世界(HNSW)和倒排文件索引(IVF)算法等算法构建。

向量数据库提供了其他功能,例如数据管理、容错、身份验证和访问控制以及查询引擎。

为什么向量数据库很重要?

作为开发人员的我们,可以将嵌入生成的向量索引到向量数据库中。这样的话,他们便可通过查询相邻向量来找到相似的内容。前面我们介绍的文章中,有一部分向量的实用,就是将文本内容向量到数据库中,然后用户每次输入问题的时候先经过向量数据库,然后才是 LLM,后面有一篇文章我们构建一个智能客服系统的时候如何提高响应速度重点介绍在LLM 的实用和缓存。

向量数据库提供了一种使嵌入模型有效运行的方法。通过复杂的查询语言,利用资源管理、安全控制、可扩展性、容错能力和高效信息检索等数据库功能,可以提高应用程序开发效率。

向量数据库最终帮助我们开发人员开发出独有的应用程序体验。例如,在手机淘宝中,用户可以在智能手机上拍摄照片以搜索相似的图像。

我们可以使用其他类型的机器学习模型自动从图像和扫描文档等内容中提取元数据。他们可以将元数据与向量一起编入索引,以实现对关键字和向量的混合搜索。我们还可以将语义理解融入相关性排名中,以提升相关内容的搜索结果。

例如 ChatGPT 这样的新模型是对生成式人工智能(AI)的创新,这些模型可以生成文本并管理与人类的复杂对话。有些模型可以在多种模式下运行;例如,有些模型可以根据用户描述的景观生成符合描述内容的图像。

但是,生成式模型容易产生幻觉,这可能会导致聊天机器人对用户造成误导。 向量数据库可以弥补生成式人工智能模型的这一缺陷。向量数据库为生成式人工智能聊天机器人提供外部知识库,确保给它们提供的是我们信赖的数据信息。

向量数据库的使用方式有哪些?

向量数据库通常为视觉、语义和多模态搜索等向量搜索使用案例提供支持。它们与生成式人工智能(AI)文本模型配对,创建了提供对话式搜索体验的智能代理。比如前面我们的文章“使用langchain搭建本地知识库系统(新) - 掘金 (juejin.cn)”中就实用了向量数据库。

开发过程从构建嵌入模型(embedding-model)开始,该模型将类似产品图像的语料库编码为向量。数据导入过程也称为数据融合。我们就可以使用该数据库搜索相似产品,方法是对产品图像进行编码并利用向量查询相似的图片以及内容(实际的实用场景比这个复杂)。

在此模型中,k 最近邻(k-NN)索引实现了高效的向量检索,并应用距离函数(如余弦)按相似度对结果进行排序。

哪些开发者需要实用向量数据库?

对于希望创建基于向量搜索操作的开发人员,可以使用向量数据库。

应用程序开发人员可以使用开源模型、自动机器学习(ML)工具和基础模型服务来生成嵌入内容并补充向量数据库。这需要具备基本的机器学习专业知识。

由数据科学家和工程师构成的团队可以创建经过专业调整的嵌入内容,并通过向量数据库运行这些嵌入。这有助于他们加速提供人工智能(AI)解决方案。

向量数据库有哪些优点?

借助向量数据库,开发人员可通过向量搜索进行创新并研发出独有的体验。向量数据库可加速人工智能(AI)应用程序的开发,并简化由人工智能驱动的应用程序工作负载的运作。

向量数据库提供了在裸式 k 最近邻(k-NN)索引之上进行构建的替代方案。这类索引需要大量额外的专业知识和工程才能使用、调整和运行。

良好的向量数据库通过数据管理、容错、关键安全功能和查询引擎等功能为应用程序提供坚实的基础。这些功能使用户能够操作他们的工作负载以简化扩展,保持高可扩展性,并满足安全要求。

查询引擎和 SDK 等工具让应用程序开发工作变得更加轻松。借助这些工具,开发人员可以对元数据执行更高级的查询(例如搜索和筛选),这类查询也属于 k-NN 搜索。他们还可以选择使用混合相关性评分模型,将传统的术语频率模型(例如 BM25)与向量评分相结合,以增强信息检索(RAG)。

学习向量数据库有哪些挑战?

向量数据库面临着许多与其他数据库技术相同的挑战。将继续努力提高可扩展性、近似精度、延迟性能和经济性。

作为一项相对较新的技术,许多向量数据库在核心数据库能力方面需要提升,例如安全性、弹性、运营支持和工作负载支持的多样化。

随着人工智能(AI)应用程序的成熟,这一点将非常重要,未来需要的不仅仅只限于向量搜索功能。

常见向量数据库有哪些?

1、Chroma

img

Chroma 是开源嵌入数据库。通过为LLM提供可插入的知识,事实和技能,使构建LLM应用程序变得容易,可以轻松地管理文本文档,将文本转换为嵌入,并进行相似度搜索。

主要特点:

  • 功能丰富:查询、过滤、密度估计和许多其他功能
  • LangChain (Python和javascript), LlamaIndex都支持
  • Python notebook 中运行的相同API可扩展到生产集群
2、Pinecone

img

Pinecone是一个可以托管向量数据库平台。也就是说有背后的而商业公司,有免费使用方案。Pinecone的主要特点包括:

  • 支持全托管服务
  • 高度可伸缩
  • 实时数据摄取
  • 低延迟的搜索
  • LangChain集成
3、Weaviate

img

Weaviate是一个开源向量数据库。它可以无缝扩展到数十亿个数据对象。Weaviate的一些关键特性是:

  • 速度:Weaviate可以在几毫秒内从数百万个对象中快速搜索出最近的10个邻居。
  • 灵活性:使用Weaviate,可以在导入或上传自己的数据时对数据进行矢量化,可以利用与OpenAI, Cohere, HuggingFace等平台集成的模块。
  • 快速部署:从原型到大规模生产,Weaviate都强调可伸缩性、复制和安全性。
  • 搜索扩展:除了快速矢量搜索,Weaviate还提供推荐、摘要和神经搜索框架集成。
4、Faiss

img

Faiss是一个用于快速搜索相似性和密集向量的聚类的开源库。它包含能够在不同大小的向量集中搜索的算法,甚至可以处理那些超过内存容量的向量集。此Faiss还提供了用于评估和调整参数的辅助代码。

虽然它主要是用c++编写的,但它完全支持Python/NumPy集成。它的一些关键算法也可用于GPU执行。Faiss的主要开发工作由Meta的基础人工智能研究小组承担。

5、Qdrant

img

Qdrant可以作为API服务运行,支持搜索最接近的高维向量。使用Qdrant,可以将嵌入或神经网络编码器转换为应用程序,用于匹配,搜索,推荐等任务。以下是Qdrant的一些关键功能:

  • 通用的API:提供OpenAPI v3规范和各种语言的现成客户端。
  • 速度和精度:使用自定义HNSW算法进行快速准确的搜索。
  • 先进的过滤方法:允许基于相关矢量有效载荷的结果过滤。
  • 不同的数据类型:支持字符串匹配、数字范围、地理位置等。
  • 可伸缩性:具有水平扩展功能的云原生设计。
  • 效率:内置Rust,通过动态查询规划优化资源使用。

总结

人工智能和机器学习领域的不断发展凸显了向量数据库在当今以数据为中心的世界中的不可或缺性。这些数据库具有存储、搜索和分析多维数据向量的独特能力,在推动人工智能驱动的应用程序方面发挥了重要作用。

随着人工智能的不断发展,向量数据库在塑造数据检索、处理和分析的未来方面的作用无疑会越来越大,有望在各个领域提供更复杂、更高效、更个性化的解决方案。

那么,我们该如何学习大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/853440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云系列产品免费用,不香吗?

阿里云系列产品免费用,不香吗? 什么是无影云电脑开启无影云下载安装客户端登录无影云桌面应用场景 开篇先发布一下阿里云产品免费体验地址:https://free.aliyun.com/?utm_contentg_1000370296 下面开始我的无影云电脑或者叫做无影云桌面的体…

Anaconda环境安装失败的解决方案

链接步骤的补充。 为了运行marlib,需要一个全新的Anaconda环境。但是,不想把文件安装在C盘,会造成空间不足。于是试着在.condarc文件里面改动了路径,具体如图。 上图中,在defaults前面添加了D盘的路径作为安装路径。 …

微型操作系统内核源码详解系列五(1):arm cortex m3架构

系列一:微型操作系统内核源码详解系列一:rtos内核源码概论篇(以freertos为例)-CSDN博客 系列二:微型操作系统内核源码详解系列二:数据结构和对象篇(以freertos为例)-CSDN博客 系列…

【秋招突围】2024届秋招笔试-小红书笔试题-第一套-三语言题解(Java/Cpp/Python)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📧 清隆这边…

React 懒加载源码实现

懒加载 React 中懒加载是一种按需加载组件的机制,有些组件不需要在页面初始化就进行加载,这些组件可以按需加载,当需要时再进行加载。懒加载是怎么实现的呢?如果要实现一个懒加载功能应该怎么去做呢?可以通过异步动态…

小阿轩yx-Apache 网页优化

小阿轩yx-Apache 网页优化 网页压缩与缓存 对Apache服务器优化配置 能让 Apache 发挥出更好的性能 相反,配置糟糕 Apache可能无法正常服务 网页压缩 网站的访问速度是由多个因素所共同决定的 包括应用程序 响应速度网络带宽服务器性能与客户端之间的网络传…

2024最值得入手骨传导耳机指南,精选五款分享!

作为前几年在蓝牙耳机市场杀出的一匹黑马,黑科技加持的骨传导耳机受到广大运动爱好者的喜爱。利用骨传导技术,通过头骨、颌骨把声音传到听觉神经引起听觉,同时又不阻碍外接声音的通过,保证了佩戴的舒适性也带来安全使用的最佳体验…

使用GNU Gcov Lcov生成C++单元测试代码覆盖率报告

最近在统计C项目代码的单元测试覆盖率 发现通过gcov和lcov就能将代码单元测试覆盖率定量化和可视化 下面是基于gtest测试框架,对gcov和lcov生成覆盖率的简单示例 工作流程 主要有三个步骤 向GCC编译添加特殊的编译选项以生成可执行文件和*.gcno 运行&#xff08…

Android帧绘制流程深度解析 (一)

Android帧绘制技术有很多基础的知识,比如多buffer、vsync信号作用等基础知识点很多笔记讲的已经很详细了,我也不必再去总结,所以此处不再过多赘述安卓帧绘制技术,基础知识这篇文章总结的很好,一文读懂"系列&#…

JVM 垃圾回收分配及算法

一、判断对象是否可以回收 垃圾收集器在做垃圾回收的时候,首先需要判定的就是哪些内存是需要被回收 的,哪些对象是「存活」的,是不可以被回收的;哪些对象已经「死掉」了,需 要被回收。 一般有两种方法来判断&#xff…

网络安全攻防基础入门笔记--操作系统名词解释文件下载反弹shell防火墙绕过

渗透测试常用专业术语 POC,EXP,Payload,Shellcode POC 全程Proof of Concept,中文"概念验证",常指一段漏洞证明的代码 EXP 全程Exploit ,中文"利用",指利用系统漏洞进行攻击的动作 Payload 中文"有效载荷",指成功Exploit之后,真正在目标系…

【SpringBoot系列】覆盖重写第三方Jar包中类

要覆盖或重写一个第三方JAR包中的类,你可以使用以下几种方法: 方法一:使用类路径优先级 Java的类加载机制会优先加载类路径(classpath)中最先找到的类。因此,如果你在自己的项目中定义了一个与第三方JAR包…

Elasticsearch 认证模拟题 - 21

一、题目 写一个查询,要求查询 kibana_sample_data_ecommerce 索引,且 day_of_week、customer_gender、currency、type 这 4 个字段中至少两个以上。 1.1 考点 Boolean 1.2 答案 GET kibana_sample_data_ecommerce/_search {"query": {&q…

金融数据中心布线运维管理解决方案

金融行业的核心业务,如交易、支付、结算等,对网络的依赖程度极高。布线作为网络基础设施的重要组成部分,其稳定性和可靠性直接关系到业务的连续运行。因此,良好的布线管理能够确保网络系统的稳定运行,减少因网络故障导…

SQLserver前五讲课堂笔记

第一讲 基本内容 为什么要学习数据库系统?什么是数据库?什么是数据库系统?什么是数据库管理系统?本课程学什么以及学到什么程度? 重点难点 一组概念的区分:数据库、数据库系统和数据库管理系统熟悉表 的相关要素及术语熟悉数据库系统的构成(工作…

荣耀笔记本IP地址查看方法详解:轻松掌握网络配置技巧

在数字化时代的浪潮中,笔记本电脑已经成为我们生活和工作中不可或缺的重要工具。对于荣耀笔记本用户而言,掌握基本的网络配置技巧显得尤为重要。其中,查看IP地址是连接网络、配置设备、排除故障等场景下的关键步骤。本文将详细介绍荣耀笔记本…

基于单片机的无人监守点滴控制系统设计

摘要 : 在当代社会 , 点滴是一种常用的诊疗方法 。 为了减轻医护人员的压力 , 设计了一种基于单片机的无人监守点滴控制系统, 该系统共由 2 个板子组成 , 其中一个主控板子 , 一个检测板子 。 检测板与…

Flutter全面支持六大平台的开发,那鸿蒙呢?

Hi,大家好,今天带大家了解一下flutter3的新特性,flutter已经实现了对六大平台的支持,flutter进一步进化,对于鸿蒙系统目前没有明确的支持,不过相信不久的将来一定会支持的。 一、futter3的新特性 Flutter 3 在发布后…

部署LVS—DR群集

1、LVS-DR工作流向分析 (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 (2)Director Server 和 Real Se…

【SpringBoot】Spring Boot 中高级特性详解

文章目录 1. 异步处理1.1 什么是异步处理?1.2 实现异步处理1.2.1 启用异步支持1.2.2 使用 Async 注解1.2.3 调用异步方法 2. 安全管理2.1 Spring Security 集成2.2 基础安全配置2.2.1 添加依赖2.2.2 默认配置2.2.3 自定义用户认证 3. 监控和调试3.1 Spring Boot Act…