GenAI 生态系统现状:不止大语言模型和向量数据库

news2024/11/22 22:04:02

33c19ae88e9819f4916f7a73ef0eb02a.png

5a07dc1179ffe9aa4f68f755aa94fa7c.png

自 20 个月前 ChatGPT 革命性的推出以来,生成式人工智能(GenAI)领域经历了显著的发展和创新。最初,大语言模型(LLMs)和向量数据库吸引了最多的关注。然而,GenAI 生态系统远不止这两个部分,它更加广泛和复杂。向量数据库是是赋能 GenAI 应用的关键基础设施,作为其构建者我对于快速的技术进步及向量数据库对行业的影响感到非常兴奋。在本文中,我想回顾一下,并分享对 GenAI 生态系统现状的一些思考。

生成式 AI 应用大致可以分为两种主要类型:检索增强生成(RAG)和多媒体生成。RAG 结合了信息检索技术与生成式语言模型,以产生相关且连贯的输出。另一方面,多媒体生成利用生成式模型创造复杂的视觉内容,包括创意广告和数字孪生(Digital twins)。

9d7ef92f8a259cbc2ffc4fb5cba5dec8.png

检索增强生成(RAG)

检索增强生成(Retrieval-Augmented Generation, RAG)是当前 GenAI 领域中非常流行的一种应用。RAG 系统通常由数据清洗、Embedding 模型、向量数据库和 LLM 等组件构成。更高级的生产级 RAG 系统通常包括额外的组件来增强质量和用户体验。

典型的搜索系统可以分为两个主要部分:离线索引部分和在线查询服务部分。类似地,RAG 包括索引阶段和在线查询服务阶段:

  • 索引阶段:索引阶段涉及从各种来源获取数据,包括数据库、API 和文件系统。这些数据经过文件解析和文本分块处理,为分析做准备。处理后,数据被 Embedding 到适当的格式,并加载到向量数据库中,以便有效检索。一些 RAG 系统甚至采用高级数据挖掘技术,如标签提取、知识图谱构建和摘要,以丰富数据并改进检索过程。

  • 服务阶段:在线查询服务阶段专注于理解用户的查询意图,并采用各种检索方法,包括向量相似性搜索,以找到最相关的信息。检索结果随后被发送到 LLM 进行生成。在这一步中,LLM 基于检索到的数据生成连贯且符合上下文的输出。此外,LLM 还可以作为代理,利用外部工具来增强其能力,并提供更全面和准确的响应。

因此,许多编排项目提供了各种组件的实现和配置选项。架构的复杂性也要求系统既要作为白盒也要作为黑盒进行评估,这促进了评估框架的发展。

每个组件还吸引了旨在构建更好、更丰富功能的开发者,例如每个数据源的 Connector 和针对特定用例量身定制的 Embedding 模型。LLM 推理框架为 LLM 提供了更灵活的部署选项,不仅仅是 API 服务。此外,代理框架有助于更好地利用 LLM 的推理和工具使用能力。

此外,一些项目从不同的角度处理 RAG,探索替代的检索方法,如知识图谱,开发 Web 前端框架以增强 UI 体验,并创建开箱即用的解决方案,提供包括聊天机器人 UI 在内的整个 RAG 工作流程。

1. 工作流程编排与优化

为了管理 RAG 应用的复杂工作流程,广泛使用了如 LangChain、LlamaIndex、Haystack、DSPy 和 Semantic Kernel 等 SDK。这些编排框架使开发者能够构建、定制和测试 RAG Pipeline,确保这些 Pipeline 被组合以实现特定用例的最佳生成答案质量。

示例:LlamaIndex

LlamaIndex 是一个用于构建基于 LLM 的上下文增强应用的框架。它通过提供数据 Ingestion、解析、索引和查询工具,允许开发者将 LLM 与私有数据集成。这种方法通过结合来自用户特定数据源(如 API、SQL 数据库和文档)的上下文,让使用 LLM 搭建特定应用(例如问答、聊天机器人和文档理解)变得更加容易。LlamaIndex 提供了常用组件(如各种分块策略和混合搜索方法)的便捷程序 abstraction。

2. 质量评估与监控

由于 RAG 是一个复杂的系统,在特定场景中实现最佳结果可能具有挑战性。应对这些挑战需要一个科学的评估方法。诸如 Ragas、Arise、Langfuse、Relari AI、Giskard 和 DeepEval 等项目提供了评估和监控所需的指标和工具。它们允许开发者定量地测量、监控和排错他们的 RAG 系统。

