AI News HubLIVE
站内改写2 分钟阅读

构建生成式AI平台

本文基于对多家公司部署生成式AI应用的研究,总结了一个通用平台架构。从最简单的查询-响应模型开始,逐步添加组件:上下文增强(RAG、查询重写)、防护栏(输入/输出)、模型路由与网关、缓存优化、复杂逻辑与写入操作,以及可观测性与编排。每个组件的设计权衡和实现考量均有详细讨论。

本文作者通过研究多家公司部署生成式AI应用的方式,发现其平台存在许多共同点。文章从最简单的架构开始,逐步添加组件,最终构建出一个完整的生成式AI平台。

最简单的形式是:应用接收查询并将其发送给模型,模型生成响应返回给用户,没有任何防护栏、增强上下文或优化。然而,实际应用需要更多功能。

第一步:增强上下文 平台的首要扩展通常是添加机制,让系统为每个查询补充必要信息,即上下文构建。最常见的模式是RAG(检索增强生成),它由生成器(语言模型)和检索器(从外部源检索相关信息)组成。检索可以采用基于术语的方法(如BM25、Elasticsearch)或基于嵌入的方法(向量搜索,如FAISS)。生产系统通常结合多种方法,形成混合搜索(hybrid search)。此外,对于表格数据,可采用Text-to-SQL流程;而网络搜索则赋予模型访问互联网最新信息的能力,形成Agentic RAG。查询重写(query rewriting)是提高检索准确性的关键,通常由另一AI模型完成。

第二步:添加防护栏 防护栏有助于降低AI风险,保护用户和开发者。输入防护主要防止敏感信息泄露和模型越狱(jailbreaking)。输出防护则评估生成质量并处理失败模式,如空响应、格式错误、有害内容、幻觉、敏感信息泄露等。失败管理包括重试逻辑、并行调用和人工兜底。防护栏的引入需要在可靠性与延迟之间权衡,也要考虑自托管与第三方API的选择。

第三步:添加模型路由与网关 随着应用复杂度增加,需要管理多个模型。路由器根据意图分类将不同查询分派给专用模型,以提升性能和节约成本。模型网关为所有模型提供统一接口,便于代码维护,并实现访问控制、成本管理、负载均衡和故障切换。许多现成的网关如Portkey、MLflow AI Gateway等可直接使用。

第四步:缓存降低延迟 缓存是常被低估但效果显著的组件。提示缓存(prompt cache)复用重叠文本段(如系统提示),显著减少处理量。精确缓存(exact cache)存储已处理结果,避免重复计算。语义缓存(semantic cache)允许相似查询复用结果,但依赖高质量嵌入和相似度阈值,实施风险较高。缓存可应用于向量搜索、推理等多个环节。

第五步:添加复杂逻辑与写入操作 应用流程可包含循环和条件分支,模型输出可反馈给自身以迭代细化(如规划旅行行程)。写入操作(如发送邮件、更新数据库)使系统能力大幅提升,但也带来安全风险,必须防范提示注入(prompt injection)等攻击。需要在系统能力与安全之间取得平衡。

可观测性与编排 可观测性应从项目初期就集成,包括指标、日志和追踪三大支柱。指标涵盖系统指标和模型指标(如延迟、令牌数、错误率),日志应记录一切,追踪则呈现请求的完整执行路径。编排工具(如LangChain、LlamaIndex)帮助定义组件并链接成管道,但应避免过早引入,以免增加复杂性。

总之,文章从基础架构出发,逐步添加组件以应对不断增长的复杂性。每个组件都有其利弊,需要仔细权衡。文章还指出,许多细节(如模型评估、提示工程、微调)将在作者的新书《AI Engineering》中深入讨论。