{"ref":"artifact:sap-samples-btp-cap-genai-rag","page":"/artifacts/sap-samples-btp-cap-genai-rag","json":"/artifacts/sap-samples-btp-cap-genai-rag.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-btp-cap-genai-rag","name":"SAP-samples/btp-cap-genai-rag","artifact_type":"sample","ecosystem":"cap","domain":"ai-and-agents","use_as":"starting-point","origin_ring":"sap-official","description":{"one_line":"A CAP reference application on SAP BTP for GenAI email support, built on SAP AI Core's Generative AI Hub and retrieval-augmented generation over [SAP HANA Cloud](artifact:btp-hana-cloud)'s Vector Engine.","short":"CAP reference app for GenAI email support with RAG on HANA Cloud","what_it_solves":"Analyses incoming customer-support emails with large language models through SAP AI Core's Generative AI Hub: categorising them, scoring sentiment and urgency, and extracting configurable fields such as location. It uses LangChain inside CAP for output parsing against a custom schema and retrieval-augmented generation over embeddings stored in [SAP HANA Cloud](artifact:btp-hana-cloud)'s Vector Engine, matching a new email against similar past ones to inform the reply it drafts. The sample ships single-tenant and multitenant versions, and a separate branch, cap-genaihub-vectorengine-sample, strips it down to a backend-only boilerplate of the same architecture."},"links":{"repo":"https://github.com/SAP-samples/btp-cap-genai-rag","homepage":"https://discovery-center.cloud.sap/refArchDetail/ref-arch-open-ai"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/SAP-samples/btp-cap-genai-rag","title":"SAP-samples/btp-cap-genai-rag — README","checked":"2026-10-18","quote":"Business Use Case of the Reference Application"}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:retrieval-augmented-generation","capability:llm-integration"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:eltociear","actor:iyad-alhafez","actor:kay-schmitteckert","actor:martinfrick","actor:mauriciolauffer","actor:sk31337"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"7 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-08, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"no release dates"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"14 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 16 pages, README 7 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":141,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":141,"forks":54,"open_issues":2,"archived":false,"pushed_at":"2026-08-05","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2023-09-14T08:25:25Z","open_prs":1,"tree_truncated":false,"test_files":14,"workflows":0,"other_ci":false,"readme_bytes":7584,"docs_files":16,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2023-11-01","last_commit":"2026-07-23","commits":102,"contributors":7,"readme_path":"README.md","readme_sha":"a2db759649dd3fb80eb34402a3ccbbdbdffdfb72","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:eltociear","name":"Ikko Eltociear Ashimine","json":"/actors/eltociear.json"},{"ref":"actor:iyad-alhafez","name":"Iyad-Alhafez","json":"/actors/iyad-alhafez.json"},{"ref":"actor:kay-schmitteckert","name":"Kay Schmitteckert","json":"/actors/kay-schmitteckert.json"},{"ref":"actor:martinfrick","name":"Martin Frick","json":"/actors/martinfrick.json"},{"ref":"actor:mauriciolauffer","name":"Mauricio Lauffer","json":"/actors/mauriciolauffer.json"},{"ref":"actor:sk31337","name":"Steffen","json":"/actors/sk31337.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}