Caso real · Software para el sector energético
Asistente de IA en Teams con RAG sobre SharePoint, en la infraestructura del cliente y con sus permisos
La IP del contador de una planta, el contacto de mantenimiento o la guardia de esta semana estaban repartidos entre carpetas de SharePoint, tablas internas y la memoria de los técnicos veteranos. Ahora el equipo técnico de esta empresa de software del sector energético lo pregunta en Teams y recibe la respuesta en segundos, con el enlace al documento que la respalda y solo con lo que cada persona puede abrir.
- 9:41¿Cuál es la IP del PLC del inversor 3 en la planta Solana?
- Asistente de documentación9:41La IP del PLC del inversor 3 de la planta Solana es 192.0.2.43. El listado indica que se accede por la VPN de la planta.Listado de IPs · Planta Solana.xlsx · SharePoint
- 9:42¿Y la del inversor 4?
- Asistente de documentación9:42La del inversor 4 es 192.0.2.44, en el mismo listado.
Conversación ilustrativa: planta, documento e IP inventados
- 40 GBen la primera carga de documentación de SharePoint, casi 10.000 archivos. Se amplía por bloques hasta 1 TB
- 1,2 Mde fragmentos que se buscan a la vez por significado y por palabra exacta, como una IP o un código de equipo
- 1-2 spor respuesta, con el enlace al documento de SharePoint que la respalda
El proyecto
Ficha del proyecto
Un asistente de IA a medida, dentro de Microsoft Teams, que responde sobre la documentación técnica de una empresa de software del sector energético leyendo de su SharePoint y de sus bases de datos internas.
- Cliente
- Empresa de software del sector energético
- Sector
- Energía · documentación técnica y operativa de proyectos y plantas fotovoltaicas
- Qué hace
- Responde en lenguaje natural sobre planos, memorias técnicas, fichas de equipos, listados de IPs y contadores, guardias, contactos de mantenimiento y normativa interna, siempre con la cita al documento fuente
- Fuentes
- SharePoint: primera carga de unos 40 GB (casi 10.000 archivos), que se amplía por bloques hasta 1 TB · tablas operativas en PostgreSQL: equipos, IPs, contadores y potencia por planta
- Integraciones
- Microsoft Teams (Bot Framework) · SharePoint y Microsoft Entra ID a través de Microsoft Graph · Azure OpenAI en la suscripción del cliente
- Infraestructura
- Máquina virtual del cliente con contenedores Docker: ningún documento sale de su entorno
- Enfoque
- Empezar por un repositorio acotado de carpetas controladas y demostrar los permisos antes de ampliar
- En producción
- En Microsoft Teams desde mayo de 2026
Antes y después
El punto de partida y lo que ha cambiado
Cómo funciona
Qué pasa en los 1-2 segundos que tarda una respuesta
No es un chat que responde de memoria, sino un agente que busca en la documentación real con los permisos de quien pregunta y decide si necesita consultar algo más antes de contestar. Este es el recorrido de una pregunta, en catorce pasos agrupados en cuatro fases.
«¿Cuál es la IP del PLC del inversor 3 en la planta Solana?»
- 01
Entender la pregunta
- Quién pregunta: lee sus grupos en Microsoft Entra ID, que serán el filtro de toda la búsqueda.
- De qué se hablaba: recupera los últimos 14 turnos para entender «¿y el del inversor 4?».
- Respuesta hipotética: redacta una respuesta plausible y busca con ella; funciona mejor que con una pregunta corta.
- 02
Buscar en dos sitios
- Por significado: 25 candidatos, solo entre los documentos permitidos para esa persona.
- Por palabra exacta: 30 candidatos más, para IPs, códigos y nombres que la búsqueda por significado pierde.
- Fusión: une las dos listas por posición y, si se nombra un proyecto, asegura su fragmento más relevante.
- 03
Quedarse con lo útil
- Reordenación: un segundo modelo revisa los candidatos y se queda con los 8 mejores.
- Contexto con fuente: cada fragmento va numerado con su enlace de SharePoint y sus datos de proyecto y tipo de documento.
- Umbral: si nada es lo bastante parecido, no hay respuesta inventada.
- 04
Responder y registrar
- Herramientas: si el contexto no basta, consulta tablas, lista archivos o lee un documento entero.
- Respuesta con cita: explica el dato, añade los avisos del documento original y enlaza la fuente.
- Registro: guarda coste, tiempo y fragmentos usados, y la tarjeta de Teams lleva botones para valorar la respuesta.
Permisos de SharePoint
Lo que no puedes abrir en SharePoint, el asistente no lo usa
Era el hito crítico del proyecto: demostrar que una persona de un grupo no obtiene respuestas basadas en documentos restringidos a otro. El asistente no tiene un mapa de permisos propio: replica el de SharePoint y lo aplica dentro del buscador, antes de recuperar ningún fragmento.
Técnica del proyecto
Su grupo tiene acceso a la carpeta del proyecto
Persona de otro departamento
Su grupo no tiene acceso a esa carpeta
Ejemplo ilustrativo: planta, persona y documento inventados
- Al indexar, cada documento guarda los grupos de Active Directory que pueden verlo en SharePoint.
- Cuando alguien pregunta, sus grupos se leen en ese momento a través de Microsoft Graph.
- El filtro va dentro de la búsqueda: los fragmentos de documentos no permitidos ni siquiera llegan a ser candidatos.
- Lo restringido en SharePoint sigue restringido en el asistente, sin duplicar el modelo de permisos.
// filtro aplicado en cada búsqueda (esquema) { "must": [{ "key": "allowed_groups", "match": { "any": [ "grupo-tecnicos", "grupo-planta-solana" ] } }] }
Infraestructura
Todo dentro del entorno del cliente: dónde vive cada pieza
La documentación no se sube a ninguna plataforma de terceros. El asistente, el índice y la base de datos corren en una máquina virtual del cliente, y el modelo de lenguaje es una instancia privada de Azure OpenAI en su propia suscripción, con su titularidad y su coste.
Microsoft 365 del cliente
Donde ya trabaja el equipo
- Microsoft TeamsEl canal: el equipo pregunta en un chat y recibe la respuesta en una tarjeta con la cita.
- SharePointLa documentación fuente. No se copia a ningún servicio externo.
- Microsoft Entra ID y GraphIdentidad, grupos y avisos de cambios en los documentos.
Máquina virtual del cliente
Contenedores Docker en una red interna
- El asistenteRecibe la pregunta, aplica los permisos, busca, decide y responde.
- Índice semánticoMás de 1,2 millones de fragmentos con sus permisos y datos de proyecto.
- Base de datosTablas operativas (equipos, IPs, contadores), historial y registro de cada consulta.
- Lectura de PDFExtrae el texto de los PDF para indexarlos.
Azure del cliente
Su propia suscripción
- Azure OpenAIUn modelo principal para razonar y redactar y otro ligero para los pasos auxiliares.
- EmbeddingsConvierten cada fragmento y cada pregunta en un vector de 1.536 dimensiones.
- Ningún documento sale del entorno del cliente.
- Al modelo solo van los fragmentos relevantes y la pregunta, nunca el archivo entero.
- La instancia privada de Azure OpenAI no entrena con sus datos.
- Vuelta a la versión anterior en unos 30 segundos si un cambio empeora algo.
Herramientas del agente
Un agente que consulta, no que adivina
Si los fragmentos encontrados bastan, responde sin más. Si no, elige entre siete herramientas y decide en qué orden usarlas: unas leen SharePoint y otras consultan las tablas operativas de la base de datos.
El modelo no hace cuentas
Sumar valores de varias plantas «a ojo» falla. Cuando hay que agregar, el agente llama a una herramienta que calcula sobre la tabla y le devuelve el resultado exacto.
Localizar un proyecto
Por su nombre o su código, aunque se escriba a medias.
find_projectListar documentos
Los archivos de un proyecto, directamente de SharePoint.
list_filesLeer un documento
Entero, hasta 50.000 caracteres, cuando un fragmento no basta.
read_documentExplorar carpetas
El árbol de carpetas de SharePoint, para orientarse.
estructura_carpetasDescribir tablas
Qué tablas operativas hay y qué columnas tienen.
describe_tabular_entitiesConsultar tablas
IPs, equipos o contadores, con filtros por planta o proyecto.
query_tabular_dataSumar y contar
Totales sobre una tabla, por ejemplo los contadores de varias plantas. El resultado lo calcula la herramienta, no el modelo.
aggregate_column
Retos del proyecto
Lo que costó y cómo se resolvió
Una documentación real no está ordenada para una IA. Estos son los problemas que aparecieron con los documentos y las pruebas del equipo, y la solución que está en producción.
Preguntas que dependen de la anterior
Un buscador que trata cada pregunta por separado no sabe qué es «¿y el del inversor 4?». Y la mayoría de las consultas reales encadenan así.
SoluciónUn agente con memoria: carga los últimos 14 turnos de la conversación y reconstruye de qué se estaba hablando.Sumas entre plantas
Pedirle al modelo que sume valores sacados de varios documentos daba totales erróneos.
SoluciónUna herramienta de agregación sobre las tablas: el cálculo es determinista y el modelo solo lo explica.Carpetas que no dicen lo que contienen
Un «hilo de correos» guardado en gestión económica que en realidad era una incidencia técnica: la ruta engaña.
SoluciónCada fragmento lleva proyecto, tipo de documento y cliente (en el 97-99 % del corpus), y la búsqueda combina significado y palabra exacta.Versiones duplicadas
Una memoria y su «histórico» en la misma carpeta: ¿cuál es la vigente y de cuál se cita?
SoluciónEl documento vigente gana; el histórico solo se usa si no hay otro, y la reordenación descarta casi todos los duplicados.Excel de cientos de filas
El dato está en una fila concreta y hay hojas con nombres casi iguales.
SoluciónLa búsqueda por palabra exacta encuentra el identificador y las herramientas consultan los datos ya estructurados en tablas.Respuestas que suenan bien y son inventadas
En operación, una IP o un contacto inventados con aplomo provocan errores reales.
SoluciónUmbral de parecido, sin fuente no hay respuesta y un «no lo he encontrado» explícito cuando el dato no está.
Lo que esta fase no hace, dicho claro
El asistente localiza y sintetiza lo que está escrito en los documentos. Estos casos quedaron fuera por diseño y se abordan en fases posteriores, con capacidades específicas.
- Excel con macros o lógica de negocio oculta: necesitan ejecutar código
- Fórmulas o datos dentro de imágenes: necesitan modelos de visión
- Razonamiento matemático complejo por su cuenta
- Todo el archivo documental de golpe: se incorpora por bloques planificados, hasta 1 TB
Experiencia
Qué aprendimos en este proyecto
El orden de SharePoint es la mitad del resultado
La precisión y la velocidad del agente son proporcionales a lo bien estructuradas que estén las carpetas y el contenido de los archivos. Antes de ampliar a más documentación, ordenar SharePoint es la inversión que más rinde.
Las instrucciones, dentro del resultado de la herramienta
Las indicaciones de cómo seguir funcionan mejor cuando llegan junto al resultado de cada herramienta que como reglas generales del sistema. El modelo las sigue mejor y se inventa menos. Algunas reglas añadidas al principio, de hecho, aumentaban las respuestas inventadas y se quitaron.
Una sola prueba engaña
Aunque cada paso sea determinista, encadenar varios modelos introduce variación. La calidad se mide con revisión humana caso a caso y por mayoría sobre tres ejecuciones, con pruebas rápidas antes de cualquier cambio sensible.
Acertar el dato y acertar la cita son dos notas
Se evalúan por separado: contenido correcto y cita correcta y enlazable. Cuando el dato está bien y la cita no, el fallo está en cómo se construye el enlace, no en la búsqueda ni en el modelo, y se arregla ahí.
Lo que dicen de nosotros
Opiniones de clientes publicadas en Google
FAQ
Preguntas frecuentes sobre este proyecto
No. El asistente, el índice de búsqueda y la base de datos funcionan en una máquina virtual del cliente, y el modelo de lenguaje es una instancia privada de Azure OpenAI en su propia suscripción, que no usa sus datos para entrenar. Al modelo solo se envían los fragmentos relevantes junto con la pregunta, nunca los documentos completos.
Sigue explorando
Relacionado con este caso
- Solución
Gestión documental con IA
Asistentes que responden sobre la documentación técnica de tu empresa, con la fuente y tus permisos.
Ver más - Sector
Documentación de automatización industrial
Manuales, esquemas y listados de equipos consultables en lenguaje natural por tu equipo técnico.
Ver más - Servicio
Agentes de IA para empresas
Agentes que consultan tus sistemas y usan herramientas, más allá de un chat.
Ver más - Proyectos
Todos los casos
Otros proyectos de IA en producción, con lo que hacen y sus resultados.
Ver más
Hablemos
¿Cuánto tiempo pierde tu equipo buscando en SharePoint?
Te enseñamos cómo funcionaría sobre una muestra de tu documentación, con tus permisos y dentro de tu entorno, y te damos plazo y presupuesto.
- 1 Nos dejas tus datos
- 2 Vemos una muestra de tu documentación
- 3 Te damos plazo y presupuesto
Cuéntanos tu caso en el formulario