用途
SAP Cloud SDK for AI(Python)是 SAP Generative AI Hub 与 Orchestration Service 的官方 Python SDK。它封装了模型提供方(OpenAI、Amazon Bedrock、Google GenAI)的原生 SDK,提供统一的 LangChain 集成和完整的 Orchestration 客户端,全部通过 SAP AI Core 路由并统一认证。
适用场景包括:构建通过 SAP AI Core / Generative AI Hub 调用 LLM 的 Python 应用;使用 gen_ai_hub 包(通过 sap-ai-sdk-gen 安装);通过 SAP 代理集成 OpenAI、Amazon Bedrock 或 Google GenAI 模型;以 SAP AI Core 为后端实现 LangChain 链;从 Python 使用 Orchestration Service(模板化、过滤、脱敏、接地);从已弃用的 generative-ai-hub-sdk 迁移到 sap-ai-sdk-gen;通过 SAP AI Core 生成嵌入向量;使用 SAP RPT-1(关系型预训练 Transformer)进行表格预测。
包名变更
PyPI 包 generative-ai-hub-sdk 已弃用(v4.12.4 为最后版本),继任者为 sap-ai-sdk-gen(据 2026-06-15 公开 PyPI 注册表证据为 v6.10.0)。引用 generative-ai-hub-sdk 的代码和教程应迁移到 sap-ai-sdk-gen;导入名仍为 gen_ai_hub。
安装
- 所有提供方 + LangChain 支持:
pip install "sap-ai-sdk-gen[all]" - 默认(仅 OpenAI,无 LangChain):
pip install sap-ai-sdk-gen - 指定提供方(不含 LangChain):
pip install "sap-ai-sdk-gen[google, amazon]"
认证
SDK 通过 AICoreV2Client.from_env() 读取凭据,解析顺序为:传给 GenAIHubProxyClient(...) 的关键字参数;环境变量 AICORE_CLIENT_ID、AICORE_CLIENT_SECRET、AICORE_AUTH_URL、AICORE_BASE_URL、AICORE_RESOURCE_GROUP;配置文件 $AICORE_HOME/config.json(或由 AICORE_CONFIG 设置的路径),可用 AICORE_PROFILE 选择命名配置;在 Cloud Foundry/Kyma 上绑定 AI Core 服务时自动读取 VCAP_SERVICES。
本地开发可设置上述 AICORE_* 环境变量,或使用 ~/.aicore/config.json 配置文件。详细认证设置与故障排查见 references/getting-started-auth.md。
可用模块
- Proxy(原生客户端):gen_ai_hub.proxy.native.*,按提供方直接访问模型
- LangChain 集成:gen_ai_hub.proxy.langchain,提供 init_llm、init_embedding_model、ChatOpenAI 等
- Orchestration:gen_ai_hub.orchestration_v2,模板化、过滤、脱敏、接地
- Document Grounding:gen_ai_hub.document_grounding,Pipeline、Vector、Retrieval API
- Prompt Registry:gen_ai_hub.prompt_registry,模板管理与配置存储
- Evaluations:gen_ai_hub.evaluations,模型评估运行与指标
- SAP RPT-1:gen_ai_hub.proxy.native.sap,表格预测(分类、回归)
原生客户端按提供方划分:OpenAI(gen_ai_hub.proxy.native.openai,含 OpenAI、completions、chat、embeddings、responses);Amazon Bedrock(gen_ai_hub.proxy.native.amazon,Session、ClientWrapper);Google GenAI(gen_ai_hub.proxy.native.google_genai,Client);SAP RPT-1(gen_ai_hub.proxy.native.sap,RPTClient、RPTRequest)。
支持的模型
Generative AI Hub 目录包含多家提供方的模型。权威模型 ID 请查阅 SAP 模型目录及目标租户目录。示例系列:OpenAI 的 GPT 系列聊天、多模态、推理与嵌入模型;Anthropic(经 Bedrock)的 Claude 系列;Amazon 的 Nova/Titan 系列;Google 的 Gemini 系列;Mistral 的 Mistral 系列;SAP 的 RPT 系列表格预测模型(在启用时)。
核心功能
- 使用 OpenAI 客户端进行聊天补全:通过 gen_ai_hub.proxy.native.openai 的 OpenAI 类调用 chat.completions.create。
- 流式输出:设置 stream=True 并逐块读取 delta.content。
- 嵌入:通过 embeddings.create 生成向量。
- LangChain 集成:使用 init_llm、init_embedding_model 初始化 LLM 与嵌入模型。
- 内容过滤(经 Orchestration):配置 FilteringModuleConfig,使用 AzureContentSafetyInput/Output 与 AzureThreshold。
- 数据脱敏(经 Orchestration):配置 MaskingModuleConfig,使用 SAP_DATA_PRIVACY_INTEGRATION 提供方、ANONYMIZATION 方法及 DPIStandardEntity 实体类型。
- 文档接地(经 Orchestration):配置 GroundingModuleConfig,使用 DOCUMENT_GROUNDING_SERVICE 类型、DocumentGroundingFilter 与 GroundingSearchConfig。
常见错误
- “No credentials found in any source”:缺少 AI Core 服务密钥/环境变量,需设置全部 AICORE_* 环境变量或创建配置文件配置。
- “No deployment found”:模型未在 AI Core 中部署,需在资源组中部署模型或直接使用 deployment_id。
- “AICORE_RESOURCE_GROUP not set”:缺少资源组,需设置环境变量或向客户端传 resource_group。
- “ModuleNotFoundError: No module named 'gen_ai_hub'”:安装包错误,应安装 sap-ai-sdk-gen(而非 generative-ai-hub-sdk)。
- 从 generative_ai_hub_sdk 导入失败:使用了已弃用包名,包已重命名,应从 gen_ai_hub 导入(通过 sap-ai-sdk-gen 安装)。
- 代理客户端初始化时 ValidationError:凭据不完整,需验证四个必需环境变量 AICORE_CLIENT_ID、AICORE_CLIENT_SECRET、AICORE_AUTH_URL、AICORE_BASE_URL。
附带资源
参考文档:references/getting-started-auth.md(安装、认证与配置设置);references/native-clients-guide.md(OpenAI、Amazon、Google 与 SAP RPT-1 原生客户端用法);references/orchestration-guide.md(编排服务:模板化、过滤、脱敏、接地、嵌入);references/langchain-guide.md(LangChain 集成:LLM/嵌入初始化、链、结构化输出);references/troubleshooting.md(常见错误、版本兼容性、从 generative-ai-hub-sdk 迁移)。
文档来源:PyPI(https://pypi.org/pypi/sap-ai-sdk-gen/json);SDK 参考(https://help.sap.com/doc/generative-ai-hub-sdk/CLOUD/en-US/_reference/gen_ai_hub.html);SAP 示例(https://github.com/SAP-samples/btp-gen-ai-hub-sdk-samples);AI Core 帮助(https://help.sap.com/docs/sap-ai-core);已弃用包(https://pypi.org/pypi/generative-ai-hub-sdk/json,用于迁移说明)。
相关技能
sap-ai-core(SAP AI Core 中的平台设置、部署、资源组与模型管理);sap-cloud-sdk-ai(本 SDK 的 JavaScript/TypeScript 与 Java 等价物);sap-hana-ml(Python 中的 HANA 侧机器学习);sap-dependency-security(Pip 依赖卫生与升级模式)。
限制
包的新鲜度经注册表验证;AI Core 运行时行为与确切模型可用性仍需在目标租户中验证。