btp-cap-genai-rag
SAP官方企业级RAG参考应用:CAP+LANGCHAIN+HANA向量引擎实现邮件智能分析与自动回
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
SAP官方企业级RAG参考应用:CAP+LANGCHAIN+HANA向量引擎实现邮件智能分析与自动回
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:一家旅行社的客服团队每天要处理上百封来自不同国家客户的邮件——英文、德语、日语混杂,询问酒店预订、行程变更、取消政策。一个能自动阅读邮件、提取关键信息、翻译成统一语言、推荐历史相似案例、并生成草稿回复的系统,能为客服人员节省多少时间?
SAP-samples/btp-cap-genai-rag 正是这样一个参考应用的完整实现。它以 SAP BTP(SAP Business Technology Platform)为底座,将生成式 AI(RAG 检索增强生成)与企业邮件处理流程深度结合,是 SAP 官方力推的 GenAI 落地范式。
这是一个由 SAP 官方示例团队 维护的参考架构项目,当前已收获 138 Stars 和 54 Forks,主要语言为 TypeScript。项目脱胎于 SAP Discovery Center 的官方任务「Develop a CAP-based application using GenAI and RAG」,由 SAP 内部工程师和合作伙伴联合开发,核心贡献者包括 Martin Frick、Adi Pleyer、Julian Schambeck 等资深架构师。
SAP 官方为此项目配套录制了教学视频,并在博客中详细阐述设计思路,强调其遵循 SAP BTP 的「Golden Path」开发方法论——这是一套经过 SAP 认证的最佳实践路径,意味着项目代码质量、架构设计和文档完整性都达到了企业级标准。

图1:GenAI Mail Insights 应用主界面,支持邮件摘要、分类、情感分析和关键信息提取
项目后端采用 SAP CAP(Cloud Application Programming Model) 构建,这是 SAP 主推的元驱动应用开发框架。CAP 的核心理念是「用 CDS(Core Data Services)定义数据模型和业务逻辑」,开发者只需声明性地描述数据结构、服务和规则,CAP 运行时自动处理 OData V4 API 生成、权限控制、多数据库适配等基础设施工作。
在 srv/mail-insights-service.cds 中,服务定义极为简洁:
service MailInsightsService @(path:'mail-insights', protocol:'odata-v4') {
entity Mails as projection on db.Mails excluding { embedding };
function getMails() returns array of Mails;
function getMailWithSimilar(string id) returns MailWithSimilarity;
action processMail(mail: IBaseMail) returns TranslatedMail;
}
一条 CDS 声明,CAP 自动生成完整的 OData V4 接口。相比传统手写 REST Controller,CAP 让业务逻辑与基础设施完全解耦,大幅提升开发效率。
RAG(Retrieval Augmented Generation)是当前大模型落地的核心范式——不让 LLM「凭记忆回答」,而是在回答前从本地知识库检索相关文档,再将检索结果注入 prompt。这个项目将 RAG 完整落地:
邮件向量化存储:每封邮件的标题和正文通过 SAP AI Core 的 Embedding 服务转为向量,存入 SAP HANA Cloud 向量引擎。HANA Cloud 从 2023 年起原生支持向量相似度搜索(VECTOR_FLOAT 类型 + COSINE_SIMILARITY 函数),无需引入额外的向量数据库(如 Pinecone、Weaviate)。
相似邮件检索:当用户选中一封邮件时,系统在向量数据库中检索最相似的历史邮件,帮助客服了解类似请求的历史处理方式,保证服务一致性。
LLM 推理:通过 @sap-ai-sdk/langchain 连接 SAP AI Core 的 Generative AI Hub,后者作为统一网关接入 Azure OpenAI GPT-4 等主流大模型。LangChain 在 CAP 环境中充当编排层——管理 prompt 模板、输出解析、错误重试等。
大模型输出的随意性是企业级应用的死敌——LLM 返回的 JSON 格式不稳定、字段名可能拼错、类型可能不符。该项目引入 Zod 做输出校验,配合 LangChain 的 StructuredOutputParser 和 OutputFixingParser 组成三级保障:
schemas.ts 中定义了邮件语言判断、关键事实提取、回复草稿生成等多个 Schema)StructuredOutputParser 按 Schema 引导 prompt 生成固定格式 JSONOutputFixingParser 检测格式错误后自动让 LLM 自我修正这种设计确保即使底层模型版本更新,输出结构始终可靠,为后续业务逻辑处理奠定基础。

