GenAI 生态系统现状:不止大语言模型和向量数据库
自 20 个月前 ChatGPT 革命性的推出以来,生成式人工智能(GenAI)领域经历了显著的发展和创新。最初,大语言模型(LLMs)和向量数据库吸引了最多的关注。然而,GenAI 生态系统远不止这两个部分,它更加广泛和复杂。向量数据库是是赋能 GenAI 应用的关键基础设施,作为其构建者我对于快速的技术进步及向量数据库对行业的影响感到非常兴奋。在本文中,我想回顾一下,并分享对 GenAI 生态系统现状的一些思考。
生成式 AI 应用大致可以分为两种主要类型:检索增强生成(RAG)和多媒体生成。RAG 结合了信息检索技术与生成式语言模型,以产生相关且连贯的输出。另一方面,多媒体生成利用生成式模型创造复杂的视觉内容,包括创意广告和数字孪生(Digital twins)。
1280X1280.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 工作流程。
工作流程编排与优化
为了管理 RAG 应用的复杂工作流程,广泛使用了如 LangChain、LlamaIndex、Haystack、DSPy 和 Semantic Kernel 等 SDK。这些编排框架使开发者能够构建、定制和测试 RAG Pipeline,确保这些 Pipeline 被组合以实现特定用例的最佳生成答案质量。
示例:LlamaIndex
LlamaIndex 是一个用于构建基于 LLM 的上下文增强应用的框架。它通过提供数据 Ingestion、解析、索引和查询工具,允许开发者将 LLM 与私有数据集成。这种方法通过结合来自用户特定数据源(如 API、SQL 数据库和文档)的上下文,让使用 LLM 搭建特定应用(例如问答、聊天机器人和文档理解)变得更加容易。LlamaIndex 提供了常用组件(如各种分块策略和混合搜索方法)的便捷程序 abstraction。
质量评估与监控
由于 RAG 是一个复杂的系统,在特定场景中实现最佳结果可能具有挑战性。应对这些挑战需要一个科学的评估方法。诸如 Ragas、Arise、Langfuse、Relari AI、Giskard 和 DeepEval 等项目提供了评估和监控所需的指标和工具。它们允许开发者定量地测量、监控和排错他们的 RAG 系统。
示例:Ragas
Ragas 是一个用于评估 RAG Pipeline 的全面框架。Ragas 提供了评估答案质量指标的工具,例如忠实度、相关性和上下文精确度。它支持生成合成测试数据集、监控生产中的 RAG 应用程序,以及与 AI 工具和平台(如 LangChain 和 LlamaIndex)的集成。通过提供一个包含关键性能方面的 Harmonized Ragas 评分,该框架简化并量化了评估过程,最终提高了 RAG Pipeline 的有效性和可靠性。
数据 Connector 和网络抓取
能够无缝集成和处理来自多个源的数据至关重要。像 Airbyte、Fivetran 这样的平台在提供强大的数据 Connector 方面处于领先地位,以及 Apify 和 Zyte 用于网络抓取。它们使企业能够高效地收集、转换和整合数据到 RAG 工作流程中,从而更容易地利用 AI 完成关键任务。数据获取和连接性对于传统搜索系统至关重要,它们在今天的 RAG 中同样重要,RAG 在某种程度上是搜索的一种新形式。
示例:Airbyte
Airbyte 是一个为构建提取和加载(EL)数据 Pipeline 而设计的开源数据传输平台。与许多关注主要服务的数据 Pipeline 平台不同,Airbyte 还支持整合较小的、经常被忽视的服务。通过维护大量的 Connector 并促进社区分享定制 Connector,Airbyte 使公司能够为其特定需求创建定制化的解决方案。其强大的数据 Connector 可以将非结构化数据转换为 Embedding 向量,并加载到 Milvus 等向量数据库中,用于语义相似性搜索。这种能力对于企业来说,有助于高效地收集、转换和整合数据到 RAG 工作流程中,增强 AI 驱动的决策和搜索应用。
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,以增强检索结果。
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 进行了优化。
代理和内存管理
GenAI 生态系统在内存管理和基于代理的 AI 系统方面正在取得进展,解决方案如 MemGPT、Mem0、Camel、AutoGPT 和 CrewAI 等。这些创新使 AI 应用能够记住对话历史、利用工具和相互交互,提供更个性化和上下文感知的交互,显著增强用户体验。
示例:MemGPT
MemGPT 是一个开源项目,它旨在简化 Stateful LLM 代理的开发与部署。该项目借鉴了传统操作系统中的内存层次和控制流程,使得 MemGPT 能够自动且智能地管理不同层级的存储,为 LLM 在有限的上下文窗口中提供更广阔的上下文视野。MemGPT 通过 RAG 技术加强了与外部数据源的连接,并支持自定义工具或功能的设定与调用,从而简化了开发高级有状态 LLM 代理的过程。
外部工具和代理 API
外部工具和 API 对于扩展代理的能力至关重要。像 Bing API、Google Search API、Twilio 等服务,以及 OpenAPI 等框架,促进了代理与工具的交互,使应用能够访问和利用外部数据、服务和功能。
示例:Bing API
Bing 搜索 API 套件,包括网页和图像搜索等服务,提供安全、无广告、并具有位置感知的搜索结果。这使得代理能够通过单一的 API 调用访问来自数十亿的网络文档、图像、视频和新闻信息。
前端和搜索/聊天用户界面体验
创建与 AI 应用交互的直观界面对于用户至关重要。像 Streamlit、Vercel 和 Gradio 这样的框架通过提供用户友好的 UI 体验,简化了 AI 应用的开发流程。开发者可以利用这些框架来定制界面,以满足 AI 交互的特定需求,比如为 RAG 应用设计聊天界面,以及为视觉搜索添加图片选择、编辑和浏览等功能。
示例:Streamlit
Streamlit 是一个开源的 Python 框架,专为数据科学家和 AI/ML 工程师设计,它允许用户以极少的代码快速构建动态且交互式的数据应用。该框架采用直观的语法,省去了对 CSS、HTML 或 JavaScript 的依赖,让用户能够迅速开发并部署应用。Streamlit 与 Pandas、NumPy 等流行数据科学库无缝集成,并支持构建 AI 驱动应用所需的后端组件。
知识图谱(KG)
知识图谱通过提供结构化数据,增强了 RAG 性能,从而提升了信息检索的精确度和相关性,使得 AI 生成的响应更加准确且富有上下文感知。如 WhyHow、GraphRAG 和 HippoRAG 等项目将知识图谱与 RAG 技术相结合,以此提升检索结果和生成答案的质量。
示例:WhyHow
WhyHow 是一个平台,旨在帮助开发者更高效地组织和检索非结构化数据,专注于利用知识图谱来增强复杂的 RAG 系统。该平台提供了灵活的数据 Ingestion 工具,支持创建多用户协作的图谱,以促进开发者与非技术领域的专家之间的协作。它还允许进行细致的 Schema 操作,以便将图谱定制化以适应特定的用例。WhyHow 侧重于小型、模块化的图谱和向量块,以此提高信息检索的精确性。该平台兼容向量数据库,并提供了多种格式的导出功能。此外,WhyHow 还提供了一个开源的基于规则(rule-based)的检索包,通过高级过滤技术,助力创建更精确的检索流程。
开箱即用的低代码 RAG 服务
对于 RAG 技术,市场对于即插即用和低代码解决方案的需求日益增长。如 AnythingLLM、PrivateGPT、Dify、Shakudo、Vectara、Epsilla 和 FlowiseAI 等项目,提供了用户友好的解决方案和灵活的定制选项,使得企业能够在不具备数据 Pipeline 和搜索基础设施开发专长的情况下,迅速部署 AI 应用。
示例:AnythingLLM
AnythingLLM 是一个多合一的 AI 应用程序,它提供了交互式 RAG 聊天机器人和 AI 代理,且无需任何编码工作。这一平台专为那些希望快速实现私有化、零配置解决方案或需要定制 AI 应用但又缺乏编码知识的企业设计。AnythingLLM 支持各类商业和开源的 LLM 以及向量数据库。它通过本地和远程部署方式,为用户提供了全面的技术栈。其核心功能包括:用于高效文档管理的工作区、具备细致权限控制的多用户支持、能够进行网页浏览和代码执行的代理、个性化的嵌入式聊天窗口,以及对多种文档格式的广泛支持。此外,AnythingLLM 还为开发者提供了强大的 API,以便进行个性化集成。
图像和视频生成
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 的持续演进,并对未来它所能开启的无限可能充满期待。
技术干货
使用Gemini 1.5、BGE-M3、Milvus Lite 和 LangChain 搭建多模态 RAG 应用
本文将介绍一种减轻 LLM 幻觉的解决方案——检索增强生成(Retrieval Augmented Generation,RAG)。我们将搭建一个结合了不同模态数据(文本和图像)的多模态 RAG 应用,以减轻 LLM 幻觉。
2024-11-15技术干货
RoBERTa:一种优化的预训练自监督NLP系统方法
本文将讨论RoBERTa开发中使用的方法和技术,包括其训练方法、它所取得的成果,以及它开辟的潜在未来研究机会。
2024-11-06技术干货
驾驭机器学习管理的挑战:成功所需的工具与洞察
随着机器学习(ML)以惊人的速度持续进步,管理和版本控制大规模数据集和模型的复杂性呈指数级增长。虽然开发者长期以来依赖于像Git这样的工具来进行软件开发中的版本控制,但机器学习的独特挑战需要更专业的解决方案。与软件不同,软件的代码库可以相对容易地进行版本控制和管理,而ML模型、数据集和工件往往缺乏统一的行业标准来进行版本控制和管理。
2024-11-05