WeKnora: respuestas sustentadas, memoria acotada y operación consciente
Coste y rendimiento de WeKnora: ingesta, respuestas y mantenimiento de memoria
Planifica mediciones de modelos, colas y vectores sin convertir constantes del código en garantías de velocidad.
Qué aprenderás
- Mide trabajos con costes distintos
- La semántica añade cobertura y una dependencia
- Generar vectores y sincronizar columnas cuestan distinto
Antes de empezar
- Conceptos básicos de HTTP y contenedores
- Documentos, pasajes y proveedores de modelos
Separar ingesta, recuperación, respaldo y alcance de memoria para diseñar aceptación basada en evidencia.
Conclusiones clave
- Ingesta, respuesta y mantenimiento necesitan cuentas separadas.
- El timeout del embedding no limita toda la respuesta.
- Relleno de vectores y sincronización de columna son trabajos distintos.
Mide trabajos con costes distintos
La ingesta puede incluir parsing, fragmentación, embeddings y enriquecimiento; responder puede incluir reformulación, búsqueda, rerank y generación. Herramientas, Wiki y extracción de memoria añaden otros trabajos. Una sola cifra de latencia oculta dónde se consumieron los recursos.
Fija un corpus sintético y repite preguntas directas, paráfrasis y casos sin respuesta. Registra finalización del parsing, soporte recuperado, primera respuesta útil, final completo y uso real del proveedor. Esta serie no mide latencia, coste por respuesta ni throughput.
La semántica añade cobertura y una dependencia
El servicio vectorial limita a dos segundos la llamada de embedding de consulta y vuelve a coincidencia léxica si no está disponible. Es el límite de una dependencia en el código, no una garantía de respuesta completa en dos segundos. Colas, otras etapas y generación continúan consumiendo tiempo.
La memoria selecciona su propio modelo de embeddings en lugar de tomar silenciosamente el de alguna base. Identidad y dimensiones deben coincidir con los vectores guardados. Para investigar ausencias, registra modo de ranking, motivo de omisión y coincidencias fuera del conjunto, no solo que la opción semántica esté activada.
Generar vectores y sincronizar columnas cuestan distinto
El código limita el relleno de embeddings ausentes a 200 elementos por ejecución de mantenimiento. Ese trabajo llama al modelo y se detiene si falla la generación. Sincronizar vectores existentes a la columna consultable es otro trabajo, limitado a 2000 por ejecución y sin nueva llamada al modelo.
Ordenar en base puede evitar transferir todos los vectores a la aplicación; el fallback transfiere y puntúa un alcance limitado. No conviertas esa diferencia en un porcentaje inventado de aceleración. Compara antigüedad de pendientes y relevancia además de latencia: una respuesta rápida que omite la memoria necesaria no es equivalente.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Fija corpus y categorías de pregunta.
- 2
Mide etapas y uso real del proveedor.
- 3
Observa modo de recuperación y pendientes.
- 4
Compara calidad junto con velocidad.
Ejemplo para copiar
{
"planMedicion": true,
"ingestaMs": null,
"respuestaMs": null,
"costeProveedor": null,
"modoRanking": null,
"coincidenciasExternas": null,
"embeddingsAusentes": null,
"sincronizacionPendiente": null,
"benchmarkEjecutado": false
}Preguntas frecuentes
¿Los dos segundos limitan toda la respuesta?
No. Limitan la llamada de embeddings de consulta.
¿Sincronizar un vector existente exige generarlo otra vez?
La ruta inspeccionada mueve los datos existentes sin otra llamada al modelo.
Fuentes
- WeKnora / README.mdFuente verificada 2026-09-14
- WeKnora / internal/application/service/memory/vector.goFuente verificada 2026-09-14
- WeKnora / internal/application/repository/memory_vector.goFuente verificada 2026-09-14
- WeKnora / website-docs/03-features/23-memory.mdFuente verificada 2026-09-14