图2:关键事实提取界面,系统从邮件中自动识别地点、时间、人数等结构化信息
前端采用 SAPUI5(即 SAP Fiori 的底层框架),这是 SAP 自研的 JavaScript 控件库,遵循企业级设计语言。app/ui/webapp/ 目录下包含完整的 SAPUI5 组件配置(Component.ts、manifest.json),通过 xs-app.json 配置路由。SAPUI5 的优势在于与企业身份系统(SAP Identity Authentication Service)的无缝集成,以及对无障碍(WCAG)标准的内置支持。
系统的核心价值在于将一封原始邮件转化为「可行动的洞察」,具体流程如下:
第一步:语言检测与翻译——系统通过 LLM 判断邮件语言,若非工作语言(默认英文),自动将邮件标题和正文翻译为工作语言,消除语言壁垒。
第二步:分类与情感分析——系统将邮件归类为「酒店可用性查询」「酒店取消」「旅行预订」等预定义类别,同时判断情感(积极/中立/消极)和紧急程度。分类结果直接决定后续推荐动作。
第三步:关键事实提取——通过 Zod Schema 引导,系统从邮件中结构化提取地点、入离日期、人数、预算等关键信息,存入数据库字段而非仅停留在对话层面,便于后续查询和统计。
第四步:相似邮件推荐——基于 HANA Cloud 向量引擎的语义检索,系统找到历史上处理过的最相似邮件,客服可以直接参考历史回复或由 AI 生成参考回复草稿。
第五步:回复生成——根据邮件类别、关键事实和可配置的「推荐动作」(如「建议检查酒店可用性」),LLM 生成草稿回复,并标注其决策依据。

图3:回复草稿生成界面,系统基于邮件上下文和配置动作生成推荐回复
这个项目并非「下载即用」——它的定位是参考架构(Reference Architecture),面向需要在 SAP BTP 上构建企业级 AI 应用的开发者。上手需要具备以下条件:
项目提供了极为详尽的分步部署教程,覆盖从账户开通、子账户配置、权限分配到 HANA Cloud 向量引擎配置的全流程。对于有 SAP BTP 经验的开发者,跟着教程走可以在 数小时内 完成部署。对于没有 SAP BTP 经验的开发者,学习曲线较陡,但项目文档本身就是一个高质量的学习资源。
封闭性:项目深度绑定 SAP 生态,使用 HANA Cloud 向量引擎、@sap-ai-sdk、@langchain/community 中的 SAP 连接器,切换到其他云平台(如 AWS Bedrock、阿里云百炼)的成本极高。对于非 SAP 客户,这个参考价值大打折扣。
规模限制:单租户版本的 autoscaler 设置为 1-2 个实例,面向中小规模场景。多租户 SaaS 版本的部署复杂度进一步提升,需要额外理解 SAP BTP 的多租户订阅机制。
视频/博客时效性:项目配套视频和博客发布于 2023 年 11 月,SAP AI Core SDK 和 LangChain 版本已有较大更新,实际部署时可能遇到依赖冲突,需要查阅最新文档。
图4:SAP BTP GenAI 参考架构图,展示从邮件摄入到 LLM 推理到向量检索的完整数据流
btp-cap-genai-rag 代表了一个重要趋势:企业级 AI 应用正在从「对话助手」走向「领域垂直的智能体」。 它不是简单地接一个 ChatGPT API,而是将 LLM 深度嵌入企业业务流程,用 RAG 保证回答的准确性和时效性,用结构化输出确保与下游系统的互操作性。
从 GitHub 数据看,项目月增长趋势得分为 43.43,在 SAP 示例仓库中属于活跃度较高的项目。随着 SAP 推进「Business AI」战略,更多合作伙伴和客户会以本项目为起点构建自己的 GenAI 应用,这将进一步推动社区增长。
项目还体现了 SAP 对开源生态的开放态度——虽然底层是 SAP 商业云服务,但代码完全开源(Apache 2.0),开发者可以自由研究、改编,并在 SAP 社区获得官方支持。
一句话总结:btp-cap-genai-rag 是 SAP BTP 生态中企业级 RAG 应用的完整参考实现,用 CAP + LangChain + HANA Cloud 向量引擎证明了「AI + 企业数据」在 SAP 生态中可以优雅落地,是 SAP 开发者和企业 AI 架构师不可错过的标杆项目。