{"ref":"artifact:sap-samples-sap-btp-ai-best-practices","page":"/artifacts/sap-samples-sap-btp-ai-best-practices","json":"/artifacts/sap-samples-sap-btp-ai-best-practices.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-sap-btp-ai-best-practices","name":"sap-btp-ai-best-practices","artifact_type":"sample","ecosystem":"btp","use_as":"reference","domain":"ai-and-agents","origin_ring":"sap-official","description":{"one_line":"SAP's collection of sample implementations for AI-powered applications on SAP BTP, one directory per topic under best-practices, in TypeScript, Python, Java and CAP.","short":"Sample implementations for AI-powered applications on SAP BTP","what_it_solves":"Building an AI-powered application on SAP BTP raises the same five problems each time, and each one is worked out in a directory of its own here: reaching a generative AI model securely, filtering the model's output, masking PII in what is sent to it, writing prompt templates, and building a retrieval-augmented generation system. Each carries code samples in TypeScript, Python, Java and CAP, and its own setup instructions; there is no shared install step. Beside them a use-cases directory holds end-to-end implementations, and the prose documentation for the code sits on a site of its own. It needs an SAP BTP account with access to [SAP AI Core](artifact:btp-ai-core)."},"links":{"repo":"https://github.com/SAP-samples/sap-btp-ai-best-practices","docs":"https://btp-ai-bp.docs.sap/"},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:llm-integration","capability:content-filtering","capability:data-masking","capability:prompt-management","capability:retrieval-augmented-generation"],"requires":[{"ref":"artifact:btp-ai-core","for":"the AI service every example calls; the README lists access to it beside a BTP account as the repository's two requirements.","requirement":"required","sources":[{"url":"https://github.com/SAP-samples/sap-btp-ai-best-practices","title":"SAP-samples/sap-btp-ai-best-practices — README, Requirements","checked":"2026-10-19","quote":"Access to SAP AI Core service"},{"url":"https://github.com/SAP-samples/sap-btp-ai-best-practices","title":"SAP-samples/sap-btp-ai-best-practices — README, Description","checked":"2026-10-19","quote":"It serves as a practical guide for developers looking to implement enterprise-grade AI solutions using SAP's AI services and integration with generative AI models."}]}],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:ajinkyapatil8190","actor:andreyrzhaksinskiy","actor:bhagabatp","actor:dantonio-sap","actor:frrobledo","actor:jrsapai","actor:luismarques-io","actor:mara004","actor:roaked","actor:rob-sc-sap","actor:thecodester","actor:velizarstoianov","actor:viralsingh201"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"15 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"214 test files"},{"label":"Docs","tier":"good","evidence":"docs site, README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":68,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":68,"forks":59,"open_issues":8,"archived":false,"pushed_at":"2026-10-19","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2025-03-07T14:29:58Z","open_prs":6,"tree_truncated":false,"test_files":214,"workflows":0,"other_ci":false,"readme_bytes":3229,"docs_files":0,"changelog":false,"license_file":true,"dts_files":2,"first_commit":"2025-03-07","last_commit":"2026-09-07","commits":523,"contributors":15,"readme_path":"README.md","readme_sha":"752d5f2f0d0c07a2531a368cfb906940c853d92f","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:ajinkyapatil8190","name":"Ajinkya Patil","json":"/actors/ajinkyapatil8190.json"},{"ref":"actor:andreyrzhaksinskiy","name":"Andrey Rzhaksynskiy","json":"/actors/andreyrzhaksinskiy.json"},{"ref":"actor:bhagabatp","name":"Bhagabat Prasad Behera","json":"/actors/bhagabatp.json"},{"ref":"actor:dantonio-sap","name":"Dan Antonio","json":"/actors/dantonio-sap.json"},{"ref":"actor:thecodester","name":"Daniel Wroblewski","json":"/actors/thecodester.json"},{"ref":"actor:frrobledo","name":"Francisco Robledo","json":"/actors/frrobledo.json"},{"ref":"actor:jrsapai","name":"JRSAPAI","json":"/actors/jrsapai.json"},{"ref":"actor:luismarques-io","name":"Luís Marques","json":"/actors/luismarques-io.json"},{"ref":"actor:mara004","name":"mara004","json":"/actors/mara004.json"},{"ref":"actor:roaked","name":"Ricardo Chin","json":"/actors/roaked.json"},{"ref":"actor:rob-sc-sap","name":"rob-sc-sap","json":"/actors/rob-sc-sap.json"},{"ref":"actor:velizarstoianov","name":"velizarstoianov","json":"/actors/velizarstoianov.json"},{"ref":"actor:viralsingh201","name":"Viral Singh","json":"/actors/viralsingh201.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}