示例:Ragas

Ragas 是一个用于评估 RAG  Pipeline 的全面框架。Ragas 提供了评估答案质量指标的工具,例如忠实度、相关性和上下文精确度。它支持生成合成测试数据集、监控生产中的 RAG 应用程序,以及与 AI 工具和平台(如 LangChain 和 LlamaIndex)的集成。通过提供一个包含关键性能方面的 Harmonized Ragas 评分,该框架简化并量化了评估过程,最终提高了 RAG Pipeline 的有效性和可靠性。

3. 数据 Connector 和网络抓取

能够无缝集成和处理来自多个源的数据至关重要。像 Airbyte、Fivetran 这样的平台在提供强大的数据 Connector 方面处于领先地位,以及 Apify 和 Zyte 用于网络抓取。它们使企业能够高效地收集、转换和整合数据到 RAG 工作流程中,从而更容易地利用 AI 完成关键任务。数据获取和连接性对于传统搜索系统至关重要,它们在今天的 RAG 中同样重要,RAG 在某种程度上是搜索的一种新形式。

示例:Airbyte

Airbyte 是一个为构建提取和加载(EL)数据 Pipeline 而设计的开源数据传输平台。与许多关注主要服务的数据 Pipeline 平台不同,Airbyte 还支持整合较小的、经常被忽视的服务。通过维护大量的 Connector 并促进社区分享定制 Connector,Airbyte 使公司能够为其特定需求创建定制化的解决方案。其强大的数据 Connector 可以将非结构化数据转换为 Embedding 向量,并加载到 Milvus 等向量数据库中,用于语义相似性搜索。这种能力对于企业来说,有助于高效地收集、转换和整合数据到 RAG 工作流程中,增强 AI 驱动的决策和搜索应用。

4. Embedding  和 Reranker 模型

像 Embedding 模型这样的深度神经网络正在改变非结构化数据的处理和理解方式。OpenAI、Cohere、Voyage AI、Jina AI 和 Twelve Labs 等公司在开发将文本和多模态数据转换为数值向量的高级模型方面处于领先地位。这些 Embedding 模型使得近似最近邻(ANN)向量搜索成为可能,允许应用程序提供高度相关的结果和洞察。

除了通用的 Embdding 模型,像 Voyage AI 这样的公司创建了专门化的模型,以提高特定垂直领域的数据质量,如法律和金融,而 Twelve Labs 专注于视频检索 Embedding 模型。Reranker 是经过专门训练的模型,它们比较查询和一小组候选文档之间的语义相关性,可以进一步提高初始基于向量的检索阶段的结果准确性。Cohere、Voyage AI 和 Jina AI 等公司提供 Reranker 以提高检索准确性。

示例:Voyage AI

Voyage AI 是一个由斯坦福大学和麻省理工学院的 AI 研究人员组成的团队,专注于检索模型,包括 Embedding 模型和 Reranker。他们领先的模型 voyage-2 通过文本对比学习训练,提供了比 OpenAI 的文本 Embedding 模型等行业标准更高的检索准确性、扩展的上下文窗口和高效的推理。Voyage AI 提供通用和特定领域模型,为金融、多语言环境、法律工作和代码检索等领域优化。Voyage AI 还提供 Reranker,以增强检索结果。

5. LLM 推理和托管

随着对 LLM 应用的需求不断增长,高效的托管和推理解决方案变得至关重要。像 vLLM、Lepton AI、Fireworks AI 和 Octo AI 这样的项目为部署和扩展 LLM 提供了强大的基础设施。它们结合了各种推理优化,确保模型在服务期间高效运行。

示例:vLLM

vLLM 是一个用于优化 LLM 推理和服务的开源库。它使用 PagedAttention 机制有效管理内存,并支持对传入请求进行持续批处理。该库通过 CUDA/HIP 图快速执行模型,并包括各种量化技术,如 GPTQ、AWQ、SqueezeLLM 和 FP8 KV 缓存。vLLM 与流行的 HuggingFace 模型无缝集成,提供高吞吐服务,并带有并行采样和 beam search 等解码算法。它支持分布式推理的张量(tensor)和 Pipeline 并行、流式输出,并包括一个与 OpenAI 兼容的 API 服务器。此外,它还提供前缀缓存和多 LoRA 支持等实验性功能,并针对 NVIDIA 和 AMD GPU 进行了优化。

