SAP

Motor vectorial de HANA Cloud: cómo sostiene el grounding

Qué guarda una tabla vectorial de SAP HANA Cloud, cómo se recupera y cómo se borra un fragmento: lo que el arquitecto de datos debe mostrar al CISO.

Edward Camacho Guerra
Edward Camacho Guerra

CEO / Arquitecto de Soluciones SAP

· 11 min de lectura

Analista de archivo de una distribuidora eléctrica separa un contrato en secciones y coloca una pestaña de color en cada una sobre una mesa larga

«Tranquilos: los datos del cliente quedan convertidos en vectores». La frase suele cerrar la discusión en un comité de arquitectura, hasta que el CISO pide ver la tabla. Lo que aparece en pantalla no es una nube de números ilegibles: es una fila con texto, metadatos y un vector.

La entrega anterior de esta serie estableció que el grounding no entrena al modelo, y dejó planteadas tres preguntas sobre el índice derivado que lo sostiene: qué contiene, cuándo se actualiza y cómo se elimina de él lo que un titular pidió suprimir. Esta tercera pieza las responde desde adentro del componente, el motor vectorial de SAP HANA Cloud, con la profundidad que un arquitecto de datos necesita para validar el diseño ante seguridad.

El motor vectorial en una frase

En la guía de arquitectura de SAP para agentes de IA, el motor vectorial de SAP HANA Cloud habilita los patrones de generación aumentada por recuperación (RAG) mediante búsqueda por similitud, y el motor de grafo de conocimiento de SAP HANA Cloud aporta datos empresariales conectados semánticamente (SAP Architecture Center, Build AI Agents on SAP BTP, 2026).

La materia prima del motor vectorial es el embedding: una representación numérica densa del significado de un texto, que permite buscar por significado y no por coincidencia exacta de palabras clave (SAP Architecture Center, Embeddings & Semantic Search, 2025). Todo lo que sigue —dónde vive el vector, qué lo acompaña y qué viaja hacia el modelo— se deriva de cómo se almacenan y se comparan esos vectores.

Dónde vive el vector: dentro de la misma base de datos

La primera precisión para el CISO es de ubicación. SAP describe el motor vectorial como almacenamiento y procesamiento de vectores añadidos a la misma base de datos que ya guarda otros tipos de dato (SAP Architecture Center, Generative AI on SAP BTP, 2025):

Ubicación del vector
Una misma base de datos para varios tipos de dato
Lo que ya guarda
Datos relacionales
Datos de grafo
Datos espaciales
JSON
Lo que se añade
Vectores: almacenamiento y procesamiento

La consecuencia de gobierno es concreta: el motor vectorial de SAP HANA Cloud no obliga a desplegar un repositorio aparte para los vectores. Los esquemas y la revisión de accesos se discuten sobre la instancia de SAP HANA Cloud, y es allí donde el arquitecto debe documentar quién puede leer cada tabla vectorial.

Qué contiene la tabla: el vector no anonimiza

Tabla estándar de embeddings · integración de LangChain para SAP HANA Cloud
Una fila, tres columnas: lo que reposa junto al vector
📄
Texto del documento
El fragmento original, en texto legible. Es lo que acompaña a cada vector.
🏷️
Metadatos
Los metadatos del documento. Sobre ellos operan los filtros de búsqueda y la eliminación de filas.
🔢
Vector
El vector de ese texto, en una columna de tipo REAL_VECTOR.

La segunda precisión responde la primera pregunta pendiente, y es la que más se malinterpreta: convertir un texto en vector no equivale a anonimizarlo. En la integración de LangChain para SAP HANA Cloud, la tabla estándar de embeddings se crea con tres columnas, y el vector ocupa solo una de ellas, de tipo REAL_VECTOR; las otras dos guardan el texto del documento y sus metadatos (LangChain Docs, integración Python para SAP HANA Cloud, 2026).

La columna que cambia la conversación con seguridad es la del texto, porque conserva el fragmento original tal como se lee. Cuando ese fragmento contiene el historial de consumo de un suministro o una cláusula de un contrato de generación distribuida, la consecuencia es directa:

