{"schema":"genairmy.vector-knowledge.v1","count":10,"topics":["consulta","fundamentos","ingesta","operacion","proveedores","seguridad"],"items":[{"id":"kba-vector-mental-model","title":"Qué es una Vector DB y qué problema resuelve","topic":"fundamentos","summary":"Modelo mental de embeddings, vecinos próximos y separación entre evidencia, metadatos y vectores.","language":"es","version":"1.0.0","body":"Una base vectorial almacena representaciones numéricas de contenidos y busca elementos cercanos según una métrica. No sustituye al sistema de registro: el vector sirve para recuperar candidatos; el documento original, su digest y su política siguen siendo la evidencia.\n\nEl flujo mínimo es documento → fragmentación → embedding → vector + metadatos → consulta → candidatos → verificación de fuente. En GEN-AIrmy, cada resultado debe conservar source_id, digest, versión, tenant y política. La similitud no demuestra verdad, autoridad ni actualidad.","sha256":"132e277290a15f940e1d801aa6d5f9528993f5a07c363ad206ee422b869fd69e"},{"id":"kba-embeddings-dimensions-metrics","title":"Embeddings, dimensiones y métricas","topic":"fundamentos","summary":"Cómo elegir modelo, dimensión y métrica sin mezclar espacios incompatibles.","language":"es","version":"1.0.0","body":"Todos los vectores de un índice deben compartir dimensión y modelo semántico. Cambiar de modelo exige un índice nuevo o una reindexación completa; mezclar embeddings de modelos diferentes produce distancias sin significado.\n\nPara texto, cosine suele ser una buena base. Guarda siempre embedding_model, dimension, metric y fecha de generación. Antes de insertar, valida la longitud exacta del vector y rechaza NaN, infinitos y dimensiones inesperadas.","sha256":"c4f9d285989bf8c8dad4e8f906f8fde5d6d5aac41058f5e5e8b6488154c89a93"},{"id":"kba-chunking-ingestion","title":"Chunking e ingesta reproducible","topic":"ingesta","summary":"Diseño de fragmentos, IDs estables y upsert idempotente.","language":"es","version":"1.0.0","body":"El chunking determina qué podrá recuperar el buscador. Usa límites semánticos cuando sea posible, solape pequeño y tamaños compatibles con el modelo de embeddings. Fragmentos demasiado grandes diluyen el significado; demasiado pequeños pierden contexto.\n\nConstruye IDs deterministas con source_digest + chunk_index + policy_digest. La ingesta debe ser idempotente: repetir el mismo contenido no crea duplicados. Registra un manifiesto con número de fragmentos, digests, modelo, dimensión y resultado de la mutación.","sha256":"3ed146fb9defc9d86ad8a246645331371f1a65392df87d84c8a8e0e0056d770d"},{"id":"kba-semantic-search","title":"Búsqueda semántica y lectura de scores","topic":"consulta","summary":"Cómo consultar, interpretar similitud y evitar tratar el score como una probabilidad.","language":"es","version":"1.0.0","body":"Una consulta se transforma con el mismo modelo de embeddings que la ingesta y se ejecuta con un topK acotado. El score ordena candidatos dentro del mismo índice; no es una probabilidad universal ni un umbral portable entre modelos.\n\nEvalúa con preguntas reales y un conjunto esperado de fuentes. Mide recall@k, precisión, latencia y fallos de autorización. Devuelve siempre la fuente y el digest junto al score para que el consumidor pueda verificar el contenido original.","sha256":"bb55583d9b187ef4aa8853e8b33f81e333707f1a0409a1ae5021c0f9db0cc845"},{"id":"kba-metadata-filtering","title":"Metadatos, filtros y búsqueda híbrida","topic":"consulta","summary":"Uso de filtros antes de la similitud y combinación con búsqueda léxica.","language":"es","version":"1.0.0","body":"Los metadatos limitan el universo antes de ordenar por similitud. Campos útiles: tenant, proyecto, idioma, tipo de documento, clasificación, vigencia, política y versión. Indexa sólo campos necesarios y evita guardar secretos en metadatos.\n\nLa búsqueda híbrida combina señales semánticas y léxicas. Es útil para identificadores exactos, nombres de controles y referencias normativas. La fusión debe ser determinista y medible; no ocultes qué señal produjo cada resultado.","sha256":"5a7f27d74c0b6341553c3f643ab8e90ea53a2db9630e79f130a690e6bb414ceb"},{"id":"kba-multitenancy-authorization","title":"Multi-tenancy, AuthN, AuthZ y AuthH","topic":"seguridad","summary":"Separación de tenants, políticas y autoridad humana en una plataforma vectorial.","language":"es","version":"1.0.0","body":"La identidad autenticada no equivale a autorización, y una cuenta de servicio nunca importa autoridad humana. Cada operación debe vincular principal, tenant, proyecto, herramienta, objetivo, política, nonce y expiración.\n\nFiltra por tenant y autorización antes de devolver contenido. Los resultados denegados no deben aparecer ni como IDs, scores o conteos. AuthH sólo gobierna efectos protegidos; una búsqueda de solo lectura puede ser máquina-autorizada dentro de una capacidad acotada, pero una promoción, borrado o publicación requiere decisión humana exacta.","sha256":"e168aabb99f363d4b94a27fbe88e8339a0ce43e754ce18558c1c7287aaadb2a9"},{"id":"kba-observability-slo","title":"Observabilidad y SLO de una Vector DB","topic":"operacion","summary":"Métricas mínimas para disponibilidad, rendimiento, calidad y deriva.","language":"es","version":"1.0.0","body":"Separa salud de proceso, readiness de dependencias y calidad de recuperación. Mide latencia p50/p95/p99, errores por operación, QPS, tamaño del índice, mutaciones pendientes, memoria, uso de almacenamiento y tiempo de recuperación.\n\nAñade métricas de producto: consultas sin resultados, score del primer candidato, recall de un canario fijo, documentos huérfanos y deriva entre catálogo lógico e índice físico. Un HTTP 200 no prueba que el índice sea correcto.","sha256":"a3927bbf4e4731a509cb77ab0cb74d6b11827f72db0ee857cc26116eb702e1b7"},{"id":"kba-backup-restore","title":"Backup, restauración y reconstrucción","topic":"operacion","summary":"Qué respaldar y cómo demostrar que una copia se puede restaurar.","language":"es","version":"1.0.0","body":"Un backup no es válido hasta restaurarlo y verificarlo. Conserva manifiestos, metadatos, políticas, fuentes originales y configuración del modelo; los vectores pueden reconstruirse si las fuentes, el modelo exacto y sus pines siguen disponibles.\n\nPrueba restauración en aislamiento, compara recuentos y digests, ejecuta consultas canario y confirma cero residuos. Mantén al menos una copia fuera del mismo disco o proveedor. La copia local sirve para consistencia, no para desastre del soporte físico.","sha256":"d880768d164319b2cde15ab51d1ee97ba3ab6f976c8ed2f8f30110612081016e"},{"id":"kba-tessera-ermya-lineage","title":"Tessera/Ermya: linaje y límites actuales","topic":"proveedores","summary":"Cómo tratar el backend histórico sin confundir documentación, imagen local y producto admitido.","language":"es","version":"1.0.0","body":"GEN-AIrmy conserva un linaje Tessera RC7 con lectura autenticada y búsqueda vectorial probadas. La marca del proveedor pasó a Ermya y sus artefactos actuales no están públicamente resolubles desde el entorno verificado; por tanto, ese backend queda como adaptador futuro, no como dependencia del servicio público.\n\nNo reinserte silenciosamente IDs históricos ni repare HNSW sin un manifiesto exacto. Mantén el adaptador de lectura fail-closed, fija imagen y proto por digest cuando el proveedor los publique, y repite backup, restore, AuthZ, TLS y canarios antes de promoverlo.","sha256":"ed99b727408651dcea296a672a48a73551c1807991a702b5011e5bcd4e0c4c64"},{"id":"kba-cloudflare-vectorize","title":"Operar el backend Cloudflare Vectorize","topic":"proveedores","summary":"Contrato operativo del backend inicial de GEN-AIrmy Vector Knowledge Service.","language":"es","version":"1.0.0","body":"El backend inicial usa un índice de 1024 dimensiones con métrica cosine y embeddings multilingües BGE-M3. La API pública sólo lista KBAs y ejecuta búsqueda; upsert queda detrás de un secreto de bootstrap y el código fuente versionado.\n\nCada despliegue debe registrar cuenta, índice, Worker, ruta, commit y digests. Limita tamaño de consulta y topK, no devuelve valores vectoriales y no registra texto de consulta. La portabilidad se conserva porque el contrato HTTP y las KBAs son proveedor-neutrales.","sha256":"bfeed509b65437629b1d7bb2931f8c9f6f1b3c4a43c062084c133b13e20a3de3"}]}