用途
该技能用于配置和调用 SAP AI Core 的 Orchestration 服务,把大模型调用组织成可配置的流水线:先定义提示词模板,再按需叠加内容过滤和文档锚定(RAG),最后通过统一接口调用模型。
主要能力
- 提示词模板:用 SystemMessage / UserMessage 与占位符(如
{{?user_query}})构造模板,运行时通过 TemplateValue 填充。 - 内容过滤:支持输入与输出双向过滤,示例使用 AzureContentFilter,可设置 hate、violence、sexual、self_harm 等维度阈值。
- 文档锚定(RAG):配套
assets/rag_grounding.py模板与references/GROUNDING.md参考,用于搭建 GroundingModule 与 RAG 流程。 - 统一模型接口:Harmonized API 把模型输出归一为 OpenAI 消息格式,同一客户端代码可适配 GPT、Gemini、Bedrock 等。
使用方式
前置条件:必须先有处于运行状态的 orchestration 部署。可用 uv run skills/aicore-lifecycle-management/scripts/get_deployments.py --scenario orchestration 检查;如无部署,先创建配置(scenario_id 与 executable_id 均为 orchestration)再部署,部署可能耗时最多 10 分钟。
两种调用途径:若用户未明确指定,应先询问选择 REST API(curl)还是 Python SDK。
- Python SDK(导入命名空间
gen_ai_hub):用OrchestrationConfig组合 template、llm、filtering,交给OrchestrationService的run()执行,结果从result.orchestration_result.choices[0].message.content读取。 - REST API:先获取 TOKEN、DEPLOYMENT_URL、RESOURCE_GROUP,再向
${DEPLOYMENT_URL}/v2/completion发送 POST 请求,请求体包含config.modules.prompt_templating与placeholder_values,答案用jq '.final_result.choices[0].message.content'提取。
模板资源:assets/orchestration_basic.py(基础对话)、assets/orchestration_filtering.py(输入输出过滤)、assets/rag_grounding.py(RAG 文档锚定)。
适用场景
需要在 SAP AI Core 上以标准化流水线方式调用多种大模型,并希望统一管理提示词模板、安全过滤和文档检索增强的对话或问答应用。
限制与注意事项
- 端点固定为
/v2/completion,不是/v1/chat/completions。 - scenario_id 与 executable_id 固定为
orchestration。 - 推理模型(如 Gemini 2.5 Pro、o3)需将
max_completion_tokens设为至少 1024,因为推理 token 会先占用预算。 generative-ai-hub-sdk已弃用,应使用sap-ai-sdk-gen。- 未配置凭证时应先调用 aicore-admin-resources;需要查找模型名时可调用 genai-hub-foundation-models。
分类
该技能围绕 SAP AI Core 的大模型编排服务展开,用于构建提示词模板、内容过滤与 RAG 流水线,属于智能体与模型方向。