Clasificación de sensibilidad
La tabla vectorial merece la misma clasificación de sensibilidad que el sistema de origen.
Así debe presentarse ante la autoridad de protección de datos y el regulador sectorial.

Qué ocurre entre la pregunta y el contexto

Las entregas anteriores trataron la recuperación como una sola etapa del recorrido del dato. Por dentro, SAP la documenta como una preparación previa de los documentos seguida de tres pasos en tiempo de consulta (SAP Architecture Center, Retrieval Augmented Generation, 2025):

📄
Preparación de documentosLa canalización del módulo de grounding de SAP AI Core toma los documentos, los fragmenta, genera sus embeddings y los almacena en el motor vectorial de SAP HANA Cloud.
❓
Codificación de la preguntaUn modelo de embeddings transforma la pregunta del usuario en un vector denso.
🔍
Recuperación por similitudEl vector de la pregunta se compara con los fragmentos almacenados en el motor vectorial de SAP HANA Cloud; una búsqueda por similitud, como la similitud coseno, identifica los k fragmentos más relevantes (top-k).
💬
Generación de la respuestaLos fragmentos recuperados, junto con la pregunta original, se entregan al modelo de lenguaje, que redacta la respuesta.

El cuarto paso delimita lo que sale: hacia el modelo de lenguaje no viaja la tabla, viajan los fragmentos recuperados para esa pregunta.

Sobre el grounding de Joule hay un matiz que conviene dejar por escrito, porque SAP lo documenta en dos referencias de fechas distintas: la misma página de arquitectura que describe el flujo (SAP Architecture Center, Retrieval Augmented Generation, 2025) y un tutorial oficial posterior (SAP Developers, Use Joule Studio with Document Grounding, 2026).

Document Grounding para Joule
Lo que documenta cada referencia de SAP
SAP Architecture Center
2025
Para enriquecer a Joule con información contextual existe un servicio propio de Document Grounding, distinto del módulo de grounding de SAP AI Core.
Tutorial oficial de SAP
2026
La herramienta de grounding de documentos de un agente creado en Joule Studio se configura conectando Joule Studio con SAP AI Core y un almacén de objetos S3.

Cada caso de uso debe declarar qué camino utiliza, y la pregunta «¿dónde reposa el contenido indexado?» se confirma para ese camino, no se asume.

Las decisiones de diseño que el arquitecto debe poder defender

Decisiones de diseño
Lo que el arquitecto debe poder defender ante seguridad
🧮
Dónde se calcula el embedding
Cualquier clase de embeddings externa o una clase que ejecuta internamente VECTOR_EMBEDDING de SAP HANA. Con un modelo externo a la base de datos, el texto de cada fragmento viaja hasta él: flujo adicional para el mapa.
📏
Cómo se mide y se acota la búsqueda
En la integración de LangChain para SAP HANA Cloud: similitud coseno por defecto, distancia euclidiana (L2) como alternativa, índice HNSW para vecinos más cercanos y filtros sobre metadatos. Etiquetar cada fragmento por sensibilidad y unidad de negocio permite acotar el universo recuperable.
🔐
Quién puede recuperar qué
Confirmar, para el camino de grounding elegido, si los permisos del usuario que pregunta restringen también los fragmentos que se le recuperan.
Por confirmar
🗑️
Cómo se suprime y cuándo se actualiza
Eliminación por filtro de metadatos: con el identificador del contrato o del documento de origen, suprimir es una operación. Para actualizar, documentar cómo y con qué frecuencia se regeneran los fragmentos.
🧾
Identificadores de fragmentos por respuesta
Guardar, junto a cada respuesta, los identificadores de los fragmentos que la sostuvieron.
Práctica de operación

Cada ficha descansa en una fuente o en una razón que el arquitecto debe tener a mano.

La integración oficial de SAP para LangChain admite cualquier clase de embeddings externa y también una clase que ejecuta internamente la función VECTOR_EMBEDDING de SAP HANA (SAP en GitHub, langchain-integration-for-sap-hana-cloud, 2026). La diferencia pesa en el mapa de datos: si el modelo de embeddings es externo a la base de datos, el texto de cada fragmento viaja hasta ese modelo, y ese flujo adicional debe aparecer en el mapa.

