节点的 CAP AI 插件
@cap-js/ai 增加由SAP AI Core提供动力的UI建议,简化对SAP AI Core资源的访问,并给CAP应用程序提供向量嵌入支持.
建议
该插件将SAP-RPT-1的建议添加到有草稿功能的实体. 自动包含有值帮助的字段 :
@odata.draft.enabled
entity Books {
key ID : Integer;
title : String;
genre : Association to Genres;
price : Decimal;
}
annotate Genres with @cds.odata.valuelist;

使用 @UI.RecommendationState 选择进入或退出的单个字段:
annotate Books with {
genre @UI.RecommendationState: 0;
price @UI.RecommendationState;
}
生产部署需要 SAP AI 核心 服务约束。 没有一个,地方发展就使用模拟执行进行UI烟雾测试. 见 建议 用于回归目标、请求行为、数据处理和部署生命周期.
SAP AI 核心
插件提供了一个 AICore 管理资源组、部署和配置的联合呼吁程序服务:
const aiCore = await cds.connect.to('AICore');
const { resourceGroups, deployments } = aiCore.entities;
const groups = await aiCore.run(SELECT.from(resourceGroups));
await aiCore.stop(deployments, { id: '<deployment id>' });
见 SAP AI 核心整合 用于设置、支持查询、帮助方法以及多版本.
本地向量嵌入 SQLite (实验)
[尖叫声] SQLite扩展,本地向量嵌入,本地模型管理,以及相关的工具化都是当地发展的实验设施. 预计会发生中断变化,包括由SQLite同步功能接口和本地模型管理所引发的变化. 使用SAP HANA的向量引擎进行生产向量工作量.
@cap-js/ai 重定向标准 sqlite 数据库,以便 VECTOR_EMBEDDING 而矢量函数在本地运行与真实 国家统计局 型号——没有外部服务,也没有代码对SAP HANA的修改. 这使得您可以在SQLite上开发并测试语义搜索. 以下搜索 书店书的描述意义.
-
安装本地发展依赖:
npm add -D @cap-js/ai @cap-js/sqlite@^3.1 @huggingface/hub \ @huggingface/tokenizers onnxruntime-node这需要
@sap/cds^10.1财务报告和审定财务报表@cap-js/sqlite^3.1(软件包的其他能力仍然支持)@sap/cds9. 不需要配置:标准sqlite财务报告和审定财务报表sqlite:memory数据库自动拾取本地执行. -
将搜索显示为 OData 函数。 它按照嵌入式搜索短语与每本书嵌入式描述的相近性对书籍进行排序:
using { sap.capire.bookshop.Books } from '@capire/bookshop'; service SearchService { function searchBooks(phrase : String) returns array of { title : String; relevance : Double; }; }const cds = require('@sap/cds') module.exports = class SearchService extends cds.ApplicationService { init() { this.on('searchBooks', ({ data: { phrase } }) => SELECT.from('sap.capire.bookshop.Books') .columns`title, cosine_similarity( vector_embedding(descr, 'DOCUMENT', 'SAP_GXY.20250407'), vector_embedding(${phrase}, 'QUERY', 'SAP_GXY.20250407')) as relevance` .orderBy`relevance desc` ) return super.init() }}SQLite上忽略了模型名称——使用了本地配置的模型,并在SAP HANA上获得荣耀,因此在两者上相同的查询运行不变. 这把每本书的描述都嵌入在每个请求上;对于重复的搜索,坚持嵌入(见 本地向量嵌入) (中文(简体) ).
-
运行应用程序并调用函数 :
cds watch在另一个终端:
curl "http://localhost:4004/odata/v4/search/searchBooks(phrase='a%20haunting%20poem%20about%20lost%20love')"
@cap-js/ai 查找工程中配置的模型 .cds/models 首先,然后输入 ~/.cds/models。如果丢失,则启动警告,下载到 ~/.cds/models ,并初始化; 后期启动和其他项目再使用缓存。 下载块启动,所以预安装大型模型 npx @cap-js/ai install-model <model> 以避免慢步或被困住 该函数返回按语句相关性排序的书.
当前默认值是 sentence-transformers/all-MiniLM-L6-v2,仅作为匹配句式-等同性任务,ONNX格式,以及Apache-2.0许可证的最下載量相當小的模型被选择. 这不是一项建议,在试验阶段可能会改变 cds.requires.db.embedding.model 把它钉上 在 与 ONNX 工艺品的 Apache-2.0 句子相似性模型的趋势,然后用所提供的工具验证您的选择.
见 选择模型 财务报告和审定财务报表 本地向量嵌入 用于兼容性检查、明确或共享提供、运行时间行为和限制.
高级
- 建议 生成的服务形状、预测背景、回归目标和生命周期
- SAP AI 核心整合 约束性、多期性、辅助操作和辅助方法
- 本地向量嵌入 —— SQLite 类型,模式提供, SQL 函数行为,以及信任边界
- 选择模型 ——牵引面部滤波器,相容性要求和大小取舍
- 当地知识图 实验性
SPARQL_EXECUTE财务报告和审定财务报表sparql_table支助
测试本地插件
样本应用在 tests/bookshop。 。 。 .
npm test
集成测试需要SAP AI Core绑定:
cds bind ai-core -2 <your-ai-core-service-instance>
npm run test:hybrid
支助、反馈和贡献
此项目欢迎特性请求、 错误报告和通过 GitHub 问题见 贡献准则 为发展信息服务.
警卫
通过项目报告潜在的安全问题 安全政策而不是通过公共问题.
行为守则
参加该项目须遵守以下规定: 行为守则。 。 。 .