aidial-rag-eval 0.6.0.dev15__tar.gz → 0.6.0.dev16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/PKG-INFO +1 -1
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/pyproject.toml +1 -1
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/inference.py +40 -14
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/LICENSE +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/README.md +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataframe/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataframe/match_facts.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataframe/merge.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataframe/metrics.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataset.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/evaluate.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/citation.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/exact.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/match_str_facts.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/metric_binds.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/converters/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/converters/base_converter.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/converters/decontextualization_template.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/converters/llm_decontextualization_converter.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/inference_scorers/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/inference_scorers/base_inference_scorer.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/inference_scorers/inference_template.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/inference_scorers/llm_inference_scorer.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/lambdas.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/refusal_detectors/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/refusal_detectors/base_refusal_detector.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/refusal_detectors/llm_refusal_detector.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/refusal_detectors/refusal_template.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/statement_extractor/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/statement_extractor/base_statement_extractor.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/statement_extractor/llm_statement_extractor.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/models/statement_extractor/statement_extractor_template.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/refusal.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/types.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/utils/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/utils/exceptions.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/utils/progress_bar.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/utils/segmented_text.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/metric_binds.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/metrics.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/retrieval/__init__.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/retrieval/metrics.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/retrieval/types.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/types.py +0 -0
- {aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/utils.py +0 -0
|
@@ -440,6 +440,42 @@ def infer_statements(
|
|
|
440
440
|
)
|
|
441
441
|
|
|
442
442
|
|
|
443
|
+
def _aggregate_segment_inferences(
|
|
444
|
+
grouped_data_item: List[Tuple[InferenceInputs, InferenceScore]],
|
|
445
|
+
) -> Tuple[float, float, float]:
|
|
446
|
+
"""Returns (inference, min_possible_inference, max_possible_inference).
|
|
447
|
+
|
|
448
|
+
Four cases:
|
|
449
|
+
1. No errors, statements present: inference = weighted mean of segment inferences,
|
|
450
|
+
weighted by statement count.
|
|
451
|
+
2. No errors, 0 statements total: inference=0.0, min=0.0, max=0.0.
|
|
452
|
+
3. Pre-inference failure — decontextualization/statement extraction error:
|
|
453
|
+
inference=nan, min=0.0, max=1.0.
|
|
454
|
+
4. Inference-stage errors only: inference=nan, min/max derived by substituting 0/1 for
|
|
455
|
+
failed segments.
|
|
456
|
+
"""
|
|
457
|
+
if any(inputs.error is not None for inputs, _ in grouped_data_item):
|
|
458
|
+
return math.nan, 0.0, 1.0
|
|
459
|
+
total_statements = sum(len(inputs.statements) for inputs, _ in grouped_data_item)
|
|
460
|
+
if total_statements == 0:
|
|
461
|
+
return 0.0, 0.0, 0.0
|
|
462
|
+
inferences = np.array(
|
|
463
|
+
[score.inference for _, score in grouped_data_item], dtype=float
|
|
464
|
+
)
|
|
465
|
+
weights = np.array(
|
|
466
|
+
[float(len(inputs.statements)) for inputs, _ in grouped_data_item],
|
|
467
|
+
dtype=float,
|
|
468
|
+
)
|
|
469
|
+
inference = float(np.average(inferences, weights=weights))
|
|
470
|
+
min_possible = float(
|
|
471
|
+
np.average(np.nan_to_num(inferences, nan=0.0), weights=weights)
|
|
472
|
+
)
|
|
473
|
+
max_possible = float(
|
|
474
|
+
np.average(np.nan_to_num(inferences, nan=1.0), weights=weights)
|
|
475
|
+
)
|
|
476
|
+
return inference, min_possible, max_possible
|
|
477
|
+
|
|
478
|
+
|
|
443
479
|
def calculate_batch_inference(
|
|
444
480
|
premises: List[Premise],
|
|
445
481
|
hypotheses: List[Hypothesis],
|
|
@@ -518,24 +554,14 @@ def calculate_batch_inference(
|
|
|
518
554
|
inference_returns: List[InferenceReturn] = []
|
|
519
555
|
for hypothesis_index, grouped_data_item in enumerate(grouped_data_list):
|
|
520
556
|
segmented_text = segmented_hypotheses[hypothesis_index]
|
|
521
|
-
|
|
557
|
+
assert not isinstance(segmented_text, ErrorInfo)
|
|
558
|
+
mean_inference, min_possible_inference, max_possible_inference = (
|
|
559
|
+
_aggregate_segment_inferences(grouped_data_item)
|
|
560
|
+
)
|
|
522
561
|
errors = [
|
|
523
562
|
score.error.error_repr if score.error else None
|
|
524
563
|
for _, score in grouped_data_item
|
|
525
564
|
]
|
|
526
|
-
mean_inference = (
|
|
527
|
-
math.nan
|
|
528
|
-
if any(math.isnan(inference) for inference in inferences)
|
|
529
|
-
else float(np.mean(cast(List[float], inferences)))
|
|
530
|
-
)
|
|
531
|
-
# fill Nones with 0.0
|
|
532
|
-
min_possible_inference = float(
|
|
533
|
-
np.nan_to_num(np.array(inferences, dtype=float), nan=0.0).mean()
|
|
534
|
-
)
|
|
535
|
-
# fill Nones with 1.0
|
|
536
|
-
max_possible_inference = float(
|
|
537
|
-
np.nan_to_num(np.array(inferences, dtype=float), nan=1.0).mean()
|
|
538
|
-
)
|
|
539
565
|
inference_returns.append(
|
|
540
566
|
InferenceReturn(
|
|
541
567
|
inference=mean_inference,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataframe/merge.py
RENAMED
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/dataframe/metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/__init__.py
RENAMED
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/citation.py
RENAMED
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/facts/exact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/generation/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/metric_binds.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/retrieval/metrics.py
RENAMED
|
File without changes
|
{aidial_rag_eval-0.6.0.dev15 → aidial_rag_eval-0.6.0.dev16}/src/aidial_rag_eval/retrieval/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|