{"ref":"artifact:sap-samples-btp-ai-bp-vector-rag-embedding-cap","page":"/artifacts/sap-samples-btp-ai-bp-vector-rag-embedding-cap","json":"/artifacts/sap-samples-btp-ai-bp-vector-rag-embedding-cap.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-btp-ai-bp-vector-rag-embedding-cap","name":"SAP BTP AI Best Practice Demo - Vector Embedding (RAG) - CAP","artifact_type":"sample","ecosystem":"cap","serves_ecosystems":["btp"],"flavors":[{"key":"node","source":{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README, prerequisites","checked":"2026-10-19","quote":"Node.js LTS version"}}],"use_as":"reference","domain":"ai-and-agents","origin_ring":"sap-official","description":{"one_line":"A CAP backend-sample and fullstack-sample that parse an uploaded CSV of science data, embed each row through [SAP AI Core](artifact:btp-ai-core) and store the vectors in [SAP HANA Cloud](artifact:btp-hana-cloud)'s vector store.","short":"CAP samples embedding CSV rows into the SAP HANA Cloud vector store","what_it_solves":"`uploadScienceData` parses an uploaded CSV of science data and creates the embeddings through [SAP AI Core](artifact:btp-ai-core)'s Generative AI Hub, in the logic `srv/services/ai-sdk.ts` holds; the vectors go into the `schema.cds` entity the sample deploys to an HDI container in [SAP HANA Cloud](artifact:btp-hana-cloud), and `scienceData` reads the stored rows back. The fullstack-sample adds a UI5 app, manage-science-data, together with a launchpad configuration and an approuter for local testing, on top of the same service. Building that container is a step of its own before a run, `npm run build:db`, beside the `cds bind` for the [SAP AI Core](artifact:btp-ai-core) instance.","when_not_to_use":"Every CDS service in both samples is marked `@requires: 'any'` and left publicly accessible, which the README says simplifies the testing and deployment process, and it asks for proper authentication mechanisms to be applied in their place."},"links":{"repo":"https://github.com/SAP-samples/sap-btp-ai-best-practices/tree/main/best-practices/generative-ai/vector-rag-embedding/cap"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README","checked":"2026-10-19","quote":"This project demonstrates best practices for accessing Embeddings models using the SAP GenAI Hub and storing them in SAP HANA Vector Store. It provides examples of different ways to create and store embeddings in the vector store."}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"compat":{"runtimes":["node"]},"demonstrates":["capability:retrieval-augmented-generation"],"requires":[{"ref":"artifact:btp-ai-core","for":"The service instance the samples bind to at runtime to create the embeddings for each uploaded row.","sources":[{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README","checked":"2026-10-19","quote":"Access to SAP AI Core service"}]},{"ref":"artifact:btp-hana-cloud","for":"Where the embeddings are stored: the sample's schema is built into an HDI container by its own `build:db` step before the service can read or write vectors.","sources":[{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README, local deployment","checked":"2026-10-19","quote":"Build the HANA / HDI Container\n   ```bash\n   npm run build:db\n   ```"}]}],"connects":[{"ref":"artifact:btp-ai-core","kind":"data","direction":"outbound","for":"Each uploaded row, sent to an embeddings model, and the vector that comes back.","sources":[{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README, configuration","checked":"2026-10-19","quote":"The application requires proper configuration to connect to the SAP AI Core service. This is handled through CDS bindings in both local and remote deployments."},{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README","checked":"2026-10-19","quote":"This project demonstrates best practices for accessing Embeddings models using the SAP GenAI Hub"}]},{"ref":"artifact:btp-hana-cloud","kind":"data","direction":"outbound","for":"The embeddings the service writes to the vector store, and the stored rows `scienceData` reads back.","sources":[{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README","checked":"2026-10-19","quote":"storing them in SAP HANA Vector Store"},{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README, project structure","checked":"2026-10-19","quote":"schema.cds           # Entity definitions used for HANA database schema"}]}],"interfaces":[{"kind":"api","protocol":"odata-v4","direction":"in","for":"Upload a CSV file and create the embeddings for the science data in it, and view the uploaded science data.","sources":[{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README, usage","checked":"2026-10-19","quote":"The application will serve the following APIs:\n - POST `/uploadScienceData` upload and created embeddings for the science data from a CSV file.\n - GET `/scienceData` view the uploaded science data"},{"url":"https://raw.githubusercontent.com/SAP-samples/sap-btp-ai-best-practices/main/best-practices/generative-ai/vector-rag-embedding/cap/backend-sample/README.md","title":"SAP-samples/sap-btp-ai-best-practices — vector-rag-embedding/cap/backend-sample README, usage","checked":"2026-10-19","quote":"--url http://SAMPLE_CAP_HOST/odata/v4/rag/ScienceData"}]}],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:luismarques-io"]},"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":"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":"214 test files"},{"label":"Docs","tier":"poor","evidence":"README 1 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":918,"docs_files":0,"changelog":false,"license_file":true,"dts_files":2,"first_commit":"2025-05-27","last_commit":"2025-05-27","commits":1,"contributors":15,"readme_path":"best-practices/generative-ai/vector-rag-embedding/cap/README.md","readme_sha":"9ebf2e7793da4939561cb51c8d96f549f625968a","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:luismarques-io","name":"Luís Marques","json":"/actors/luismarques-io.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}