关于 aicore-sdk-js
为使用 @sap-ai-sdk v2 的 SAP AI Core JavaScript 和 TypeScript 代码生成提供指引,涵盖编排、OpenAI 兼容访问、LangChain、grounding 等场景,并提供模板和参考资料。
主要功能
- 01@sap-ai-sdk v2 代码指引
- 02聊天与流式处理模板
- 03支持 OpenAI 和 LangChain
- 04Grounding、批处理和提示词注册示例
- 05离线参考资料及可选 Context7 文档
适用场景
- 01生成聊天或流式集成代码
- 02通过 LangChain 连接应用
- 03添加文档 grounding 或托管提示词
- 04编写批量 LLM 或表格预测代码
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sap/ ai-skills-library --skill aicore-sdk-js安装后在 Claude Code 中输入/aicore-sdk-js确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdassets/chat_openai_proxy.tschat_sap_sdk.tscontext_registry.tsdocument_grounding.tslangchain_openai.tslangchain_orchestration.tsllm_batch.tsopenai_native.tsprompt_registry.tsrealtime.tsrpt.tsstreaming.tstabular_orchestration.tsevals/evals.jsontrigger_evals.jsonreferences/SDK_JS.md详细介绍
规则
- 如果尚不清楚部署 URL,请先查看 SAP AI Core 控制台,或联系管理员以列出或创建部署,然后再生成代码。
- 生成的代码注释中务必包含
aicore configure凭据配置指引;设置详情请参阅连接到 AI Core。 - 此技能不支持 JS/TS 生命周期管理(创建/列出/删除部署)——请使用 SAP AI Core 控制台,或联系管理员管理部署。
- 目标版本为
@sap-ai-sdkv2(orchestration2.14+)。首选调用模式是将messages直接传给chatCompletion()/stream()。只有当用户明确需要服务端可复用模板时,才使用带有{{?placeholder}}值的promptTemplating.prompt.template。绝不要生成 v1 形式的llm: { model_name }/templating: { template }——它无法通过 v2 编译。 - 绝不生成 Python 代码片段——此技能仅支持 JS/TS。如果用户要求 Python,请告知他们此仓库中没有可用的 Python 技能,并指向 https://sap.github.io/ai-sdk/ 查看 Python SDK 指引。
- 生成代码前,请收集以下信息——只询问用户尚未提供的内容:
- 框架:
@sap-ai-sdk/*(推荐)/@sap-ai-sdk/langchain(LangChain)/通过 LiteLLM 代理使用 OpenAI npm 包? - 使用场景:聊天/流式传输/嵌入?
- 运行时:Node.js/Bun/浏览器?
- 模型 + Deployment ID:查看 SAP AI Core 控制台,确认是否已有部署
- 切换模型的意向(仅当用户指定 OpenAI 模型,例如 gpt-4o、gpt-4.1 等时询问):他们之后是否计划切换模型(例如切换到 Claude 或 Gemini)?如果是 → 推荐使用
@sap-ai-sdk/orchestration,以便灵活切换。如果他们希望继续使用 OpenAI → 使用@sap-ai-sdk/openai(SapOpenAi.createClient)作为更简单的原生 OpenAI SDK 替代方案;无需 LiteLLM 代理。
- 框架:
资料来源与回退
按以下顺序使用最佳可用资料来源。某个来源不可用时,绝不要因此停下。
- 内置参考(始终可用)。
references/SDK_JS.md和assets/*.ts是经过编译检查的 v2 基准。它们适用于常见场景(聊天、流式传输、LangChain、嵌入、代理),无需网络或 MCP。默认使用它们。 - Context7 MCP(如可用则使用)。 _如果_本次会话中已注册
context7的query-docs工具,请优先使用它获取最新 API、特定版本细节,或内置参考标记为快速变化的功能(工具调用、数据屏蔽、文档依据、提示词注册表)。库 ID:/websites/sap_github_io_ai-sdk_js。如果该工具不可用,则静默回退到内置参考——不要要求用户安装它。 - 网页文档(最后手段)。 对于以上来源均未涵盖的内容,请指向 llms.txt,或获取在线文档。
不要凭记忆捏造 API 形式——此 SDK 的 v1 和 v2 API 不同,猜测会导致过时代的 v1 代码。如果不确定,存在来源 2 时使用来源 2,否则使用来源 3。
资产索引
| 用例 | 模板 | 安装 |
|---|---|---|
通过 @sap-ai-sdk/orchestration 聊天(推荐) | assets/chat_sap_sdk.ts | npm install @sap-ai-sdk/orchestration |
通过 @sap-ai-sdk/orchestration 流式传输 | assets/streaming.ts | npm install @sap-ai-sdk/orchestration |
| 原生 OpenAI SDK(聊天/流式传输/嵌入/Responses) | assets/openai_native.ts | npm install @sap-ai-sdk/openai openai zod |
通过 AzureOpenAiChatClient 使用 LangChain | assets/langchain_openai.ts | npm install @sap-ai-sdk/langchain @langchain/core |
通过 OrchestrationClient 使用 LangChain | assets/langchain_orchestration.ts | npm install @sap-ai-sdk/langchain @langchain/core |
| RAG / 文档 grounding | assets/document_grounding.ts | npm install @sap-ai-sdk/document-grounding |
| 托管提示词模板 | assets/prompt_registry.ts | npm install @sap-ai-sdk/prompt-registry |
| 大模型批处理任务 | assets/llm_batch.ts | npm install @sap-ai-sdk/llm-batch @sap-ai-sdk/ai-api @sap-ai-sdk/foundation-models |
| 表格预测(SAP-RPT-1,非聊天) | assets/rpt.ts | npm install @sap-ai-sdk/rpt |
| Context Registry(数据目标、表格工件、场景配置) | assets/context_registry.ts | npm install @sap-ai-sdk/context-registry |
| 表格编排(通过 Scenario Config 或内联上下文进行 RPT 预测) | assets/tabular_orchestration.ts | npm install @sap-ai-sdk/tabular-orchestration |
通过 WebSocket 实时语音/文本(gpt-realtime) | assets/realtime.ts | npm install @sap-ai-sdk/openai openai ws |
| 通过 OpenAI npm 包聊天(LiteLLM 代理) | assets/chat_openai_proxy.ts | npm install openai |
安装选项
# @sap-ai-sdk (recommended — native SAP SDK)
npm install @sap-ai-sdk/orchestration @sap-ai-sdk/foundation-models
# Native OpenAI SDK surface on AI Core (no LiteLLM proxy needed)
npm install @sap-ai-sdk/openai openai zod
# LangChain integration (no LiteLLM proxy needed)
npm install @sap-ai-sdk/langchain @langchain/core
# RAG, prompt templates, batch jobs, tabular prediction
npm install @sap-ai-sdk/document-grounding
npm install @sap-ai-sdk/prompt-registry
npm install @sap-ai-sdk/llm-batch @sap-ai-sdk/ai-api @sap-ai-sdk/foundation-models
npm install @sap-ai-sdk/rpt
# With bun
bun add @sap-ai-sdk/orchestration @sap-ai-sdk/foundation-models
# OpenAI npm package via LiteLLM proxy (only if you need a running proxy; prefer @sap-ai-sdk/openai)
npm install openai
快速开始(@sap-ai-sdk/orchestration)
直接传入 messages——这是默认模式。只有当用户明确需要可复用的服务端模板时,才使用带有 {{?placeholder}} 值的 promptTemplating.prompt.template。
import { OrchestrationClient } from "@sap-ai-sdk/orchestration";
const client = new OrchestrationClient({
promptTemplating: {
model: {
name: "anthropic--claude-4.5-haiku",
params: { temperature: 0.7 },
},
},
});
const response = await client.chatCompletion({
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello!" },
],
});
console.log(response.getContent());
运行命令:npx tsx index.ts 或 bun run index.ts
交接
- 想要 Java 代码? → 调用
aicore-sdk-java
何时加载参考文件
| 触发条件 | 加载 |
|---|---|
@sap-ai-sdk/* API、OrchestrationClient、流式传输 | references/SDK_JS.md |
LangChain、AzureOpenAiChatClient、@sap-ai-sdk/langchain | references/SDK_JS.md |
原生 OpenAI SDK、SapOpenAi、Responses API | references/SDK_JS.md |
| RAG、文档 grounding、提示词注册表、批处理、RPT | references/SDK_JS.md |
| 工具调用、数据屏蔽、grounding 配置内部机制 | Context7(如果可用),否则加载 references/SDK_JS.md |
评论
支持 Markdown