明确使用 SAP Cloud SDK for AI 的必要性
学习目标
说明 SAP Cloud SDK for AI 及其在将大语言模型集成到企业应用中的作用。
你已学习了如何在 SAP AI Launchpad 中创建提示,以结构化的 JSON 格式从客户沟通内容中提取紧急程度、情绪和类别等关键数据。
虽然 SAP AI Launchpad 适合交互式地开发和测试提示,但要将这些解决方案投入生产并无缝集成到业务应用中,你需要一个健壮的编程接口。
这正是 软件开发工具包(SDK) 不可或缺之处。本课将解释什么是 SDK,以及为什么它们对于将 LLM 集成到企业级应用中很重要。你将了解 SAP Cloud SDK for AI, 这是在 SAP 生态内构建强大生成式 AI 解决方案的官方工具包,它利用了 SAP AI Core、生成式 AI 中枢和 Orchestration Service。
SDK 在 LLM 集成中的作用
SDK 是一整套工具、库和文档的集合,旨在帮助开发者为特定平台或框架创建软件应用程序。对于 LLM,SDK 通常将应用程序编程接口(API)封装为特定编程语言的函数,在 API 之上增加便利层。
这简化了构建你自己的应用并将其与 LLM 服务集成在一起的过程。
让我们回顾一下我们的业务问题,以了解使用 SDK 如何帮助解决这类问题。
Facility Solutions 公司面临大量的客户沟通内容(电子邮件、消息),需要在内部应用中高效处理和排定优先级,以确保及时、准确的响应。你在 SAP AI Launchpad 的生成式 AI 中枢中开发了提示,用于提取紧急程度、情绪和类别等关键信息。
然而,最终的商业需求是简化该流程,以自动处理大规模查询,并将这些输出集成到业务运营应用中。为实现这一点,你的应用需要一种以编程方式将这些客户消息发送给 LLM(通过生成式 AI 中枢)并接收结构化 JSON 输出的方法。SDK 正是实现这一点的关键。
使用 SDK 进行 LLM 集成的主要优势
对于将 LLM 集成到企业应用中的开发者而言,SDK 提供了明确而实在的价值:
加速开发: SDK 提供预构建的工具、库和 API,将复杂的底层细节抽象掉。这简化了开发工作流,让你能够专注于应用的业务逻辑,而不必编写用于 HTTP 请求、管理身份验证或处理直接 API 复杂细节的样板代码。
无缝集成与效率: SDK 有助于更快速、更轻松地将 LLM 集成到现有应用中。通过处理模型交互的复杂性,它们帮助你专注于更快地交付解决方案。
以编程方式访问平台功能: SDK 提供对高级平台能力的编程控制,例如生成式 AI 中枢中的能力。这意味着你可以在代码中直接以编程方式管理提示、集成接地数据,并使用数据掩码和内容过滤等功能,从而精准地针对你的用例定制 LLM 行为。
本质上,SDK 有助于简化 LLM 的访问、提升开发效率,并支持深度定制,为企业解决方案优化 LLM 性能。
SAP Cloud SDK for AI
SAP Cloud SDK for AI 提供了必要的抽象和工具,以便与 SAP AI Core、生成式 AI 中枢和 Orchestration Service 无缝交互。该 SDK 支持多种编程语言,以适应多样的开发环境。
这些 SDK 可集成聊天补全,利用生成式 AI 中枢的功能(模板化、接地、数据掩码、内容过滤),并以编程方式设置和管理你的 SAP AI Core 实例。
SAP Cloud SDK for AI (JavaScript):
使用 JavaScript 与 SAP AI Core、Generative AI Hub 和 Orchestration 集成的官方 SDK。
SAP Cloud SDK for AI (Java):
使用 Java 与 SAP AI Core、Generative AI Hub 和 Orchestration 集成的官方 SDK。
SAP Cloud SDK for AI (Python):
用途: 使用 Python 与 SAP AI Core、Generative AI Hub 和 Orchestration 集成的官方 SDK。该 SDK 由三个不同的 Python 发行包组成:
sap-ai-sdk-base: 使用它通过 Python 方法和数据结构访问核心 AI API,提供基础的交互层。
sap-ai-sdk-core: 支持与 SAP AI Core 交互以进行管理和公共生命周期管理,让你能够控制 AI 部署和资源。
sap-ai-sdk-gen: 专为生成式 AI 能力而设计。使用它将原生 SDK 库和 LangChain 集成,以访问 SAP AI Core 的 Generative AI Hub 上的模型,并充分利用 Orchestration Service 的全部能力(模板化、接地、数据掩码、内容过滤)。
请参阅官方 Pypi Base、Pypi Core 和 Pypi Gen。
本课程将使用 SAP Cloud SDK for AI (Python) 说明后续步骤。查看更多信息:仓库中的 SAP Cloud SDK for AI (JavaScript) 代码。
SAP Cloud SDK for AI (Python) 入门
借助 Python SDK,你可以以编程方式与通过生成式 AI 中枢部署的 LLM 交互,直接从你的 Python 应用中创建自然语言补全、聊天回复和嵌入元素。
前提条件: 建议使用 Python 内核 3.11.9 及以上版本来执行本学习路径中的所有代码。你可以参考 此处的 Python 指南 。如果出现任何错误,请确保你已在 SAP BTP 中正确部署、配置和预配生成式 AI 中枢。
安装: 你可以使用以下 pip 命令安装 Python SDK:
pip install "sap-ai-sdk-gen[all]"
注意
[all] 附加项包含 langchain 等额外包,它默认不会被安装,但对高级 LLM 集成通常很有用。
配置: 该 SDK 复用 AI Core SDK 中的配置设置。这些设置包括你的客户端 ID、客户端密钥、身份验证 URL、基础 URL 和资源组。你可以将这些值设置为环境变量,或者更方便地通过配置文件设置。
我们建议通过配置文件为你的 AI Core 凭据设置这些值。在 Mac/Linux 上,该文件的默认路径为 ~/.aicore/config.json。对于 Windows,通常为 C:\Users<current user>.aicore\config.json。 这些值可从你从 BTP 下载的 AI Core 服务密钥中获取。
配置步骤(Mac 示例):
创建 .aicore 文件夹: 如果它不存在,请使用终端创建:
mkdir ~/.aicore/
编辑 config.json: 使用文本编辑器打开该文件(例如终端中的 nano 或 VS Code):
nano ~/.aicore/config.json
粘贴 JSON 内容: 将占位值替换为你实际的 AI Core 服务密钥凭据:
{
"AICORE_AUTH_URL": "https://***.authentication.sap.hana.ondemand.com",
"AICORE_CLIENT_ID": "***",
"AICORE_CLIENT_SECRET": "***",
"AICORE_RESOURCE_GROUP": "***",
"AICORE_BASE_URL": "https://api.ai.***.cfapps.sap.hana.ondemand.com/v2"
}
或者,你可以参考 https://github.com/SAP-samples/ai-core-samples/blob/main/10_Learning_Journeys/README.md 文件,了解在你的系统中执行本学习路径笔记本的详细配置步骤。
用法示例:
类 OpenAI API 补全: 该代码片段演示了使用模型(例如 gpt-5-nano)通过兼容 OpenAI 的 API 接口生成文本补全。
from gen_ai_hub.proxy.native.openai import completions
response = completions.create(
model_name="gpt-5-nano ",
prompt="The Answer to the Ultimate Question of Life, the Universe, and Everything is",
max_tokens=7,
temperature=0
)
print(response)
这段 Python 代码为给定的提示生成补全。它要求就生命终极问题的答案给出简短回应,并设置响应长度和随机性的参数。然后它打印生成的补全内容。
聊天补全: 该示例展示了如何利用系统、用户和助手角色模拟多轮聊天对话。
from gen_ai_hub.proxy.native.openai import chat
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
{"role": "user", "content": "Do other Azure Cognitive Services support this too?"}
]
kwargs = dict(model_name='gpt-5-nano ', messages=messages)
response = chat.completions.create(**kwargs)
print(response)
这段代码与 LLM(例如 gpt-5-nano)交互以模拟聊天对话。通过将按系统、用户和助手角色构建的预定义消息载入 messages 列表并指定模型细节,它将这些输入发送到 API 以生成响应。这使你能够在应用中无缝集成查询与自动回复。
本课小结
现在你已理解 SDK 在以编程方式将 LLM 集成到企业应用中的作用。你了解了 SDK 如何简化开发、提高效率,并提供对生成式 AI 中枢高级功能的编程访问。具体而言,你已接触到 SAP Cloud SDK for AI (Python), 包括其安装、通过 config.json 文件进行配置,以及用于生成补全和管理聊天交互的基本用法示例。这些基础知识使你能够超越交互式原型设计,开始使用你选择的语言,在 SAP 业务应用中构建可扩展、可靠且安全的生成式 AI 解决方案。