Esquema del evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de finalización de la evaluación en UTC. |
| pipeline_version | Utf8 | Recuperador versionado, índice y configuración de avisos. |
| test_case_id | Utf8 | Identificador de caso de evaluación estable. |
| evaluation_run_id | Utf8 | Una ejecución de comparación compartida por las canalizaciones candidatas. |
| dataset_version | Utf8 | Versión fija del conjunto de datos de evaluación. |
| evaluator_version | Utf8 | Configuración versionada del evaluador, la rúbrica y los umbrales. |
| relevant_document_retrieved | Boolean | Resultado de relevancia de recuperación revisado. |
| answer_grounded | Boolean | Resultado de respuesta fundamentada revisado. |
| retrieval_latency_ms | Int64 | Latencia de la etapa de recuperación en milisegundos. |
| cost_usd | Float64 | Costo de evaluación estimado versionado en USD. |
| environment | Utf8 | Entorno de evaluación o producción. |
Copiar la consulta
WITH cases AS (
SELECT
pipeline_version,
test_case_id,
COUNT(*) AS records,
MAX(CASE WHEN relevant_document_retrieved THEN 1
WHEN relevant_document_retrieved = false THEN 0 END) AS retrieved,
MAX(CASE WHEN answer_grounded THEN 1
WHEN answer_grounded = false THEN 0 END) AS grounded,
MAX(retrieval_latency_ms) AS retrieval_latency_ms,
MAX(cost_usd) AS cost_usd
FROM rag_evaluation_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'evaluation'
AND evaluation_run_id = 'release-check-001'
AND dataset_version = 'faq-v1'
AND evaluator_version = 'grounding-rubric-v1'
AND pipeline_version IS NOT NULL AND pipeline_version <> ''
AND test_case_id IS NOT NULL AND test_case_id <> ''
GROUP BY pipeline_version, test_case_id
)
SELECT
pipeline_version,
SUM(CASE WHEN records = 1 THEN 1 ELSE 0 END) AS test_cases,
SUM(CASE WHEN records > 1 THEN 1 ELSE 0 END) AS conflicting_test_cases,
COUNT(CASE WHEN records = 1 THEN retrieved END) AS retrieval_reviewed_cases,
COUNT(CASE WHEN records = 1 THEN grounded END) AS grounding_reviewed_cases,
100.0 * SUM(CASE WHEN records = 1 THEN retrieved END)
/ NULLIF(COUNT(CASE WHEN records = 1 THEN retrieved END), 0) AS retrieval_relevance_pct,
100.0 * SUM(CASE WHEN records = 1 THEN grounded END)
/ NULLIF(COUNT(CASE WHEN records = 1 THEN grounded END), 0) AS grounded_answer_pct,
AVG(CASE WHEN records = 1 THEN retrieval_latency_ms END) AS avg_retrieval_latency_ms,
SUM(CASE WHEN records = 1 THEN cost_usd END) AS evaluation_cost_usd
FROM cases
GROUP BY pipeline_version
ORDER BY grounded_answer_pct DESC NULLS LAST,
retrieval_relevance_pct DESC NULLS LAST, pipeline_version;Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.
Resultado de la consulta
Tasa de respuestas fundamentadas por canalización
Las barras muestran solo las tasas de respuestas fundamentadas. La tabla indica por separado la relevancia de recuperación y el denominador de casos evaluados de cada tasa.
| pipeline_version | test_cases | conflicting_test_cases | retrieval_reviewed_cases | grounding_reviewed_cases | retrieval_relevance_pct | grounded_answer_pct | avg_retrieval_latency_ms | evaluation_cost_usd |
|---|---|---|---|---|---|---|---|---|
| rag-v2 | 4 | 0 | 4 | 4 | 75 | 75 | 95 | 0,05 |
| rag-v1 | 4 | 0 | 4 | 4 | 50 | 50 | 120 | 0,04 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descarga los datos de ejemplo
El paquete JSON incluye el contrato de evento escrito, reproducible filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.
Cómo funciona el SQL
- 1Sustituya los filtros de ejecución, conjunto de datos y evaluador por una comparación fija. Conserve las preguntas y respuestas en el sistema de evaluación.
- 2Solo se cuenta un registro final por canalización y caso. Los casos con registros en conflicto se muestran y se excluyen de las tasas, la latencia y el coste.
- 3Las evaluaciones nulas siguen siendo desconocidas. Cada tasa de calidad usa su propio denominador de casos evaluados; los casos ausentes requieren otra comparación con el conjunto de pruebas previsto.
- 4La versión de canalización debe identificar el recuperador, la instantánea del índice, el reclasificador y el mensaje de respuesta utilizados para la prueba.
- 5La relevancia de la recuperación y la fundamentación de la respuesta permanecen separadas porque un buen documento aún puede producir una respuesta sin fundamento.
- 6La latencia y el costo mantienen la comparación de calidad conectada a las limitaciones de producción.
Casos límite que debes comprobar
- Una ejecución debe usar la misma lista fija de casos y la misma configuración del evaluador en todas las canalizaciones. Distintas versiones del evaluador miden cosas distintas.
- El esquema rag_retrieval_evaluated enlazado usa un contrato distinto. Añade los campos indicados arriba antes de usar esta consulta. Su duration_ms mide el tiempo de extremo a extremo, no retrieval_latency_ms; retrieval_score necesita una rúbrica explícita de relevancia antes de convertirse en una evaluación booleana.
- Investigue conflicting_test_cases antes de decidir una publicación. Se excluyen los identificadores ausentes; que no haya filas de resultado no significa una tasa de fallos de cero.
- La latencia y el coste incluyen solo registros sin conflictos con esos valores presentes, no necesariamente toda la ejecución.
- Utilice los mismos casos de prueba versionados en todas las canalizaciones e informe los casos recién agregados o eliminados.
- Los calificadores humanos y basados en modelos necesitan rúbricas documentadas, calibración y revisión de desacuerdos.
- No almacene pasajes de fuentes privadas ni respuestas sin procesar en telemetría general de forma predeterminada.
Panel recomendado
- Gráfico de barras: grounded_answer_pct por canalización; relevancia de recuperación y recuentos evaluados en la tabla
- Tendencia: resultados de la evaluación a medida que cambia el conjunto de pruebas
- Tabla: latencia, costo, recuento de pruebas y versión del calificador
Guía de alerta
Utilice una puerta de lanzamiento de evaluación con un recuento mínimo de pruebas y una tolerancia de regresión revisada en lugar de una alerta de paginación de producción.
Leer configuración de alertaConfigura los eventos que necesita esta consulta
Instrumentación y guías relacionadas.
Definir los datos de origen
Esquemas de eventos para este análisis.
Continuar el análisis
Calcular el costo de LLM por característica y modelo
Atribuya el gasto del modelo, los tokens, el volumen de solicitudes y el costo por solicitud a las características del producto.
Receta abiertaMedir las producciones de IA aceptadas por dólar
Conecte el gasto modelo con resultados de productos aceptados, ahorrados o útiles.
Receta abiertaMedir el ahorro de caché de LLM y el costo de reintento
Compare las solicitudes almacenadas en caché, el volumen de reintentos y el gasto estimado por modelo para encontrar costos de IA evitables.
Receta abiertaEjecútalo con tus eventos
Crea una tabla, adapta los campos y guarda el resultado.
Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.