6. 代理和内存管理

GenAI 生态系统在内存管理和基于代理的 AI 系统方面正在取得进展,解决方案如 MemGPT、Mem0、Camel、AutoGPT 和 CrewAI 等。这些创新使 AI 应用能够记住对话历史、利用工具和相互交互,提供更个性化和上下文感知的交互,显著增强用户体验。

示例:MemGPT

MemGPT 是一个开源项目,它旨在简化 Stateful LLM 代理的开发与部署。该项目借鉴了传统操作系统中的内存层次和控制流程,使得 MemGPT 能够自动且智能地管理不同层级的存储,为 LLM 在有限的上下文窗口中提供更广阔的上下文视野。MemGPT 通过 RAG 技术加强了与外部数据源的连接,并支持自定义工具或功能的设定与调用,从而简化了开发高级有状态 LLM 代理的过程。

7. 外部工具和代理 API

外部工具和 API 对于扩展代理的能力至关重要。像 Bing API、Google Search API、Twilio 等服务,以及 OpenAPI 等框架,促进了代理与工具的交互,使应用能够访问和利用外部数据、服务和功能。

示例:Bing API

Bing 搜索 API 套件,包括网页和图像搜索等服务,提供安全、无广告、并具有位置感知的搜索结果。这使得代理能够通过单一的 API 调用访问来自数十亿的网络文档、图像、视频和新闻信息。

8. 前端和搜索/聊天用户界面体验

创建与 AI 应用交互的直观界面对于用户至关重要。像 Streamlit、Vercel 和 Gradio 这样的框架通过提供用户友好的 UI 体验,简化了 AI 应用的开发流程。开发者可以利用这些框架来定制界面,以满足 AI 交互的特定需求,比如为 RAG 应用设计聊天界面,以及为视觉搜索添加图片选择、编辑和浏览等功能。

示例:Streamlit

Streamlit 是一个开源的 Python 框架,专为数据科学家和 AI/ML 工程师设计,它允许用户以极少的代码快速构建动态且交互式的数据应用。该框架采用直观的语法,省去了对 CSS、HTML 或 JavaScript 的依赖,让用户能够迅速开发并部署应用。Streamlit 与 Pandas、NumPy 等流行数据科学库无缝集成,并支持构建 AI 驱动应用所需的后端组件。

9. 知识图谱(KG)

知识图谱通过提供结构化数据,增强了 RAG 性能,从而提升了信息检索的精确度和相关性,使得 AI 生成的响应更加准确且富有上下文感知。如 WhyHow、GraphRAG 和 HippoRAG 等项目将知识图谱与 RAG 技术相结合,以此提升检索结果和生成答案的质量。

示例:WhyHow

WhyHow 是一个平台,旨在帮助开发者更高效地组织和检索非结构化数据,专注于利用知识图谱来增强复杂的 RAG 系统。该平台提供了灵活的数据 Ingestion 工具,支持创建多用户协作的图谱,以促进开发者与非技术领域的专家之间的协作。它还允许进行细致的 Schema 操作,以便将图谱定制化以适应特定的用例。WhyHow 侧重于小型、模块化的图谱和向量块,以此提高信息检索的精确性。该平台兼容向量数据库,并提供了多种格式的导出功能。此外,WhyHow 还提供了一个开源的基于规则(rule-based)的检索包,通过高级过滤技术,助力创建更精确的检索流程。

10. 开箱即用的低代码 RAG 服务

对于 RAG 技术,市场对于即插即用和低代码解决方案的需求日益增长。如 AnythingLLM、PrivateGPT、Dify、Shakudo、Vectara、Epsilla 和 FlowiseAI 等项目,提供了用户友好的解决方案和灵活的定制选项,使得企业能够在不具备数据 Pipeline 和搜索基础设施开发专长的情况下,迅速部署 AI 应用。

示例:AnythingLLM

AnythingLLM 是一个多合一的 AI 应用程序,它提供了交互式 RAG 聊天机器人和 AI 代理,且无需任何编码工作。这一平台专为那些希望快速实现私有化、零配置解决方案或需要定制 AI 应用但又缺乏编码知识的企业设计。AnythingLLM 支持各类商业和开源的 LLM 以及向量数据库。它通过本地和远程部署方式,为用户提供了全面的技术栈。其核心功能包括:用于高效文档管理的工作区、具备细致权限控制的多用户支持、能够进行网页浏览和代码执行的代理、个性化的嵌入式聊天窗口,以及对多种文档格式的广泛支持。此外,AnythingLLM 还为开发者提供了强大的 API,以便进行个性化集成。

