停止支付 OpenAI 税:新兴的开源 AI Agent 智能体全景技术栈 原创
一套开源模型和工具,使任何开发者都能构建最先进的 AI Agent 智能体应用程序。
如果我们能回到过去,告诉软件工程师他们的应用程序将由神秘的 AI Agent 智能体驱动,我们对它的内部运作一无所知,并且他们为了体验的便利性,将最敏感的数据交给第三方,他们可能会摇头表示不相信。但现在的我们就是这样。
如今,全世界的开发者都在围绕 AI Agent 智能体重新想象他们的应用程序,而这默认意味着将专有的大语言模型(LLMs)集成到每个方面。虽然像OpenAI 和 Anthropic 这样的专有 LLMs 点燃了 AI Agent 智能体革命,但它们也存在重大缺陷:令人望而却步的成本、数据隐私问题、供应商锁定以及缺乏可定制性。最初,为了革命性的能力而牺牲性能和控制似乎是一笔值得做的交易,但现在许多开发者希望有另一种方式。
但是革命有一种使曾经专属的东西民主化的方式。虽然最初的 AI Agent 智能体热点聚焦于专有模型,但真正的革命却是开源 LLMs 作为一种可行的替代方案,像 OpenAI 这样的专有模型一样飞速崛起。开源 AI Agent 智能体工具的创新也悄然爆发,这些工具使开发者能够利用开源 LLMs 增强的推理能力,并将其转化为有用的应用程序——从模型部署和托管工具到数据存储和检索,再到前端和后端网络框架。
为了帮助您进入这个新领域,并根据与数百名开发者和其他 AI Agent 智能体工具构建者的对话,我们分享了我们对“简易模式”开源 AI Agent 智能体堆栈的选择——最适合构建 AI Agent 智能体应用程序的开发者友好的模型和工具。以下是堆栈组件如何协同工作以赋予开发者权力并重塑 AI 未来的介绍:
这套开源的 AI Agent 智能体工具套件将部署、隐私和性能的完全控制权交还给开发者,而且不牺牲应用程序的智能。开发者现在有了构建和部署 AI Agent 智能体解决方案的工具,无论他们想以何种方式——本地、云端或边缘计算。他们保留了对数据的100%控制权,不必担心“可信赖”的第三方可能会如何处理潜在敏感信息。这不仅仅是一个技术上的转变;这是一个文化上的转变,标志着回归开发者自主和创新的核心价值观。
这就是开源 AI Agent 智能体堆栈的承诺——一套使任何开发者都能构建最先进的 AI Agent 智能体应用程序的模型和工具。这不仅仅是一套技术;这是朝着让每个开发者都能接触创新迈出的一步。
1、LLMs:开源大模型
一套顶级的开源免费大语言模型(LLMs),与 OpenAI、Anthropic 和Google 的专有大模型相匹敌。这些包括来自 Meta 的 Llama 3.3,Mistral 模型家族,Qwen 模型家族,来自微软的 Phi 3,以及 DeepMind 的 Gemma 2。
开源大语言模型正在民主化 AI Agent 智能体的前沿。像来自 Meta 的 Llama 3 家族,Mistral 7B 和 Pixtral 12B,来自阿里云的 Qwen 2.5,来自微软的Phi 3,以及来自 DeepMind 的 Gemma 2 等大模型可以免费下载和使用,任何拥有足够硬件资源的开发者都可以运行这些模型。
这些开源模型与专有解决方案竞争,提供以下优势:
第一、更大的数据控制权:使用开源模型可以保持所有数据的私密性,消除对第三方的依赖,并为开发者提供更大的安全性和合规性保障。
第二、具有竞争力的推理性能:开源模型在 MMLU、HumanEval 和 MATH Reasoning 等基准测试中越来越具有竞争力,表明开源模型与专有模型在推理能力上的差距正在缩小。
第三、部署的灵活性和可定制性:您可以通过自行微调或访问公开可用的模型微调和变体,为特定用例适应模型,而无需受供应商限制。
第四、小型模型的效率和可扩展性:较小的开源模型通常需要较少的计算能力,这使得它们在成本效益上更优,且在资源受限的设备或环境中更容易部署,同时在特定任务上仍能提供强大的性能。
2、嵌入模型:开源嵌入模型
一套顶级的开源嵌入模型。这些包括:Nomic,来自 BAAI 的 BGE,Sentence Transformers 家族,以及 Jina AI 的模型等。
向量嵌入在现代 AI Agent 智能体应用程序中非常有用。它们为搜索和 RAG(检索增强生成)功能提供支持,使 LLM 应用程序能够以更加扎实、上下文相关的答案进行响应。
就像在开源 LLMs 中一样,开源嵌入模型在与专有解决方案(比如:OpenAI 的 text-embedding-3 模型家族和 Cohere 的 embed-multilingual-v3.0)的竞争中取得了重大进展。领先的开源嵌入模型包括:
第一、Sentence Transformers / SBERT:开源嵌入模型家族,具有各种大小和专业化,从轻量级的 all-minilm 到多语言模型。
第二、Nomic:Nomic Embed Text V1.5 支持可变嵌入大小(768, 512, 256, 128, 64)并在检索、相似性、聚类和分类任务上具有专长。它可以处理多达8,192个令牌的序列,并为文本和图像数据提供多模态能力。
第三、BGE (BAAI):BGE(BAAI 通用嵌入)模型将文本映射到密集向量,用于检索、分类和语义搜索任务。最新的 BGE-M3 模型支持超过100种语言,并能处理多达8,192个令牌的文档。它具有多功能性(密集检索、多向量检索、稀疏检索)能力。
第四、Jina AI:Jina AI 的 jina-embeddings-v3 是一个拥有5.7亿参数的模型,支持89种语言,在30种核心语言上表现出色。它具有8,192个令牌的输入长度,可配置的输出维度高达1,024,并在查询-文档检索、聚类、分类和文本匹配方面具有专业能力。
3、模型的访问和部署:Ollama
Ollama 已经成为开发者访问和构建开源 LLMs 和嵌入模型的首选工具。
部署 AI Agent 智能体模型曾经就像试图从你的车库发射航天飞机一样。它需要一系列令人望而生畏的专业知识:博士团队、复杂的基础设施,以及会让大多数组织崩溃的资源。Ollama 彻底改变了游戏规则,允许开发者通过一个命令就能运行最先进的模型:
ollama run llama3.2
通过提供一个工具访问数百个 LLMs 和嵌入模型,抽象掉基础设施挑战,并简化部署流程,Ollama 将曾经看似不可逾越的事情变成了无缝且直观的过程。它赋予开发者专注于解决现实世界问题的能力,无论是在个人项目还是企业项目中,都在创新和实用性之间架起了桥梁。
借助开源模型和 Ollama 的简洁性,开发者获得了前所未有的自由,可以按照他们选择的方式部署 AI Agent 智能体。以一个案例为例:上面开源 LLMs 和嵌入模型部分提到的所有模型都可以通过 Ollama 获得!
4、数据存储和检索:PostgreSQL, pgvector 和 pgai
PostgreSQL,这个开源数据库及其面向 AI Agent 智能体的开源扩展生态系统,比如:pgvector 和 pgai,是希望构建 AI Agent 智能体应用程序的开发者的理想选择。
良好的数据和高效的检索是 AI Agent 智能体中 RAG 革命的核心,使开发者能够创建 LLM 应用程序,为用户提供高度准确、基于上下文、无幻觉的答案。
然而,最佳的 AI Agent 智能体应用程序不仅仅使用向量数据库——它们涉及非结构化、结构化以及应用数据的结合,以及在大型数据集上使用复杂过滤器进行向量搜索。这样的检索系统确保您的用户获得最相关的上下文答案,但构建它们可能很复杂,在某些情况下,可能需要多个数据库系统和自定义数据管道:
您需要存储文档和其他源数据以创建要搜索的知识库。
您需要一种预处理这些数据的方法,从中创建向量嵌入,并随着知识库的变化保持这些嵌入同步。
您还需要能够存储和搜索向量嵌入,通常是在大规模下,并且需要在元数据和其他用户数据上应用复杂的过滤器。更不用说处理多租户、权限和访问控制、高可用性等实际关注点。
好消息是,世界上最受欢迎的数据库 PostgreSQL 正在从一个值得信赖的关系数据库转变为支持结构化数据、非结构化数据和快速、准确的向量搜索的 AI Agent 智能体应用程序的数据层。
PostgreSQL 是开源的,并且有一个开源扩展生态系统,使它成为支持 AI Agent 智能体应用程序存储和检索的首选数据库:
第一、向量搜索:像 pgvector 和 pgvectorscale 这样的扩展支持向量存储和相似性搜索,其性能超过了专业的向量数据库。
第二、易用性:像 pgai 这样的扩展简化了在 PostgreSQL 中访问 LLMs 以对数据进行推理,而像 pgai Vectorizer 这样的功能使嵌入创建和同步像传统数据库索引一样直观。
第三、集成和生态系统:Pgai 对 Ollama 的支持使得轻松访问最先进的开源模型进行嵌入创建或推理变得简单。
示例:使用几行 SQL 执行语义搜索:
CREATE TABLE IF NOT EXISTS blog (
id SERIAL PRIMARY KEY,
title TEXT,
authors TEXT,
contents TEXT,
metadata JSONB
);
INSERT INTO blog (title, authors, contents, metadata) VALUES ('The Future of Artificial Intelligence', 'Dr. Alan Turing', 'As we look towards the future, artificial intelligence continues to evolve...', '{"tags": ["AI", "technology", "future"], "read_time": 12, "published_date": "2024-04-01"}');
--insert more data here
--Vectorize data in the contents column using models from Ollama
SELECT ai.create_vectorizer(
'blog'::regclass,
destination => 'blog_contents_embeddings',
embedding => ai.embedding_ollama('nomic-embed-text', 768),
chunking =>
ai.chunking_recursive_character_text_splitter('contents')
);
-- Perform semantic search
SELECT
b.title,
b.contents,
be.chunk,
be.embedding <=> ai.ollama_embed('nomic-embed-text', 'What comes next in AI') as distance
FROM blog_contents_embeddings be
JOIN blog b ON b.id = be.id
ORDER BY distance
LIMIT 3;
5、后端:FastAPI
你的 AI Agent 智能体应用程序后端将智能模型连接到面向用户的应用程序,而 FastAPI 已经成为开发者的首选框架。它提供以下功能:
第一、速度和简洁性:异步编程确保了低延迟和高吞吐量。
第二、开发者友好的设计:自动 API 文档和类型提示使得快速迭代成为可能。
第三、无缝集成:非常适合实时应用程序,比如:聊天机器人、推荐引擎和预测分析。
FastAPI 消除了后端瓶颈,允许开发者轻松地将 AI Agent 智能体应用程序从原型扩展到生产。想象一下,部署一个由开源模型驱动的推荐系统。FastAPI 的异步功能确保用户请求能够即时处理,而其自动文档保持了协作的无缝性。这些特性共同将复杂的后端工作流程转变为可管理、高效的系统。
6、前端:NextJS
AI Agent 智能体应用的前端需要处理复杂的状态管理和动态更新,而 NextJS已经成为生产部署中首选的 React 框架。
它提供了一系列有用的功能:
第一、混合渲染:服务器端渲染(SSR)和客户端静态渲染为每个页面提供了灵活的渲染和缓存选项。Next.js 提供了强大的服务器端功能,这对于 AI Agent 智能体应用尤其有益。框架的 SSR 有助于高效地管理计算密集型的 AI 任务,同时减轻客户端设备的负载。这在处理复杂的 AI 模型交互和数据处理时尤其重要。
第二、实时流和更新:它无缝集成各种实时解决方案,支持流畅的动态交互,这对于 AI 聊天和其他显示动态内容的 UI 特别重要。
第三、与 Vercel AI SDK 集成:Vercel AI SDK(也是开源的)专为使用Next.js 创建 AI Agent 智能体应用而构建,并支持客户端和服务器端的 AI 功能。它与 Ollama 集成得很好,并提供了处理 AI 模型推理、流式响应和与提供商连接的实用工具。
7、缺失的一环:评估和验证
虽然开源 AI Agent 智能体堆栈已经成熟,但评估仍然是一个关键挑战。像LangFuse 和 Arize 的 Phoenix 这样的项目提供了希望,但生态系统仍然缺乏一个全面的框架来测试和验证 AI 模型。这个空白代表了一个创新的机会——社区有机会定义可靠、现实世界的 AI Agent 智能体应用。
为什么这很重要:与传统应用不同,大语言模型(LLMs)是非确定性的,这意味着如果你在没有评估和验证的情况下部署一个 AI Agent 智能体应用,你就无法判断你的应用的表现。一个健壮的评估系统对于确保你的应用现在以及随着系统发展都能表现良好至关重要。
我们应该说,鉴于开源社区在创建可观察性和监控工具方面的强大记录,我们觉得这种能力上的空白特别引人入胜。我们认为,总的来说,评估生态系统还处于起步阶段,正确的做法尚未被发现。我们怀疑当前的系统过于一刀切,低估了跨项目评估需求的多样性。需要的是一种类似于 DevOps 中 GitOps 革命的视角转变,这也是为什么我们特别兴奋地看到在这个领域开源驱动的创新被释放出来。
8、创新开放获取:您将构建什么?
开源 AI Agent 智能体堆栈不仅仅是一系列工具的集合——它是一场运动。开发者现在可以自由地构建、创新和控制他们的 AI Agent 智能体应用程序,无需担心供应商锁定或隐私问题。
通过开源 AI,您可以获得:
第一、自由部署在任何地方——本地、云端或边缘。
第二、对数据的完全控制——不与第三方共享。
第三、根据您的需求进行定制。
第四、与全球社区合作。
这不仅仅是关于技术;它是关于创造属于您的东西。无论您是部署模型、构建RAG 应用还是推出新的 AI Agent 智能体服务,开源堆栈都让您按照自己的方式去做。
本文转载自公众号玄姐聊AGI 作者:玄姐