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

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.xdnf.cn/news/18.html

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

相关文章

聪明的你能从千门八将108局学到什么,对你的未来人生有哪些深远的影响?

千门八将108局:智慧的启迪与人生指引 在古老智慧的宝库中,千门八将108局犹如璀璨星辰,闪耀着神秘而深邃的光芒。那些认真钻研过这些局的人,仿佛经历了一场穿越时空的智慧洗礼,从中收获了无价的人生财富。 一、从千门八…

GraphQL 与 Elasticsearch 相遇:使用 Hasura DDN 构建可扩展、支持 AI 的应用程序

作者:来自 Elastic Praveen Durairaju GraphQL 提供了一种高效且灵活的数据查询方式。本博客将解释 Hasura DDN 如何与 Elasticsearch 配合使用,以实现高性能和元数据驱动的数据访问。 此示例的代码和设置可在此 GitHub 存储库 - elasticsearch-subgraph…

根据问题现象、用户操作场景及日志打印去排查C++软件问题,必要时尝试去复现问题

目录 1、概述 2、通过现有信息无法定位问题时,则需要尝试去复现问题 3、非崩溃问题与崩溃问题的一般排查思路 3.1、非崩溃问题的排查思路 3.2、崩溃问题的排查思路 4、难以复现问题的可能原因总结 4.1、问题难以复现,可能和某种特殊的业务场景或操…

11-Dockerfile

11-Dockerfile Dockerfile Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。 构建步骤: 编写Dockerfile文件docker build命令构建镜像docker run依据镜像运行容器实例 构建过程 Dockerfile编写&#xff1a…

CMS getshell

进入前台 漏洞为前台任意用户密码修改和前台用户文件上传然后getshell 1. 弱口令进入前台用户admin123/admin123 2. 进入会员用户后点击内容中心 点击发布文章 存在文件上传,发现后缀和MIME类型都是白名单 但是在原文件的基础上继续添加随意后缀,发现成功…

Java使用apache.commons.io框架下的FileUtils类实现文件的写入、读取、复制、删除

Apache Commons IO 是 Apache 开源基金组织提供的一组有关IO(Input/Output)操作的小框架,它是 Apache Commons 项目的一部分,专注于提供简单易用的 API,用于处理输入和输出操作。Apache Commons IO 是一个功能强大的 J…

CRON组件一个复杂的一个简单的

CRON组件一个复杂的一个简单的 一个是复杂点的一个是简单点。 1.以简单的为例使用&#xff1a; 父组件 import CronSimple from "/views/xxx/components/cron-simple/index.vue";components: {CronSimple}<el-dialog title"调度CRON"v-if"cronV…

Kubernetes容器日志处理方案

Kubernetes容器日志处理方案 50-Kubernetes容器日志处理方案 0 前言 k8s里面对容器日志的处理都叫cluster-level-logging&#xff0c;即该日志处理系统&#xff0c;与容器、Pod及Node的生命周期完全无关。这种设计当然为保证&#xff0c;无论容器挂、Pod被删&#xff0c;甚至节…

【青牛科技】GC4921替代BD6921/罗姆在水泵、筋膜枪、吸尘器和电动工具中的应用

在现代电动设备中&#xff0c;电机驱动控制器的选择对设备的性能和效率至关重要。GC4921作为一种新型的电机驱动控制器&#xff0c;逐渐被视为BD6921/罗姆的替代品。本文将对GC4921与BD6921进行对比&#xff0c;探讨其在水泵、筋膜枪、吸尘器和电动工具等设备中的应用优势。 1…

Android OpenGL ES详解——裁剪Scissor

目录 一、概念 二、如何使用 1、开启裁剪测试 2、关闭裁剪测试 3、指定裁剪窗口&#xff08;位置和大小&#xff09; 4、裁剪应用举例 三、窗口、视⼝和裁剪区域三者区别 四、源码下载 一、概念 定义1&#xff1a; 裁剪是OpenGL中提⾼渲染的⼀种方式&#xff0c;只刷新…