11. 图像和视频生成

GenAI 生态系统不仅仅局限于文本应用的范畴;它同样在图像与视频生成领域取得了显著的突破。

创意生成和数字孪生

如 Midjourney、Stability AI、Runway、Pika 和 HeyGen 等工具正借助 AI 驱动的解决方案,引领创意产业的革命,它们能够生成精美绝伦的图像和视频。这些平台为艺术家、营销专家和开发者们提供了强大的能力,使他们能够创作出引人入胜的视觉作品,不断拓展创意和创新的疆域。

示例:Midjourney

Midjourney 是由位于旧金山的独立研究实验室 Midjourney, Inc. 开发的一款先进的生成式 AI 程序和服务。它能够根据自然语言的描述或 Prompt,创造出高质量的图像,这与 OpenAI 的 DALL-E 和 Stability AI 的 Stable Diffusion 有异曲同工之妙。用户可以通过 Discord 机器人与 Midjourney 进行互动,只需输入 /imagine 命令和相应的 Prompt,即可生成四幅图像,并选择进行放大。这一工具不仅展示了 GenAI 生态系统的进步,而且通过扩展数字内容创造的可能性,对创意产业产生了深远的影响。

总结

GenAI 生态系统是一个充满活力且日新月异的领域,它的显著特征是多样性和复杂性。从基础技术如LLM 和向量数据库,到数据采集、工作流程编排和图像生成的创新,GenAI 正在不断拓宽 AI 的疆界。随着不断的探索和创新,GenAI 在多个行业的变革潜力显得无比巨大。在 Zilliz,作为 Milvus 向量数据库的开发者,我们与 GenAI 领域的众多合作伙伴携手共进。我们热切期待见证并积极参与 GenAI 的持续演进,并对未来它所能开启的无限可能充满期待。

作者介绍

1e4242a8a2bdf784c77eeff2acff8581.jpeg

陈将

Zilliz 生态和 AI 平台负责人

推荐阅读

96fd406fffbd4983fd14aef7791ec67a.png

57c98d45db1f0a9d1455980b537798a0.png

9677fe0d08719f6c910c1dc132521459.png

4445dd51bc94015057b3c9b757081bab.png

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

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

相关文章

ctf文件上传题小总结与记录

解题思路:先看中间件,文件上传点(字典扫描,会员中心),绕过/验证(黑名单,白名单),解析漏洞,cms,编辑器,最新cve 文件上传漏…

如何使用VBA识别Excel中的“单元格中的图片”(2/2)

Excel 365升级了新功能,支持两种不同的插入图片方式: 放置在单元格中(Place in cell),新功能,此操作插入的图片下文中简称为单元格中的图片。放置在单元格上(Place over cell)&…

python绘制置信椭圆

置信椭圆 置信椭圆(Confidence Ellipse)是一种用来表示二维数据的置信区域的统计工具。它是多元统计分析中常用的图形,通过它可以表示两个变量之间的协方差关系以及同时包含两个变量的可能取值范围。置信椭圆一般用于描述一组二维数据的散布…

用Python设置、更新和获取Excel单元格的值

Excel工作簿作为一款广泛使用的数据管理工具,与Python相结合,可以使得自动化处理大量数据成为可能。通过Python来设置、更新以及读取Excel单元格的值,不仅可以极大地提高工作效率,减少重复劳动,还能增强数据处理流程的…

轴承故障全家桶更新 | 基于时频图像的分类算法

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

001-Kotlin界面开发之Jetpack Compose Desktop学习路径

Compose Desktop学习之路 学习过程 理解Kotlin的基本语法 Compose Desktop采用Kotlin构建,因此对Kotlin的基本语法有很好的理解是必不可少的。你可以从官方的Kotlin文档开始。 用一句话概括,Kotlin是一种现代的、静态类型的编程语言,它结合…

阳振坤:云时代数据库的思考 | OceanBase发布会实录

在2024 OceanBase 年度发布会中,OceanBase 的创始人与首席科学家阳振坤进行了《云时代数据库的思考》的主题分享。本文为演讲实录。 亲爱的朋友们,衷心感谢各位莅临今天的发布会现场。今天是一个云的时代,我想与大家分享,我对于云…

