judgeval 0.2.9 → 0.3.0
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.
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -0
- package/dist/data/example-params.d.ts +13 -0
- package/dist/data/example-params.d.ts.map +1 -0
- package/dist/data/example-params.js +12 -0
- package/dist/data/example-params.js.map +1 -0
- package/dist/data/example.d.ts +4 -0
- package/dist/data/example.d.ts.map +1 -0
- package/dist/data/example.js +10 -0
- package/dist/data/example.js.map +1 -0
- package/dist/data/index.d.ts +3 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +3 -0
- package/dist/data/index.js.map +1 -0
- package/dist/env.d.ts +6 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +13 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/internal/api/index.d.ts +23 -0
- package/dist/internal/api/index.d.ts.map +1 -0
- package/dist/internal/api/index.js +132 -0
- package/dist/internal/api/index.js.map +1 -0
- package/dist/internal/api/models/BaseScorer.d.ts +23 -0
- package/dist/internal/api/models/BaseScorer.d.ts.map +1 -0
- package/dist/internal/api/models/BaseScorer.js +6 -0
- package/dist/internal/api/models/BaseScorer.js.map +1 -0
- package/dist/internal/api/models/EvalResults.d.ts +12 -0
- package/dist/internal/api/models/EvalResults.d.ts.map +1 -0
- package/dist/internal/api/models/EvalResults.js +6 -0
- package/dist/internal/api/models/EvalResults.js.map +1 -0
- package/dist/internal/api/models/EvalResultsFetch.d.ts +9 -0
- package/dist/internal/api/models/EvalResultsFetch.d.ts.map +1 -0
- package/dist/internal/api/models/EvalResultsFetch.js +6 -0
- package/dist/internal/api/models/EvalResultsFetch.js.map +1 -0
- package/dist/internal/api/models/Example.d.ts +10 -0
- package/dist/internal/api/models/Example.d.ts.map +1 -0
- package/dist/internal/api/models/Example.js +6 -0
- package/dist/internal/api/models/Example.js.map +1 -0
- package/dist/internal/api/models/ExampleEvaluationRun.d.ts +20 -0
- package/dist/internal/api/models/ExampleEvaluationRun.d.ts.map +1 -0
- package/dist/internal/api/models/ExampleEvaluationRun.js +6 -0
- package/dist/internal/api/models/ExampleEvaluationRun.js.map +1 -0
- package/dist/internal/api/models/FetchPromptScorersRequest.d.ts +8 -0
- package/dist/internal/api/models/FetchPromptScorersRequest.d.ts.map +1 -0
- package/dist/internal/api/models/FetchPromptScorersRequest.js +6 -0
- package/dist/internal/api/models/FetchPromptScorersRequest.js.map +1 -0
- package/dist/internal/api/models/FetchPromptScorersResponse.d.ts +9 -0
- package/dist/internal/api/models/FetchPromptScorersResponse.d.ts.map +1 -0
- package/dist/internal/api/models/FetchPromptScorersResponse.js +6 -0
- package/dist/internal/api/models/FetchPromptScorersResponse.js.map +1 -0
- package/dist/internal/api/models/OtelTraceSpan.d.ts +33 -0
- package/dist/internal/api/models/OtelTraceSpan.d.ts.map +1 -0
- package/dist/internal/api/models/OtelTraceSpan.js +6 -0
- package/dist/internal/api/models/OtelTraceSpan.js.map +1 -0
- package/dist/internal/api/models/PromptScorer.d.ts +14 -0
- package/dist/internal/api/models/PromptScorer.d.ts.map +1 -0
- package/dist/internal/api/models/PromptScorer.js +6 -0
- package/dist/internal/api/models/PromptScorer.js.map +1 -0
- package/dist/internal/api/models/ResolveProjectNameRequest.d.ts +8 -0
- package/dist/internal/api/models/ResolveProjectNameRequest.d.ts.map +1 -0
- package/dist/internal/api/models/ResolveProjectNameRequest.js +6 -0
- package/dist/internal/api/models/ResolveProjectNameRequest.js.map +1 -0
- package/dist/internal/api/models/ResolveProjectNameResponse.d.ts +8 -0
- package/dist/internal/api/models/ResolveProjectNameResponse.d.ts.map +1 -0
- package/dist/internal/api/models/ResolveProjectNameResponse.js +6 -0
- package/dist/internal/api/models/ResolveProjectNameResponse.js.map +1 -0
- package/dist/internal/api/models/SavePromptScorerRequest.d.ts +12 -0
- package/dist/internal/api/models/SavePromptScorerRequest.d.ts.map +1 -0
- package/dist/internal/api/models/SavePromptScorerRequest.js +6 -0
- package/dist/internal/api/models/SavePromptScorerRequest.js.map +1 -0
- package/dist/internal/api/models/SavePromptScorerResponse.d.ts +9 -0
- package/dist/internal/api/models/SavePromptScorerResponse.d.ts.map +1 -0
- package/dist/internal/api/models/SavePromptScorerResponse.js +6 -0
- package/dist/internal/api/models/SavePromptScorerResponse.js.map +1 -0
- package/dist/internal/api/models/ScorerConfig.d.ts +13 -0
- package/dist/internal/api/models/ScorerConfig.d.ts.map +1 -0
- package/dist/internal/api/models/ScorerConfig.js +6 -0
- package/dist/internal/api/models/ScorerConfig.js.map +1 -0
- package/dist/internal/api/models/ScorerData.d.ts +17 -0
- package/dist/internal/api/models/ScorerData.d.ts.map +1 -0
- package/dist/internal/api/models/ScorerData.js +6 -0
- package/dist/internal/api/models/ScorerData.js.map +1 -0
- package/dist/internal/api/models/ScorerExistsRequest.d.ts +8 -0
- package/dist/internal/api/models/ScorerExistsRequest.d.ts.map +1 -0
- package/dist/internal/api/models/ScorerExistsRequest.js +6 -0
- package/dist/internal/api/models/ScorerExistsRequest.js.map +1 -0
- package/dist/internal/api/models/ScorerExistsResponse.d.ts +8 -0
- package/dist/internal/api/models/ScorerExistsResponse.d.ts.map +1 -0
- package/dist/internal/api/models/ScorerExistsResponse.js +6 -0
- package/dist/internal/api/models/ScorerExistsResponse.js.map +1 -0
- package/dist/internal/api/models/ScoringResult.d.ts +17 -0
- package/dist/internal/api/models/ScoringResult.d.ts.map +1 -0
- package/dist/internal/api/models/ScoringResult.js +6 -0
- package/dist/internal/api/models/ScoringResult.js.map +1 -0
- package/dist/internal/api/models/TraceEvaluationRun.d.ts +18 -0
- package/dist/internal/api/models/TraceEvaluationRun.d.ts.map +1 -0
- package/dist/internal/api/models/TraceEvaluationRun.js +6 -0
- package/dist/internal/api/models/TraceEvaluationRun.js.map +1 -0
- package/dist/internal/api/models.d.ts +24 -0
- package/dist/internal/api/models.d.ts.map +1 -0
- package/dist/internal/api/models.js +24 -0
- package/dist/internal/api/models.js.map +1 -0
- package/dist/scorers/api-scorer.d.ts +23 -0
- package/dist/scorers/api-scorer.d.ts.map +1 -0
- package/dist/scorers/api-scorer.js +36 -0
- package/dist/scorers/api-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/answer-correctness-scorer.d.ts +11 -0
- package/dist/scorers/api_scorers/answer-correctness-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/answer-correctness-scorer.js +20 -0
- package/dist/scorers/api_scorers/answer-correctness-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/answer-relevancy-scorer.d.ts +11 -0
- package/dist/scorers/api_scorers/answer-relevancy-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/answer-relevancy-scorer.js +19 -0
- package/dist/scorers/api_scorers/answer-relevancy-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/faithfulness-scorer.d.ts +11 -0
- package/dist/scorers/api_scorers/faithfulness-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/faithfulness-scorer.js +20 -0
- package/dist/scorers/api_scorers/faithfulness-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/index.d.ts +2 -0
- package/dist/scorers/api_scorers/index.d.ts.map +1 -0
- package/dist/scorers/api_scorers/index.js +2 -0
- package/dist/scorers/api_scorers/index.js.map +1 -0
- package/dist/scorers/api_scorers/instruction-adherence-scorer.d.ts +11 -0
- package/dist/scorers/api_scorers/instruction-adherence-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/instruction-adherence-scorer.js +20 -0
- package/dist/scorers/api_scorers/instruction-adherence-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.d.ts +48 -0
- package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.js +133 -0
- package/dist/scorers/api_scorers/prompt_scorer/base-prompt-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/index.d.ts +5 -0
- package/dist/scorers/api_scorers/prompt_scorer/index.d.ts.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/index.js +5 -0
- package/dist/scorers/api_scorers/prompt_scorer/index.js.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.d.ts +14 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.d.ts.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.js +44 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer-utils.js.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.d.ts +7 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.js +9 -0
- package/dist/scorers/api_scorers/prompt_scorer/prompt-scorer.js.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.d.ts +6 -0
- package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.d.ts.map +1 -0
- package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.js +8 -0
- package/dist/scorers/api_scorers/prompt_scorer/trace-prompt-scorer.js.map +1 -0
- package/dist/scorers/base-scorer.d.ts +10 -0
- package/dist/scorers/base-scorer.d.ts.map +1 -0
- package/dist/scorers/base-scorer.js +41 -0
- package/dist/scorers/base-scorer.js.map +1 -0
- package/dist/scorers/index.d.ts +4 -0
- package/dist/scorers/index.d.ts.map +1 -0
- package/dist/scorers/index.js +4 -0
- package/dist/scorers/index.js.map +1 -0
- package/dist/tracer/OpenTelemetryKeys.d.ts +12 -0
- package/dist/tracer/OpenTelemetryKeys.d.ts.map +1 -0
- package/dist/tracer/OpenTelemetryKeys.js +12 -0
- package/dist/tracer/OpenTelemetryKeys.js.map +1 -0
- package/dist/tracer/Tracer.d.ts +47 -0
- package/dist/tracer/Tracer.d.ts.map +1 -0
- package/dist/tracer/Tracer.js +235 -0
- package/dist/tracer/Tracer.js.map +1 -0
- package/dist/tracer/TracerConfiguration.d.ts +71 -0
- package/dist/tracer/TracerConfiguration.d.ts.map +1 -0
- package/dist/tracer/TracerConfiguration.js +111 -0
- package/dist/tracer/TracerConfiguration.js.map +1 -0
- package/dist/tracer/exporters/JudgmentSpanExporter.d.ts +36 -0
- package/dist/tracer/exporters/JudgmentSpanExporter.d.ts.map +1 -0
- package/dist/tracer/exporters/JudgmentSpanExporter.js +72 -0
- package/dist/tracer/exporters/JudgmentSpanExporter.js.map +1 -0
- package/dist/tracer/exporters/NoOpSpanExporter.d.ts +12 -0
- package/dist/tracer/exporters/NoOpSpanExporter.d.ts.map +1 -0
- package/dist/tracer/exporters/NoOpSpanExporter.js +16 -0
- package/dist/tracer/exporters/NoOpSpanExporter.js.map +1 -0
- package/dist/tracer/exporters/index.d.ts +3 -0
- package/dist/tracer/exporters/index.d.ts.map +1 -0
- package/dist/tracer/exporters/index.js +3 -0
- package/dist/tracer/exporters/index.js.map +1 -0
- package/dist/tracer/index.d.ts +5 -0
- package/dist/tracer/index.d.ts.map +1 -0
- package/dist/tracer/index.js +5 -0
- package/dist/tracer/index.js.map +1 -0
- package/dist/umd.d.ts +2 -0
- package/dist/umd.d.ts.map +1 -0
- package/dist/umd.js +2 -0
- package/dist/umd.js.map +1 -0
- package/dist/utils/annotate.d.ts +2 -0
- package/dist/utils/annotate.d.ts.map +1 -0
- package/dist/utils/annotate.js +27 -0
- package/dist/utils/annotate.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +27 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +70 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/types.d.ts +4 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/validation.d.ts +11 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +16 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +57 -108
- package/LICENSE.md +0 -202
- package/README.md +0 -372
- package/dist/cjs/clients.js +0 -78
- package/dist/cjs/clients.js.map +0 -1
- package/dist/cjs/common/integrations/langgraph.js +0 -471
- package/dist/cjs/common/integrations/langgraph.js.map +0 -1
- package/dist/cjs/common/logger-instance.js +0 -64
- package/dist/cjs/common/logger-instance.js.map +0 -1
- package/dist/cjs/common/logger.js +0 -225
- package/dist/cjs/common/logger.js.map +0 -1
- package/dist/cjs/common/token-costs.js +0 -95
- package/dist/cjs/common/token-costs.js.map +0 -1
- package/dist/cjs/common/tracer.js +0 -1099
- package/dist/cjs/common/tracer.js.map +0 -1
- package/dist/cjs/constants.js +0 -347
- package/dist/cjs/constants.js.map +0 -1
- package/dist/cjs/data/datasets/eval-dataset-client.js +0 -394
- package/dist/cjs/data/datasets/eval-dataset-client.js.map +0 -1
- package/dist/cjs/data/datasets/eval-dataset.js +0 -405
- package/dist/cjs/data/datasets/eval-dataset.js.map +0 -1
- package/dist/cjs/data/example.js +0 -159
- package/dist/cjs/data/example.js.map +0 -1
- package/dist/cjs/data/result.js +0 -83
- package/dist/cjs/data/result.js.map +0 -1
- package/dist/cjs/e2etests/eval-operations.test.js +0 -282
- package/dist/cjs/e2etests/eval-operations.test.js.map +0 -1
- package/dist/cjs/e2etests/judgee-traces.test.js +0 -278
- package/dist/cjs/e2etests/judgee-traces.test.js.map +0 -1
- package/dist/cjs/evaluation-run.js +0 -136
- package/dist/cjs/evaluation-run.js.map +0 -1
- package/dist/cjs/exporters/otel-exporter.js +0 -352
- package/dist/cjs/exporters/otel-exporter.js.map +0 -1
- package/dist/cjs/index.js +0 -78
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/judges/index.js +0 -237
- package/dist/cjs/judges/index.js.map +0 -1
- package/dist/cjs/judgment-client.js +0 -798
- package/dist/cjs/judgment-client.js.map +0 -1
- package/dist/cjs/rules.js +0 -322
- package/dist/cjs/rules.js.map +0 -1
- package/dist/cjs/run-evaluation.js +0 -700
- package/dist/cjs/run-evaluation.js.map +0 -1
- package/dist/cjs/scorers/api-scorer.js +0 -304
- package/dist/cjs/scorers/api-scorer.js.map +0 -1
- package/dist/cjs/scorers/base-scorer.js +0 -293
- package/dist/cjs/scorers/base-scorer.js.map +0 -1
- package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js +0 -562
- package/dist/cjs/scorers/metrics/answer-correctness/answer-correctness.js.map +0 -1
- package/dist/cjs/scorers/metrics/answer-correctness/index.js +0 -19
- package/dist/cjs/scorers/metrics/answer-correctness/index.js.map +0 -1
- package/dist/cjs/scorers/metrics/answer-correctness/prompts.js +0 -175
- package/dist/cjs/scorers/metrics/answer-correctness/prompts.js.map +0 -1
- package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js +0 -514
- package/dist/cjs/scorers/metrics/answer-relevancy/answer-relevancy.js.map +0 -1
- package/dist/cjs/scorers/metrics/answer-relevancy/index.js +0 -19
- package/dist/cjs/scorers/metrics/answer-relevancy/index.js.map +0 -1
- package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js +0 -179
- package/dist/cjs/scorers/metrics/answer-relevancy/prompts.js.map +0 -1
- package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js +0 -512
- package/dist/cjs/scorers/metrics/faithfulness/faithfulness.js.map +0 -1
- package/dist/cjs/scorers/metrics/faithfulness/index.js +0 -19
- package/dist/cjs/scorers/metrics/faithfulness/index.js.map +0 -1
- package/dist/cjs/scorers/metrics/faithfulness/prompts.js +0 -232
- package/dist/cjs/scorers/metrics/faithfulness/prompts.js.map +0 -1
- package/dist/cjs/scorers/metrics/hallucination/hallucination.js +0 -386
- package/dist/cjs/scorers/metrics/hallucination/hallucination.js.map +0 -1
- package/dist/cjs/scorers/metrics/hallucination/index.js +0 -11
- package/dist/cjs/scorers/metrics/hallucination/index.js.map +0 -1
- package/dist/cjs/scorers/metrics/hallucination/prompts.js +0 -106
- package/dist/cjs/scorers/metrics/hallucination/prompts.js.map +0 -1
- package/dist/cjs/scorers/metrics/instruction-adherence/index.js +0 -19
- package/dist/cjs/scorers/metrics/instruction-adherence/index.js.map +0 -1
- package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js +0 -378
- package/dist/cjs/scorers/metrics/instruction-adherence/instruction-adherence.js.map +0 -1
- package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js +0 -124
- package/dist/cjs/scorers/metrics/instruction-adherence/prompts.js.map +0 -1
- package/dist/esm/clients.js +0 -47
- package/dist/esm/clients.js.map +0 -1
- package/dist/esm/common/integrations/langgraph.js +0 -444
- package/dist/esm/common/integrations/langgraph.js.map +0 -1
- package/dist/esm/common/logger-instance.js +0 -59
- package/dist/esm/common/logger-instance.js.map +0 -1
- package/dist/esm/common/logger.js +0 -208
- package/dist/esm/common/logger.js.map +0 -1
- package/dist/esm/common/token-costs.js +0 -91
- package/dist/esm/common/token-costs.js.map +0 -1
- package/dist/esm/common/tracer.js +0 -1093
- package/dist/esm/common/tracer.js.map +0 -1
- package/dist/esm/constants.js +0 -341
- package/dist/esm/constants.js.map +0 -1
- package/dist/esm/data/datasets/eval-dataset-client.js +0 -387
- package/dist/esm/data/datasets/eval-dataset-client.js.map +0 -1
- package/dist/esm/data/datasets/eval-dataset.js +0 -375
- package/dist/esm/data/datasets/eval-dataset.js.map +0 -1
- package/dist/esm/data/example.js +0 -154
- package/dist/esm/data/example.js.map +0 -1
- package/dist/esm/data/result.js +0 -78
- package/dist/esm/data/result.js.map +0 -1
- package/dist/esm/e2etests/eval-operations.test.js +0 -254
- package/dist/esm/e2etests/eval-operations.test.js.map +0 -1
- package/dist/esm/e2etests/judgee-traces.test.js +0 -253
- package/dist/esm/e2etests/judgee-traces.test.js.map +0 -1
- package/dist/esm/evaluation-run.js +0 -132
- package/dist/esm/evaluation-run.js.map +0 -1
- package/dist/esm/exporters/otel-exporter.js +0 -348
- package/dist/esm/exporters/otel-exporter.js.map +0 -1
- package/dist/esm/index.js +0 -20
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/judges/index.js +0 -205
- package/dist/esm/judges/index.js.map +0 -1
- package/dist/esm/judgment-client.js +0 -768
- package/dist/esm/judgment-client.js.map +0 -1
- package/dist/esm/rules.js +0 -314
- package/dist/esm/rules.js.map +0 -1
- package/dist/esm/run-evaluation.js +0 -681
- package/dist/esm/run-evaluation.js.map +0 -1
- package/dist/esm/scorers/api-scorer.js +0 -286
- package/dist/esm/scorers/api-scorer.js.map +0 -1
- package/dist/esm/scorers/base-scorer.js +0 -287
- package/dist/esm/scorers/base-scorer.js.map +0 -1
- package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js +0 -558
- package/dist/esm/scorers/metrics/answer-correctness/answer-correctness.js.map +0 -1
- package/dist/esm/scorers/metrics/answer-correctness/index.js +0 -3
- package/dist/esm/scorers/metrics/answer-correctness/index.js.map +0 -1
- package/dist/esm/scorers/metrics/answer-correctness/prompts.js +0 -171
- package/dist/esm/scorers/metrics/answer-correctness/prompts.js.map +0 -1
- package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js +0 -510
- package/dist/esm/scorers/metrics/answer-relevancy/answer-relevancy.js.map +0 -1
- package/dist/esm/scorers/metrics/answer-relevancy/index.js +0 -3
- package/dist/esm/scorers/metrics/answer-relevancy/index.js.map +0 -1
- package/dist/esm/scorers/metrics/answer-relevancy/prompts.js +0 -175
- package/dist/esm/scorers/metrics/answer-relevancy/prompts.js.map +0 -1
- package/dist/esm/scorers/metrics/faithfulness/faithfulness.js +0 -508
- package/dist/esm/scorers/metrics/faithfulness/faithfulness.js.map +0 -1
- package/dist/esm/scorers/metrics/faithfulness/index.js +0 -3
- package/dist/esm/scorers/metrics/faithfulness/index.js.map +0 -1
- package/dist/esm/scorers/metrics/faithfulness/prompts.js +0 -228
- package/dist/esm/scorers/metrics/faithfulness/prompts.js.map +0 -1
- package/dist/esm/scorers/metrics/hallucination/hallucination.js +0 -382
- package/dist/esm/scorers/metrics/hallucination/hallucination.js.map +0 -1
- package/dist/esm/scorers/metrics/hallucination/index.js +0 -3
- package/dist/esm/scorers/metrics/hallucination/index.js.map +0 -1
- package/dist/esm/scorers/metrics/hallucination/prompts.js +0 -102
- package/dist/esm/scorers/metrics/hallucination/prompts.js.map +0 -1
- package/dist/esm/scorers/metrics/instruction-adherence/index.js +0 -3
- package/dist/esm/scorers/metrics/instruction-adherence/index.js.map +0 -1
- package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js +0 -374
- package/dist/esm/scorers/metrics/instruction-adherence/instruction-adherence.js.map +0 -1
- package/dist/esm/scorers/metrics/instruction-adherence/prompts.js +0 -120
- package/dist/esm/scorers/metrics/instruction-adherence/prompts.js.map +0 -1
- package/dist/types/clients.d.ts +0 -6
- package/dist/types/common/integrations/langgraph.d.ts +0 -39
- package/dist/types/common/logger-instance.d.ts +0 -3
- package/dist/types/common/logger.d.ts +0 -54
- package/dist/types/common/token-costs.d.ts +0 -36
- package/dist/types/common/tracer.d.ts +0 -249
- package/dist/types/constants.d.ts +0 -51
- package/dist/types/data/datasets/eval-dataset-client.d.ts +0 -44
- package/dist/types/data/datasets/eval-dataset.d.ts +0 -45
- package/dist/types/data/example.d.ts +0 -82
- package/dist/types/data/result.d.ts +0 -51
- package/dist/types/e2etests/eval-operations.test.d.ts +0 -5
- package/dist/types/e2etests/judgee-traces.test.d.ts +0 -5
- package/dist/types/evaluation-run.d.ts +0 -44
- package/dist/types/exporters/otel-exporter.d.ts +0 -16
- package/dist/types/index.d.ts +0 -11
- package/dist/types/judges/index.d.ts +0 -50
- package/dist/types/judgment-client.d.ts +0 -149
- package/dist/types/rules.d.ts +0 -120
- package/dist/types/run-evaluation.d.ts +0 -78
- package/dist/types/scorers/api-scorer.d.ts +0 -84
- package/dist/types/scorers/base-scorer.d.ts +0 -162
- package/dist/types/scorers/metrics/answer-correctness/answer-correctness.d.ts +0 -80
- package/dist/types/scorers/metrics/answer-correctness/index.d.ts +0 -2
- package/dist/types/scorers/metrics/answer-correctness/prompts.d.ts +0 -71
- package/dist/types/scorers/metrics/answer-relevancy/answer-relevancy.d.ts +0 -74
- package/dist/types/scorers/metrics/answer-relevancy/index.d.ts +0 -2
- package/dist/types/scorers/metrics/answer-relevancy/prompts.d.ts +0 -71
- package/dist/types/scorers/metrics/faithfulness/faithfulness.d.ts +0 -73
- package/dist/types/scorers/metrics/faithfulness/index.d.ts +0 -2
- package/dist/types/scorers/metrics/faithfulness/prompts.d.ts +0 -94
- package/dist/types/scorers/metrics/hallucination/hallucination.d.ts +0 -63
- package/dist/types/scorers/metrics/hallucination/index.d.ts +0 -3
- package/dist/types/scorers/metrics/hallucination/prompts.d.ts +0 -63
- package/dist/types/scorers/metrics/instruction-adherence/index.d.ts +0 -2
- package/dist/types/scorers/metrics/instruction-adherence/instruction-adherence.d.ts +0 -63
- package/dist/types/scorers/metrics/instruction-adherence/prompts.d.ts +0 -78
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Example } from './data/example.js';
|
|
2
|
-
import { APIJudgmentScorer, JudgevalScorer } from './scorers/base-scorer.js';
|
|
3
|
-
import { ACCEPTABLE_MODELS } from './constants.js';
|
|
4
|
-
export class EvaluationRun {
|
|
5
|
-
constructor(options) {
|
|
6
|
-
this.logResults = options.logResults || false;
|
|
7
|
-
this.organizationId = options.organizationId;
|
|
8
|
-
this.projectName = options.projectName;
|
|
9
|
-
this.evalName = options.evalName;
|
|
10
|
-
this.examples = options.examples;
|
|
11
|
-
this.scorers = options.scorers;
|
|
12
|
-
this.model = options.model;
|
|
13
|
-
this.aggregator = options.aggregator;
|
|
14
|
-
this.metadata = options.metadata;
|
|
15
|
-
this.judgmentApiKey = options.judgmentApiKey || '';
|
|
16
|
-
this.override = options.override || false;
|
|
17
|
-
this.rules = options.rules;
|
|
18
|
-
// Validate
|
|
19
|
-
this.validate();
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Validate the evaluation run configuration
|
|
23
|
-
*/
|
|
24
|
-
validate() {
|
|
25
|
-
// Validate log_results
|
|
26
|
-
if (typeof this.logResults !== 'boolean') {
|
|
27
|
-
throw new Error(`logResults must be a boolean. Received ${this.logResults} of type ${typeof this.logResults}`);
|
|
28
|
-
}
|
|
29
|
-
// Validate project_name
|
|
30
|
-
if (this.logResults && !this.projectName) {
|
|
31
|
-
throw new Error('Project name is required when logResults is true. Please include the projectName argument.');
|
|
32
|
-
}
|
|
33
|
-
// Validate eval_name
|
|
34
|
-
if (this.logResults && !this.evalName) {
|
|
35
|
-
throw new Error('Eval name is required when logResults is true. Please include the evalName argument.');
|
|
36
|
-
}
|
|
37
|
-
// Validate examples
|
|
38
|
-
if (!this.examples || this.examples.length === 0) {
|
|
39
|
-
throw new Error('Examples cannot be empty.');
|
|
40
|
-
}
|
|
41
|
-
for (const example of this.examples) {
|
|
42
|
-
if (!(example instanceof Example)) {
|
|
43
|
-
throw new Error(`Invalid type for Example: ${typeof example}`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Validate scorers
|
|
47
|
-
if (!this.scorers || this.scorers.length === 0) {
|
|
48
|
-
throw new Error('Scorers cannot be empty.');
|
|
49
|
-
}
|
|
50
|
-
for (const scorer of this.scorers) {
|
|
51
|
-
if (!(scorer instanceof APIJudgmentScorer) && !(scorer instanceof JudgevalScorer)) {
|
|
52
|
-
throw new Error(`Invalid type for Scorer: ${typeof scorer}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// Validate model
|
|
56
|
-
if (!this.model) {
|
|
57
|
-
throw new Error('Model cannot be empty.');
|
|
58
|
-
}
|
|
59
|
-
// Check if model is a JudgevalJudge (would be implemented separately)
|
|
60
|
-
if (typeof this.model === 'object' && this.model !== null && !Array.isArray(this.model)) {
|
|
61
|
-
// Verify all scorers are JudgevalScorer when using JudgevalJudge
|
|
62
|
-
if (!this.scorers.every(s => s instanceof JudgevalScorer)) {
|
|
63
|
-
throw new Error('When using a JudgevalJudge model, all scorers must be JudgevalScorer type');
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else if (typeof this.model === 'string') {
|
|
67
|
-
// Check if model is a string
|
|
68
|
-
if (!ACCEPTABLE_MODELS.has(this.model)) {
|
|
69
|
-
throw new Error(`Model name ${this.model} not recognized. Please select a valid model name.`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else if (Array.isArray(this.model)) {
|
|
73
|
-
// Check if model is an array of strings
|
|
74
|
-
if (!this.model.every(m => typeof m === 'string')) {
|
|
75
|
-
throw new Error('When providing a list of models, all elements must be strings');
|
|
76
|
-
}
|
|
77
|
-
for (const m of this.model) {
|
|
78
|
-
if (!ACCEPTABLE_MODELS.has(m)) {
|
|
79
|
-
throw new Error(`Model name ${m} not recognized. Please select a valid model name.`);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
throw new Error(`Model must be one of: string, list of strings, or JudgevalJudge instance. Received type ${typeof this.model}.`);
|
|
85
|
-
}
|
|
86
|
-
// Validate aggregator
|
|
87
|
-
if (Array.isArray(this.model) && !this.aggregator) {
|
|
88
|
-
throw new Error('Aggregator cannot be empty when using multiple models.');
|
|
89
|
-
}
|
|
90
|
-
if (this.aggregator && !ACCEPTABLE_MODELS.has(this.aggregator)) {
|
|
91
|
-
throw new Error(`Model name ${this.aggregator} not recognized.`);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Convert the evaluation run to a plain object
|
|
96
|
-
*
|
|
97
|
-
*/
|
|
98
|
-
toJSON() {
|
|
99
|
-
const data = {
|
|
100
|
-
log_results: this.logResults,
|
|
101
|
-
organization_id: this.organizationId,
|
|
102
|
-
project_name: this.projectName,
|
|
103
|
-
eval_name: this.evalName,
|
|
104
|
-
examples: this.examples.map(example => example.toJSON ? example.toJSON() : example),
|
|
105
|
-
scorers: this.scorers.map(scorer => {
|
|
106
|
-
if ('toJSON' in scorer) {
|
|
107
|
-
return scorer.toJSON();
|
|
108
|
-
}
|
|
109
|
-
else if ('toDict' in scorer) {
|
|
110
|
-
return scorer.toDict();
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
return {
|
|
114
|
-
score_type: scorer.scoreType,
|
|
115
|
-
threshold: scorer.threshold
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
}),
|
|
119
|
-
model: this.model,
|
|
120
|
-
aggregator: this.aggregator,
|
|
121
|
-
metadata: this.metadata,
|
|
122
|
-
judgment_api_key: this.judgmentApiKey,
|
|
123
|
-
override: this.override
|
|
124
|
-
};
|
|
125
|
-
if (this.rules) {
|
|
126
|
-
// Process rules to ensure proper serialization
|
|
127
|
-
data.rules = this.rules.map(rule => rule.toJSON ? rule.toJSON() : rule);
|
|
128
|
-
}
|
|
129
|
-
return data;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=evaluation-run.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-run.js","sourceRoot":"","sources":["../../src/evaluation-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,348 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { ExportResultCode } from '@opentelemetry/core';
|
|
11
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
12
|
-
// Import using relative path from within the src directory - ADD .js EXTENSION
|
|
13
|
-
import { TraceManagerClient } from '../common/tracer.js';
|
|
14
|
-
// --- Helper Functions --- Reintroduce types
|
|
15
|
-
function parseOtelAttributes(attributesMap) {
|
|
16
|
-
const attributes = {};
|
|
17
|
-
for (const key in attributesMap) {
|
|
18
|
-
attributes[key] = attributesMap[key];
|
|
19
|
-
}
|
|
20
|
-
return attributes;
|
|
21
|
-
}
|
|
22
|
-
function mapToInternalInput(attributes) {
|
|
23
|
-
const kwargs = {};
|
|
24
|
-
for (const [key, value] of Object.entries(attributes)) {
|
|
25
|
-
if (key.startsWith('ai.telemetry.metadata.')) {
|
|
26
|
-
kwargs[key.replace('ai.telemetry.metadata.', 'metadata_')] = value;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
let messages = attributes['ai.prompt.messages'];
|
|
30
|
-
if (typeof messages === 'string') {
|
|
31
|
-
try {
|
|
32
|
-
messages = JSON.parse(messages);
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
console.warn(`[OtelExporter] Could not parse messages JSON: ${messages}`);
|
|
36
|
-
messages = [];
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
else if (!Array.isArray(messages)) {
|
|
40
|
-
console.warn(`[OtelExporter] Messages attribute is not an array or valid JSON string: ${messages}`);
|
|
41
|
-
messages = [];
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
model: attributes['gen_ai.request.model'],
|
|
45
|
-
messages: messages || [],
|
|
46
|
-
kwargs: kwargs,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function mapToInternalOutput(attributes) {
|
|
50
|
-
const inputTokens = attributes['gen_ai.usage.input_tokens'] || attributes['ai.usage.promptTokens'];
|
|
51
|
-
const outputTokens = attributes['gen_ai.usage.output_tokens'] || attributes['ai.usage.completionTokens'];
|
|
52
|
-
let totalTokens = null;
|
|
53
|
-
if (inputTokens != null && outputTokens != null) {
|
|
54
|
-
totalTokens = inputTokens + outputTokens;
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
content: attributes['ai.response.text'],
|
|
58
|
-
usage: {
|
|
59
|
-
prompt_tokens: inputTokens,
|
|
60
|
-
completion_tokens: outputTokens,
|
|
61
|
-
total_tokens: totalTokens,
|
|
62
|
-
prompt_tokens_cost_usd: 0.0, // Initialize to 0.0
|
|
63
|
-
completion_tokens_cost_usd: 0.0, // Initialize to 0.0
|
|
64
|
-
total_cost_usd: 0.0 // Initialize to 0.0
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
// Revert buildTraceTree to return a FLAT list, relying on parent_span_id for hierarchy
|
|
69
|
-
// parent_span_id here refers to the GENERATED UUID of the parent.
|
|
70
|
-
function buildTraceTree(spansList) {
|
|
71
|
-
if (!spansList || spansList.length === 0) {
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
// Assign depth using parent references (UUIDs)
|
|
75
|
-
const spansById = {};
|
|
76
|
-
// Use the generated span_id (UUID) for the map key
|
|
77
|
-
spansList.forEach(span => { spansById[span.span_id] = span; });
|
|
78
|
-
const depths = {};
|
|
79
|
-
const visited = new Set();
|
|
80
|
-
function calculateDepth(spanId) {
|
|
81
|
-
if (depths[spanId] !== undefined)
|
|
82
|
-
return depths[spanId];
|
|
83
|
-
if (visited.has(spanId)) {
|
|
84
|
-
console.warn(`[OtelExporter BuildTree] Cycle or re-visit detected for span ${spanId}`);
|
|
85
|
-
return 0;
|
|
86
|
-
}
|
|
87
|
-
visited.add(spanId);
|
|
88
|
-
const span = spansById[spanId];
|
|
89
|
-
if (!span) {
|
|
90
|
-
console.warn(`[OtelExporter BuildTree] Span ${spanId} not found in spansById map.`);
|
|
91
|
-
visited.delete(spanId); // Clean up visited set
|
|
92
|
-
return 0;
|
|
93
|
-
}
|
|
94
|
-
// Check parent_span_id (which should be the parent's generated UUID)
|
|
95
|
-
if (!span.parent_span_id || !spansById[span.parent_span_id]) {
|
|
96
|
-
depths[spanId] = 0; // Root span
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
try {
|
|
100
|
-
depths[spanId] = calculateDepth(span.parent_span_id) + 1;
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
103
|
-
console.error(`[OtelExporter BuildTree] Error calculating depth for span ${spanId}, parent ${span.parent_span_id}: ${e.message}`);
|
|
104
|
-
depths[spanId] = -1; // Indicate an error
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// visited.delete(spanId); // Optional: remove if cycles/revisits need different handling
|
|
108
|
-
return depths[spanId];
|
|
109
|
-
}
|
|
110
|
-
spansList.forEach(span => {
|
|
111
|
-
// Use the generated span_id (UUID) here
|
|
112
|
-
if (depths[span.span_id] === undefined) {
|
|
113
|
-
visited.clear();
|
|
114
|
-
try {
|
|
115
|
-
span.depth = calculateDepth(span.span_id);
|
|
116
|
-
}
|
|
117
|
-
catch (e) {
|
|
118
|
-
console.error(`[OtelExporter BuildTree] Failed initial depth calculation for ${span.span_id}: ${e.message}`);
|
|
119
|
-
span.depth = -1; // Assign error depth
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
span.depth = depths[span.span_id];
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
// Create the final flat list, ensuring no 'children' field
|
|
127
|
-
const sortedSpans = spansList.map(span => {
|
|
128
|
-
const finalSpan = {
|
|
129
|
-
span_id: span.span_id, // Generated UUID
|
|
130
|
-
function: span.function,
|
|
131
|
-
depth: span.depth < 0 ? 0 : span.depth, // Reset error depth to 0
|
|
132
|
-
created_at: span.created_at,
|
|
133
|
-
parent_span_id: span.parent_span_id, // Parent's generated UUID or null/undefined
|
|
134
|
-
span_type: span.span_type,
|
|
135
|
-
inputs: span.inputs,
|
|
136
|
-
output: span.output,
|
|
137
|
-
duration: span.duration,
|
|
138
|
-
trace_id: span.trace_id,
|
|
139
|
-
};
|
|
140
|
-
// Explicitly remove children property if it somehow exists on the object
|
|
141
|
-
delete finalSpan.children;
|
|
142
|
-
return finalSpan;
|
|
143
|
-
});
|
|
144
|
-
// Sort the flat list by creation time as a fallback ordering
|
|
145
|
-
sortedSpans.sort((a, b) => new Date(a.created_at).getTime() - new Date(b.created_at).getTime());
|
|
146
|
-
return sortedSpans;
|
|
147
|
-
}
|
|
148
|
-
export class JudgevalExporter {
|
|
149
|
-
constructor(config) {
|
|
150
|
-
this.serviceName = config.serviceName || 'otel-judgeval-export';
|
|
151
|
-
if (!config.apiKey) {
|
|
152
|
-
throw new Error("JudgevalExporter requires apiKey in config");
|
|
153
|
-
}
|
|
154
|
-
if (!config.organizationId) {
|
|
155
|
-
throw new Error("JudgevalExporter requires organizationId in config");
|
|
156
|
-
}
|
|
157
|
-
this.apiKey = config.apiKey;
|
|
158
|
-
this.organizationId = config.organizationId;
|
|
159
|
-
console.log('[OtelExporter] Initialized with API Key and Org ID.');
|
|
160
|
-
}
|
|
161
|
-
export(spans, resultCallback) {
|
|
162
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
-
var _a;
|
|
164
|
-
console.log('[OtelExporter] Export method called.');
|
|
165
|
-
console.log(`[OtelExporter] Number of spans received: ${spans.length}`);
|
|
166
|
-
if (spans.length === 0) {
|
|
167
|
-
return resultCallback({ code: ExportResultCode.SUCCESS });
|
|
168
|
-
}
|
|
169
|
-
const traces = new Map();
|
|
170
|
-
for (const span of spans) {
|
|
171
|
-
const traceId = span.spanContext().traceId;
|
|
172
|
-
if (!traces.has(traceId)) {
|
|
173
|
-
traces.set(traceId, []);
|
|
174
|
-
}
|
|
175
|
-
traces.get(traceId).push(span);
|
|
176
|
-
}
|
|
177
|
-
console.log(`[OtelExporter] Processing ${traces.size} unique trace(s).`);
|
|
178
|
-
const exportPromises = [];
|
|
179
|
-
const traceManager = new TraceManagerClient(this.apiKey, this.organizationId);
|
|
180
|
-
for (const [otelTraceId, traceSpans] of traces.entries()) {
|
|
181
|
-
const backendTraceId = uuidv4();
|
|
182
|
-
console.log(`[OtelExporter] Mapping OTEL trace ${otelTraceId} to backend UUID ${backendTraceId}`);
|
|
183
|
-
const processAndSave = () => __awaiter(this, void 0, void 0, function* () {
|
|
184
|
-
var _a, _b, _c, _d;
|
|
185
|
-
try {
|
|
186
|
-
console.log(`[OtelExporter] Processing trace data for backend UUID ${backendTraceId} (${traceSpans.length} span(s)).`);
|
|
187
|
-
const otelIdToDbUuidMap = {};
|
|
188
|
-
const processedSpans = [];
|
|
189
|
-
let traceMetadata = {
|
|
190
|
-
projectName: 'default-otel-project',
|
|
191
|
-
traceName: 'Unnamed OTel Trace',
|
|
192
|
-
};
|
|
193
|
-
for (const span of traceSpans) {
|
|
194
|
-
const ctx = span.spanContext();
|
|
195
|
-
const attributes = parseOtelAttributes(span.attributes);
|
|
196
|
-
const dbSpanUuid = uuidv4();
|
|
197
|
-
otelIdToDbUuidMap[ctx.spanId] = dbSpanUuid;
|
|
198
|
-
if (attributes['ai.telemetry.metadata.project_name']) {
|
|
199
|
-
traceMetadata.projectName = attributes['ai.telemetry.metadata.project_name'];
|
|
200
|
-
}
|
|
201
|
-
if (attributes['ai.telemetry.metadata.trace_name']) {
|
|
202
|
-
traceMetadata.traceName = attributes['ai.telemetry.metadata.trace_name'];
|
|
203
|
-
}
|
|
204
|
-
const startTime = span.startTime[0] + span.startTime[1] / 1e9;
|
|
205
|
-
const endTime = span.endTime[0] + span.endTime[1] / 1e9;
|
|
206
|
-
const duration = endTime - startTime;
|
|
207
|
-
// --- Determine Span Type --- START
|
|
208
|
-
let determinedSpanType = 'span'; // Default to 'span' (Use string type)
|
|
209
|
-
if (span.name === 'ai.generateText') {
|
|
210
|
-
// If it's the main generateText call, maybe treat it as a chain or agent span?
|
|
211
|
-
determinedSpanType = 'chain'; // Or 'agent' or 'span' depending on backend expectation
|
|
212
|
-
}
|
|
213
|
-
else if (span.name === 'ai.generateText.doGenerate') {
|
|
214
|
-
// The actual LLM call part
|
|
215
|
-
determinedSpanType = 'llm';
|
|
216
|
-
}
|
|
217
|
-
else if (span.name.includes('tool') || span.attributes['ai.tool.name']) {
|
|
218
|
-
determinedSpanType = 'tool'; // Example for tool spans
|
|
219
|
-
}
|
|
220
|
-
// Add more heuristics based on span.name or span.attributes if needed
|
|
221
|
-
// --- Determine Span Type --- END
|
|
222
|
-
processedSpans.push({
|
|
223
|
-
trace_id: backendTraceId,
|
|
224
|
-
span_id: dbSpanUuid,
|
|
225
|
-
otel_span_id: ctx.spanId,
|
|
226
|
-
otel_parent_span_id: span.parentSpanId,
|
|
227
|
-
parent_span_id: undefined,
|
|
228
|
-
function: span.name, // Keep using OTel span name for now
|
|
229
|
-
depth: 0,
|
|
230
|
-
created_at: new Date(startTime * 1000).toISOString(),
|
|
231
|
-
duration: duration < 0 ? 0 : duration,
|
|
232
|
-
inputs: mapToInternalInput(attributes),
|
|
233
|
-
output: mapToInternalOutput(attributes),
|
|
234
|
-
span_type: determinedSpanType,
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
processedSpans.forEach(span => {
|
|
238
|
-
if (span.otel_parent_span_id && otelIdToDbUuidMap[span.otel_parent_span_id]) {
|
|
239
|
-
span.parent_span_id = otelIdToDbUuidMap[span.otel_parent_span_id];
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
const traceEntries = buildTraceTree(processedSpans);
|
|
243
|
-
const traceStartTimeIso = traceEntries.length > 0 ? traceEntries.reduce((min, p) => (p.created_at < min ? p.created_at : min), traceEntries[0].created_at) : new Date().toISOString();
|
|
244
|
-
const traceEndTime = traceEntries.length > 0 ? traceEntries.reduce((max, p) => {
|
|
245
|
-
const endTs = new Date(p.created_at).getTime() + ((p.duration || 0) * 1000);
|
|
246
|
-
return endTs > max ? endTs : max;
|
|
247
|
-
}, 0) : Date.now();
|
|
248
|
-
const overallDuration = (traceEndTime - new Date(traceStartTimeIso).getTime()) / 1000;
|
|
249
|
-
const tokenCounts = {
|
|
250
|
-
prompt_tokens: 0,
|
|
251
|
-
completion_tokens: 0,
|
|
252
|
-
total_tokens: 0,
|
|
253
|
-
prompt_tokens_cost_usd: 0.0,
|
|
254
|
-
completion_tokens_cost_usd: 0.0,
|
|
255
|
-
total_cost_usd: 0.0
|
|
256
|
-
};
|
|
257
|
-
let firstModel = null;
|
|
258
|
-
for (const entry of traceEntries) {
|
|
259
|
-
if (entry.span_type === 'llm' && ((_a = entry.output) === null || _a === void 0 ? void 0 : _a.usage)) {
|
|
260
|
-
tokenCounts.prompt_tokens += entry.output.usage.prompt_tokens || 0;
|
|
261
|
-
tokenCounts.completion_tokens += entry.output.usage.completion_tokens || 0;
|
|
262
|
-
tokenCounts.total_tokens += entry.output.usage.total_tokens ||
|
|
263
|
-
((entry.output.usage.prompt_tokens || 0) +
|
|
264
|
-
(entry.output.usage.completion_tokens || 0));
|
|
265
|
-
if (!firstModel && ((_b = entry.inputs) === null || _b === void 0 ? void 0 : _b.model)) {
|
|
266
|
-
firstModel = entry.inputs.model;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
if (firstModel && (tokenCounts.prompt_tokens > 0 || tokenCounts.completion_tokens > 0)) {
|
|
271
|
-
try {
|
|
272
|
-
console.log(`[OtelExporter] Calculating token costs for model ${firstModel}...`);
|
|
273
|
-
const costResponse = yield traceManager.calculateTokenCosts(firstModel, tokenCounts.prompt_tokens, tokenCounts.completion_tokens);
|
|
274
|
-
if (costResponse) {
|
|
275
|
-
tokenCounts.prompt_tokens_cost_usd = costResponse.prompt_tokens_cost_usd;
|
|
276
|
-
tokenCounts.completion_tokens_cost_usd = costResponse.completion_tokens_cost_usd;
|
|
277
|
-
tokenCounts.total_cost_usd = costResponse.total_cost_usd;
|
|
278
|
-
console.log(`[OtelExporter] Calculated costs for model ${firstModel}: $${tokenCounts.total_cost_usd.toFixed(6)}`);
|
|
279
|
-
}
|
|
280
|
-
else {
|
|
281
|
-
console.log(`[OtelExporter] Could not fetch token costs for model ${firstModel}. Costs will be 0.`);
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
catch (error) {
|
|
285
|
-
console.error(`[OtelExporter] Error fetching token costs: ${error}`);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
// <<< NEW: Update individual span costs >>>
|
|
289
|
-
// Assign the calculated *total* costs back to individual LLM spans
|
|
290
|
-
// Note: This might not be perfectly accurate if multiple models were used,
|
|
291
|
-
// but it ensures costs are numeric and mirrors native client approach.
|
|
292
|
-
for (const entry of traceEntries) {
|
|
293
|
-
if (entry.span_type === 'llm' && ((_c = entry.output) === null || _c === void 0 ? void 0 : _c.usage)) {
|
|
294
|
-
entry.output.usage.prompt_tokens_cost_usd = tokenCounts.prompt_tokens_cost_usd;
|
|
295
|
-
entry.output.usage.completion_tokens_cost_usd = tokenCounts.completion_tokens_cost_usd;
|
|
296
|
-
entry.output.usage.total_cost_usd = tokenCounts.total_cost_usd;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
// <<< END NEW >>>
|
|
300
|
-
const traceSavePayload = {
|
|
301
|
-
trace_id: backendTraceId,
|
|
302
|
-
name: traceMetadata.traceName || ((_d = traceEntries[0]) === null || _d === void 0 ? void 0 : _d.function) || 'Unnamed OTel Trace',
|
|
303
|
-
project_name: traceMetadata.projectName,
|
|
304
|
-
created_at: traceStartTimeIso,
|
|
305
|
-
duration: overallDuration < 0 ? 0 : overallDuration,
|
|
306
|
-
token_counts: tokenCounts,
|
|
307
|
-
entries: traceEntries,
|
|
308
|
-
evaluation_runs: [],
|
|
309
|
-
overwrite: true,
|
|
310
|
-
parent_trace_id: null,
|
|
311
|
-
parent_name: null,
|
|
312
|
-
};
|
|
313
|
-
console.log(`[OtelExporter] Preparing to save trace with backend UUID ${backendTraceId} using TraceManagerClient.`);
|
|
314
|
-
console.log("[OtelExporter] Payload to be sent:", JSON.stringify(traceSavePayload, null, 2));
|
|
315
|
-
const response = yield traceManager.saveTrace(traceSavePayload);
|
|
316
|
-
console.log(`[OtelExporter] TraceManagerClient.saveTrace call completed for backend UUID ${backendTraceId}. Response received:`, response);
|
|
317
|
-
console.log(`[OtelExporter] Successfully exported trace group originally from OTEL trace ${otelTraceId} as backend UUID ${backendTraceId}.`);
|
|
318
|
-
return { code: ExportResultCode.SUCCESS };
|
|
319
|
-
}
|
|
320
|
-
catch (error) {
|
|
321
|
-
console.error(`[OtelExporter] Error exporting trace group originally from OTEL trace ${otelTraceId} (backend UUID ${backendTraceId}):`, error);
|
|
322
|
-
return { code: ExportResultCode.FAILED, error };
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
exportPromises.push(processAndSave());
|
|
326
|
-
}
|
|
327
|
-
try {
|
|
328
|
-
const results = yield Promise.all(exportPromises);
|
|
329
|
-
const overallResult = results.some(r => r.code === ExportResultCode.FAILED)
|
|
330
|
-
? { code: ExportResultCode.FAILED, error: (_a = results.find(r => r.error)) === null || _a === void 0 ? void 0 : _a.error }
|
|
331
|
-
: { code: ExportResultCode.SUCCESS };
|
|
332
|
-
console.log(`[OtelExporter] Batch export finished. Overall result: ${overallResult.code === ExportResultCode.SUCCESS ? 'SUCCESS' : 'FAILED'}`);
|
|
333
|
-
resultCallback(overallResult);
|
|
334
|
-
}
|
|
335
|
-
catch (error) {
|
|
336
|
-
console.error('[OtelExporter] Unexpected error during batch processing:', error);
|
|
337
|
-
resultCallback({ code: ExportResultCode.FAILED, error });
|
|
338
|
-
}
|
|
339
|
-
});
|
|
340
|
-
}
|
|
341
|
-
shutdown() {
|
|
342
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
343
|
-
console.log('[OtelExporter] Shutting down.');
|
|
344
|
-
return Promise.resolve();
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
//# sourceMappingURL=otel-exporter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otel-exporter.js","sourceRoot":"","sources":["../../../src/exporters/otel-exporter.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Export data models
|
|
2
|
-
export { Example, ExampleBuilder } from './data/example.js';
|
|
3
|
-
export { ScoringResult, ScoringResultBuilder } from './data/result.js';
|
|
4
|
-
// Export common utilities (like Tracer)
|
|
5
|
-
export { Tracer, wrap, TraceClient } from './common/tracer.js';
|
|
6
|
-
// Export scorers
|
|
7
|
-
export { APIJudgmentScorer, JudgevalScorer, ScorerWrapper } from './scorers/base-scorer.js';
|
|
8
|
-
export { AnswerCorrectnessScorer, AnswerRelevancyScorer, ComparisonScorer, ContextualPrecisionScorer, ContextualRecallScorer, ContextualRelevancyScorer, ExecutionOrderScorer, FaithfulnessScorer, GroundednessScorer, HallucinationScorer, InstructionAdherenceScorer, JsonCorrectnessScorer, SummarizationScorer } from './scorers/api-scorer.js';
|
|
9
|
-
// Export rules system
|
|
10
|
-
export { AlertStatus, Condition, NotificationConfig, Rule, AlertResult, RulesEngine } from './rules.js';
|
|
11
|
-
// Export evaluation components
|
|
12
|
-
export { EvaluationRun } from './evaluation-run.js';
|
|
13
|
-
export { runEval, assertTest, JudgmentAPIError, sendToRabbitMQ, executeApiEval, mergeResults, checkMissingScorerData, checkEvalRunNameExists, logEvaluationResults, checkExamples } from './run-evaluation.js';
|
|
14
|
-
// Export client
|
|
15
|
-
export { JudgmentClient } from './judgment-client.js';
|
|
16
|
-
// Export constants
|
|
17
|
-
export * from './constants.js';
|
|
18
|
-
// Export clients
|
|
19
|
-
export * from './clients.js';
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAkB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAoC,MAAM,kBAAkB,CAAC;AAEzG,wCAAwC;AACxC,OAAO,EAAE,MAAM,EAAY,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzE,iBAAiB;AACjB,OAAO,EAEL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,sBAAsB;AACtB,OAAO,EACL,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,IAAI,EACJ,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,+BAA+B;AAC/B,OAAO,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,mBAAmB;AACnB,cAAc,gBAAgB,CAAC;AAE/B,iBAAiB;AACjB,cAAc,cAAc,CAAC"}
|