作者:来自 Elastic Jay Shah, Adhish Thite
ElasticGPT — 由 Elastic 提供支持,专为 Elastic 打造
ElasticGPT 是我们基于检索增强生成(RAG)框架构建的内部生成式 AI (GenAI)助手。它是使用 Elastic 自有技术栈精心打造的,旨在为 Elastic 员工提供安全、可扩展且具备上下文感知的知识发现能力。
其核心是 SmartSource,这是一个私有的、内部构建并经过精细调优的 RAG 模型,它利用 Elasticsearch 进行向量检索和数据存储,从我们的内部数据源中检索并传递最相关的上下文给 OpenAI 的大型语言模型(LLM)。这个生成式 AI 应用还通过 Elastic Cloud,借助专属 Azure 租户,为 OpenAI 的 GPT-4o 和 GPT-4o-mini 模型提供私密、安全的访问。这种架构展示了 Elastic AI 生态系统从后端到前端的无缝集成与强大能力,整个过程都通过 Elastic 的可观测性工具进行监控和优化。
在这篇文章中,我们将深入解析 ElasticGPT 的架构,重点介绍 SmartSource —— 我们基于 RAG 的内部 LLM 框架与模型,它彻底改变了我们从专有内部数据源中检索和发现信息的方式。我们还将探讨对 OpenAI 的 GPT-4o 和 GPT-4o-mini 模型的私有访问如何扩展 ElasticGPT 的能力,使其超越 RAG,实现更广泛的生成式任务 —— 同时始终坚持 “客户零” 的理念。
Elastic on Elastic 故事:用我们的平台构建 GenAI 应用
作为第一个用户,构建 ElasticGPT 不仅是为了验证我们的生成式 AI 能力并在 AI 时代实现关键效率提升,更是为了向产品团队提供反馈,并与客户分享最佳实践,指导如何构建可持续、面向未来、可随业务增长而扩展的生成式 AI 平台。
ElasticGPT 不只是另一个工具 —— 它是 Elastic 技术协同工作的一个真实展示。我们从零开始构建它,完全基于 Elastic 的 Search AI Platform 中的解决方案与能力:
- Elasticsearch 驱动数据与搜索核心
- Elastic Cloud 实现轻松扩展
- EUI,即 Elastic 内置设计库,提供精致的前端
- Elastic Observability 提供实时洞察
这种方法确保我们能够利用 Elastic 的集成功能,构建安全、高性能、无缝的应用,满足团队当前的需求并应对未来的期望。
后端架构:Elasticsearch 作为强大的核心
ElasticGPT 的核心是 Elasticsearch,这是一款多功能强大工具,既是 SmartSource 的 RAG 功能所用的向量数据库,也是所有模型聊天数据的高性能存储库。部署在 Elastic Cloud 上,这一架构具备支持日益增长的内部用户群所需的灵活性、可扩展性和性能。
SmartSource 的向量数据库
SmartSource 是我们内部模型的名称,它利用 Elasticsearch 的向量数据库存储 embedding —— 即我们内部数据的数值表示,这些数据来自 Elastic 的 Wiki、ServiceNow 知识文章、ServiceNow 新闻文章等。通过 Elastic 的 Enterprise Connectors,我们可以轻松摄取这些数据,将其拆分为可搜索的片段,并生成 embedding 用于语义搜索。当用户问“我们第一季度的销售目标是多少?”时,SmartSource 会在 Elasticsearch 中执行高速向量搜索,检索最相关的上下文 —— 可能是一段销售报告或会议记录 —— 并将其提供给 GPT-4o,生成精准回复。
这个架构让 SmartSource 能基于我们的专有数据,提供精准、具备上下文的答案,这一切都得益于 Elastic 无与伦比的搜索能力。
所有模型的聊天数据存储
每一次交互 —— 无论是与 SmartSource、GPT-4o,还是 GPT-4o-mini —— 都被精准记录在 Elasticsearch 中,包括用户消息、时间戳、反馈和元数据。
将这些数据存储在 Elasticsearch 中不仅是为了记录,更是为了持续优化。借助 Elastic 的分析功能,我们可以追踪使用模式、识别常见问题并发现可优化区域。同时,通过 Elastic Observability 的 APM(应用性能监控),我们可以实时监控性能、可靠性和资源使用,确保在用户数量增长时依然保持极速响应。用户聊天数据每 30 天删除一次,仅保留指标数据,从而以低成本保留最相关的信息。
前端架构:React 和 EUI 带来无缝体验
ElasticGPT 的前端是 React 与 EUI(Elastic 自有 UI 框架)的完美结合,确保它看起来像是我们生态系统的自然延伸。前端部署在 Elastic Cloud 内的 Kubernetes 上,具备动态扩展能力,并可与后端无缝集成。
为什么选择 EUI?灵活性的实践
一开始,我们尝试使用 Hugging Face 的 Chat UI 以便快速起步,但当用户需要自定义功能时,其局限性迅速显现。转向 EUI 是显而易见的选择 —— 它为 Elastic 产品量身打造,与我们的设计系统和后端完美契合。现在,ElasticGPT 的界面与 Kibana 等工具风格一致,带来统一体验,并能在生成式 AI 持续发展中快速迭代。
核心功能:实时与安全
前端支持实时流式响应,用户可以自然看到答案逐步呈现 —— 更像一场对话,而非加载界面。来源标注与链接增强信任,而简单的反馈按钮让用户可以评价答案质量。安全性方面,Elastic 使用 Okta 单点登录(SSO)进行认证,并通过端到端加密保障数据安全。得益于 Elastic Cloud 的 Kubernetes 编排,我们可在不停机的情况下部署更新,确保用户体验持续顺畅且可靠。
API:连接前端与后端的粘合剂
ElasticGPT 的 API 是幕后英雄,它以无状态、流式设计连接 React 前端与 Elasticsearch 后端,旨在高效传输,为用户实时提供快速、准确的响应。
SmartSource 的工作机制
当用户向 SmartSource 提出问题时,API 会在 Elasticsearch 中触发向量搜索以获取相关上下文,将其发送至 GPT-4o(部署在 Azure 上),并将生成的响应流式传回前端。
对于 GPT-4o 和 GPT-4o-mini,API 会绕过 RAG pipeline,直接将查询发送至 Azure 托管的模型,执行如头脑风暴或常规问答等无上下文任务。
通过 Elastic APM 进行监控
Elastic APM 监控每一次 API 请求 —— 查询延迟、错误率等 —— 确保我们在用户受到影响前解决问题。Kibana 仪表板提供 API 性能、模型使用情况和系统健康状况的全局视图,强化平台化架构的优势。
LangChain:编排 RAG 流程
LangChain 是 SmartSource RAG 功能背后的编排层,它将 Elastic 的向量搜索与 GPT-4o 的生成能力连接起来,提供准确且具备上下文的响应。
它的作用:LangChain 全程管理 RAG 流程:对摄取的数据进行切分、生成 embedding、从 Elasticsearch 检索上下文,并为 GPT-4o 构建 prompt。例如,当用户询问第一季度销售情况时,LangChain 会从销售报告中提取精确的片段 —— 而不是整篇文档 —— 使回答简洁且相关。
它为何适合 Elastic:LangChain 的灵活性与 Elastic Stack 完美契合。Elasticsearch 提供快速、可扩展的向量搜索,Elastic Cloud 确保基础架构按需扩展。同时,Kibana 让我们能与系统其他部分一起监控 LangChain 的性能,实现统一的可观测性策略。
扩展能力:私有访问 GPT-4o 和 GPT-4o-mini
除了 SmartSource,ElasticGPT 还提供对 LLMs(如 OpenAI 的 GPT-4o 和 GPT-4o-mini)的安全访问,这些模型托管在私有 Azure 租户中。这些模型适合无需内部数据检索的任务 —— 如常规查询、内容撰写或创意头脑风暴。而且,由于运行在安全环境中,员工可以放心分享公司内部数据,符合公司政策要求。
安全与合规:在 Azure 上托管这些模型,确保所有交互符合 Elastic 严格的安全与合规标准。Elastic 员工可以安心使用,确保数据私密且受保护。
Elasticsearch 中统一追踪:所有 GPT-4o 和 GPT-4o-mini 的交互都记录在 Elasticsearch 中。这种统一追踪让我们可以监控使用情况、收集反馈,并在所有 ElasticGPT 功能中保持一致的可观测性。
Elastic 的 IT 团队通过提供对多个 LLM 的安全访问,降低了 shadow AI 的潜在影响。团队目前正扩展支持其他 LLM,如 Anthropic 的 Claude 系列和 Google 的 Gemini 系列。
为什么平台化方法是制胜之道
在我们自有平台上构建 ElasticGPT,不只是务实之举,更是战略上的成功。原因如下:
- 无缝集成:每个组件 —— Enterprise Connectors、Elasticsearch、EUI、APM —— 像拼图一样契合,消除摩擦与兼容性问题。
- 按需扩展:Elastic Cloud 的自动扩展确保 ElasticGPT 随我们成长,可支持数百乃至数千用户而不受影响。
- 内置安全:SSO、加密及 Elastic 的安全功能锁定内部数据,确保合规与信任。
- 实时监控:Elasticsearch、Elastic Observability 和 Kibana 分析仪表板揭示 ElasticGPT 的使用情况、优势与可优化之处,助力持续改进。
这一平台化方法打造出 v1 版本,已大幅减少重复 IT 问询并提升员工效率。并且,由于它构建于我们的 Search AI Platform 上,我们可以跟随生成式 AI 的发展快速迭代。
接下来?
在持续推进 ElasticGPT 的同时,我们将广泛使用强大的 Elastic 技术栈,利用诸如 “Semantic Text” 字段类型、推理端点和 LLM 可观测性等新功能,持续测试和应用最新能力。
同时,随着 agentic AI 的兴起,ElasticGPT 将演进为集成专用 AI agent,以简化工作流、大幅提升生产力,并改善所有 Elastic 员工的日常体验。
今天就开始构建生成式 AI 应用
准备好自己动手了吗?访问我们的免费 AI playground,立即开始构建。
本文所述任何功能或特性的发布与时间安排完全由 Elastic 自行决定。任何当前尚未发布的功能或特性,可能不会按时交付,甚至可能不会交付。
本文中可能使用或提及了第三方生成式 AI 工具,其所有权与运营权归其各自所有者所有。Elastic 不控制这些第三方工具,亦不对其内容、运行或使用承担任何责任,也不对你使用此类工具而造成的任何损失或损害承担责任。使用 AI 工具时,请谨慎处理个人、敏感或机密信息。你提交的任何数据可能会被用于 AI 训练或其他用途,不能保证信息的安全或保密性。使用前,你应了解任何生成式 AI 工具的隐私政策和使用条款。
Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 及相关标志为 Elasticsearch N.V. 在美国及其他国家的商标、徽标或注册商标。其他所有公司与产品名称均为其各自所有者的商标、徽标或注册商标。
原文:Generative AI for Elastic’s workforce: Under the hood of ElasticGPT | Elastic Blog