JavaScript语法基础(函数,对象,常用类Array,String,Math和Date)【超详细!!!新手入!!!】

一、函数 1、函数的定义 函数指的是一段可被重复调用的代码块。函数与变量不同,需要先定义再调用。 定义函数的语法格式为: function 函数名(参数1,参数2,...) { 语句; …

OpenGL入门004——使用EBO绘制矩形

本节将利用EBO来绘制矩形 文章目录 一些概念EBO 实战简介utilswindowFactory.hRectangleModel.hRectangleModel.cpp main.cppCMakeLists.txt最终效果 一些概念 EBO 概述: Element Buffer Object 用于存储顶点的索引数据,以便在绘制图形时可以重用顶点数…

linux之网络子系统-用户层接收数据包之同步阻塞方案

一、前言 之前讲述了网络包是如何从网卡送到协议栈的,接下来内核还有一项重要的工作,就是在协议栈接收处理完输入包后要通知到用户进程,如何用户进程接收到并处理这些数据。 进程与内核配合有多种方案,这里我们这分析两种典型的…

高效消防应急:RFID技术救援装备的快速管理

基层应急救援消防设施管理面临着一个既复杂又迫切的挑战。通常,受限的资源和专业人才的短缺导致应对突发事件的反应迟缓,处理结果不理想。同时,消防团队的人员结构和技术能力也在一定程度上决定了应急救援的成效和效率。在数字化浪潮下&#…

TMDOG的Gin学习笔记_01——初识Gin框架

TMDOG的Gin学习笔记_01——初识Gin框架 博客地址:[TMDOG的博客](https://blog.tmdog114514.icu) 作者自述: 停更太久了,是因为开学了课太多了,并且我一直在准备上篇文章的内容正在coding,就先搁置了更新博客QAQ&…

【ROS的TF系统】

系列文章目录 TF系统简介 前面的章节实现了SLAM节点的建图功能: 激光雷达节点—> /scan话题 —>hector_mapping节点—> 地图数据话题/map 本期来实现SLAM节点的定位功能: TF(TransForm)主要描述的是两个坐标系的空间关…

Pandas JSON学习

1.JSON简介 JSON(JavaScript Object Notation,JavaScript 对象表示法),是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析,Pandas 可以很方便的处理 JSON 数据。 [{"…

SQL Server身份验证模式

SQL Server是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQL Server身份验证。理解这些身份验证方式的概念与更改方式的操作,对于数据库管理员和开发者至关重要。本文将详细介绍身份验证方式的概念以及如何…

DC-9靶机通关

这是这个系列的最后一个靶机了!!!经过前面的锻炼和学习,这次我的目标是尽量不借助任何教程或者提示来拿下这个靶机!!!下面我们看能不能成功!!! 1.实验环境 攻…

百度SEO分析实用指南 提升网站搜索排名的有效策略

内容概要 在数字化时代,搜索引擎优化(SEO)已经成为提升网站曝光度的关键工具。本指南将带您了解SEO的基本知识,帮助您在复杂的网络环境中立足。我们将从关键词优化开始,重点讲解如何选择合适的关键词来提高搜索引擎排…

ML2001-1 机器学习/深度学习 Introduction of Machine / Deep Learning

图片说明来自李宏毅老师视频的学习笔记,如有侵权,请通知下架 影片参考 【李宏毅】3.第一节 - (上) - 机器学习基本概念简介_哔哩哔哩_bilibili 1. 机器学习的概念与任务类型 概念:机器学习近似于寻找函数,用于处理不同类型的任…

用Python打造媒体管理播放器:从零到全功能GUI应用

背景 在日常生活中,我们经常需要管理和播放大量媒体文件。市面上的音频播放器可能功能单一,或者界面复杂。作为一名程序员,我决定使用Python自己打造一个简单yet强大的媒体管理播放器。 C:\pythoncode\new\playsong.py 全部代码 import os…

Cisco Packet Tracer 8.0 路由器静态路由配置

文章目录 静态路由简介一、定义与特点二、配置与命令三、优点与缺点四、应用场景 一,搭建拓扑图二,配置pc IP地址三,pc0 ping pc1 timeout四,配置路由器Router0五,配置路由器Router1六,测试 静态路由简介 …