Para medir y acotar la búsqueda, la integración de LangChain para SAP HANA Cloud usa similitud coseno por defecto, ofrece distancia euclidiana (L2) como alternativa, permite crear un índice vectorial HNSW que acelera las consultas de vecinos más cercanos y admite búsquedas por similitud con filtros sobre los metadatos (LangChain Docs, integración JavaScript para SAP HANA Cloud, 2026). Etiquetar cada fragmento con su clasificación de sensibilidad y su unidad de negocio permite acotar el universo recuperable antes de que la similitud entre en juego.

Queda una verificación que no conviene dar por hecha: confirmar, para el camino de grounding elegido, si los permisos del usuario que pregunta también restringen los fragmentos que se le recuperan.

Para suprimir, la integración de LangChain para SAP HANA Cloud documenta la eliminación de filas por filtro de metadatos (LangChain Docs, integración Python para SAP HANA Cloud, 2026). Si cada fragmento lleva como metadato el identificador del contrato o del documento de origen, suprimir lo que pidió un titular es una operación y no una investigación. La actualización exige el mismo rigor: debe quedar documentado cómo y con qué frecuencia se regeneran los fragmentos cuando cambia el documento de origen.

A estas decisiones sumamos una práctica de operación: guardar, junto a cada respuesta, los identificadores de los fragmentos que la sostuvieron.

Una demostración vale más que otro expediente

Demostración en vivo ante el CISO
Tres comprobaciones sobre la tabla vectorial del piloto
Comprobación 1
🗂️
Consultar el catálogo de columnas
Conviven una columna de texto, una de metadatos y una de tipo REAL_VECTOR
↓
Comprobación 2
👁️
Leer una fila
El fragmento se lee tal cual, junto a su vector
↓
Comprobación 3
🗑️
Suprimir por filtro de metadatos
Los fragmentos de un contrato de prueba
→
🔍
Repetir la búsqueda
Comprobar que ya no se recuperan
Criterio de entrada
1Piloto que no puede mostrarlo
Si no muestra qué guarda, qué recupera y cómo borra, todavía no está listo para datos regulados de clientes.
Operaciones ilustradas en LangChain Docs, integración Python para SAP HANA Cloud (2026)

Las dos primeras entregas terminaron en documentos para el área legal. Ante el CISO proponemos algo distinto: una demostración en vivo sobre la tabla vectorial del piloto, con tres comprobaciones construidas sobre operaciones que la documentación de la integración ya ilustra (LangChain Docs, integración Python para SAP HANA Cloud, 2026).

Cada comprobación despeja una duda distinta. La consulta al catálogo de columnas enseña de qué está hecha la tabla: una columna de texto, una de metadatos y una de tipo REAL_VECTOR. La lectura de una fila confirma que el fragmento se lee tal cual junto a su vector. Y la supresión por filtro de metadatos de los fragmentos de un contrato de prueba, seguida de una nueva búsqueda, comprueba que ya no se recuperan.

En AGT acompañamos a los equipos de datos de utilities de América Latina a preparar esa demostración. Nuestro equipo la usa como criterio de entrada: si el piloto no puede mostrar qué guarda, qué recupera y cómo borra, todavía no está listo para datos regulados de clientes.

Este recorrido deja una pregunta a la vista: si los fragmentos recuperados viajan al modelo, ¿qué se enmascara antes? De eso trata la siguiente pieza de la serie: data masking, qué se enmascara antes de que el dato toque un modelo externo.

Fuentes

Artículo de Edward Camacho Guerra, elaborado con apoyo de herramientas de inteligencia artificial y revisado y aprobado por el autor.

Conversemos 30 minutos

¿Este análisis mapea un mercado donde ya operas o estás evaluando entrar?

Revisamos tu caso específico, mapeamos los riesgos que aplican, y te decimos honestamente si es oportunidad para ti —sin pitch comercial, solo discusión técnica y estratégica.

Al enviar aceptas ser contactado por AGT Consultoría para el assessment solicitado. Tus datos no serán compartidos con terceros ni usados para publicidad.

Edward Camacho Guerra · CEO / Arquitecto de Soluciones SAP
#sap hana cloud #motor vectorial #grounding #rag #gobierno de datos #utilities