SuperAPI AI 工具集

genai-hub-orchestration

智能体与模型

查看项目

更新于 10-22 19:49

技能介绍

用途

该技能用于配置和调用 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 流水线,属于智能体与模型方向。