deepeval 4.3.2__tar.gz → 4.3.4__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.
- {deepeval-4.3.2 → deepeval-4.3.4}/PKG-INFO +28 -21
- {deepeval-4.3.2 → deepeval-4.3.4}/README.md +25 -18
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/__init__.py +6 -10
- deepeval-4.3.4/deepeval/_version.py +1 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/anthropic/__init__.py +2 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/settings.py +10 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/constants.py +0 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/dataset.py +4 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/golden.py +3 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/utils.py +1 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/errors.py +1 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/evaluate.py +9 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/execute/_common.py +9 -44
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/execute/agentic.py +3 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/execute/loop.py +8 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/execute/trace_scope.py +5 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/expectations.py +1 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/local_store.py +35 -10
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/utils.py +2 -3
- deepeval-4.3.4/deepeval/integrations/README.md +49 -0
- deepeval-4.3.4/deepeval/integrations/agentcore/__init__.py +3 -0
- deepeval-4.3.4/deepeval/integrations/agentcore/otel.py +42 -0
- deepeval-4.3.4/deepeval/integrations/crewai/handler.py +167 -0
- deepeval-4.3.4/deepeval/integrations/crewai/subs.py +135 -0
- deepeval-4.3.4/deepeval/integrations/crewai/tool.py +43 -0
- deepeval-4.3.4/deepeval/integrations/google_adk/otel.py +41 -0
- deepeval-4.3.4/deepeval/integrations/langchain/callback.py +165 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/langchain/patch.py +5 -6
- deepeval-4.3.4/deepeval/integrations/llama_index/handler.py +28 -0
- deepeval-4.3.4/deepeval/integrations/openinference/otel.py +50 -0
- deepeval-4.3.4/deepeval/integrations/pydantic_ai/instrumentator.py +147 -0
- deepeval-4.3.4/deepeval/integrations/pydantic_ai/otel.py +23 -0
- deepeval-4.3.4/deepeval/integrations/strands/__init__.py +3 -0
- deepeval-4.3.4/deepeval/integrations/strands/otel.py +41 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/argument_correctness.py +10 -2
- deepeval-4.3.4/deepeval/metrics/argument_correctness/utils.py +128 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/nodes.py +15 -13
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_g_eval/conversational_g_eval.py +4 -47
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/nodes.py +15 -12
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/g_eval.py +9 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/utils.py +66 -47
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/utils.py +27 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/ragas.py +10 -10
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/base_model.py +1 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/constants.py +12 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/grok_model.py +17 -4
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/litellm_model.py +5 -4
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/retry_policy.py +1 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/_audio.py +2 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/cartesia/cartesia.py +2 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/deepgram/deepgram.py +2 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/elevenlabs/elevenlabs.py +2 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/openai/openai.py +2 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/openai/__init__.py +2 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/openai_agents/__init__.py +0 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/openai_agents/agent.py +3 -1
- deepeval-4.3.4/deepeval/openai_agents/callback_handler.py +94 -0
- deepeval-4.3.4/deepeval/openai_agents/patch.py +212 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/plugins/plugin.py +8 -2
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/conversation_simulator.py +200 -40
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/api.py +1 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/conversational_test_case.py +4 -3
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/llm_test_case.py +2 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_run/api.py +2 -3
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_run/cache.py +36 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_run/test_run.py +1 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/api.py +0 -17
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/context.py +185 -48
- deepeval-4.3.4/deepeval/tracing/internal.py +82 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/offline_evals/span.py +2 -11
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/offline_evals/thread.py +2 -11
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/offline_evals/trace.py +2 -11
- deepeval-4.3.4/deepeval/tracing/otel/__init__.py +2 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/__init__.py +39 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/base.py +42 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/google_adk.py +196 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/llamaindex.py +27 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/openinference.py +221 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/pydantic_ai.py +57 -0
- deepeval-4.3.4/deepeval/tracing/otel/adapters/strands.py +110 -0
- deepeval-4.3.4/deepeval/tracing/otel/attribute_values.py +159 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/otel/attributes.py +31 -14
- deepeval-4.3.4/deepeval/tracing/otel/bridge.py +681 -0
- deepeval-4.3.4/deepeval/tracing/otel/converter.py +538 -0
- deepeval-4.3.4/deepeval/tracing/otel/messages.py +276 -0
- deepeval-4.3.4/deepeval/tracing/otel/setup.py +631 -0
- deepeval-4.3.4/deepeval/tracing/otel/utils.py +159 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/trace_context.py +21 -5
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/tracing.py +308 -607
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/types.py +1 -36
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/utils.py +15 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/__init__.py +14 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/__init__.py +16 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/audio_utils.py +8 -0
- deepeval-4.3.4/deepeval/voice/connectors/phone.py +77 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/__init__.py +9 -1
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/livekit/README.md +8 -10
- deepeval-4.3.4/deepeval/voice/connectors/providers/livekit/__init__.py +13 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/livekit/connector.py +162 -14
- deepeval-4.3.4/deepeval/voice/connectors/providers/livekit/sip.py +328 -0
- deepeval-4.3.4/deepeval/voice/connectors/providers/twilio/README.md +50 -0
- deepeval-4.3.4/deepeval/voice/connectors/providers/twilio/__init__.py +5 -0
- deepeval-4.3.4/deepeval/voice/connectors/providers/twilio/connector.py +375 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/transports/__init__.py +4 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/transports/base.py +4 -0
- deepeval-4.3.4/deepeval/voice/connectors/transports/silence.py +77 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/transports/websocket.py +9 -8
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/utils.py +22 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/duplex.py +17 -5
- {deepeval-4.3.2 → deepeval-4.3.4}/pyproject.toml +3 -2
- deepeval-4.3.2/deepeval/_version.py +0 -1
- deepeval-4.3.2/deepeval/anthropic/extractors.py +0 -94
- deepeval-4.3.2/deepeval/anthropic/patch.py +0 -169
- deepeval-4.3.2/deepeval/anthropic/utils.py +0 -225
- deepeval-4.3.2/deepeval/integrations/README.md +0 -68
- deepeval-4.3.2/deepeval/integrations/agentcore/__init__.py +0 -4
- deepeval-4.3.2/deepeval/integrations/agentcore/instrumentator.py +0 -917
- deepeval-4.3.2/deepeval/integrations/agentcore/otel.py +0 -168
- deepeval-4.3.2/deepeval/integrations/crewai/handler.py +0 -493
- deepeval-4.3.2/deepeval/integrations/crewai/subs.py +0 -64
- deepeval-4.3.2/deepeval/integrations/crewai/tool.py +0 -91
- deepeval-4.3.2/deepeval/integrations/crewai/wrapper.py +0 -196
- deepeval-4.3.2/deepeval/integrations/google_adk/otel.py +0 -98
- deepeval-4.3.2/deepeval/integrations/langchain/callback.py +0 -942
- deepeval-4.3.2/deepeval/integrations/langchain/utils.py +0 -499
- deepeval-4.3.2/deepeval/integrations/llama_index/handler.py +0 -414
- deepeval-4.3.2/deepeval/integrations/llama_index/utils.py +0 -107
- deepeval-4.3.2/deepeval/integrations/openinference/instrumentator.py +0 -865
- deepeval-4.3.2/deepeval/integrations/openinference/otel.py +0 -173
- deepeval-4.3.2/deepeval/integrations/pydantic_ai/README.md +0 -1049
- deepeval-4.3.2/deepeval/integrations/pydantic_ai/instrumentator.py +0 -741
- deepeval-4.3.2/deepeval/integrations/pydantic_ai/otel.py +0 -80
- deepeval-4.3.2/deepeval/integrations/strands/__init__.py +0 -4
- deepeval-4.3.2/deepeval/integrations/strands/instrumentator.py +0 -937
- deepeval-4.3.2/deepeval/integrations/strands/otel.py +0 -178
- deepeval-4.3.2/deepeval/model_integrations/types.py +0 -20
- deepeval-4.3.2/deepeval/model_integrations/utils.py +0 -120
- deepeval-4.3.2/deepeval/openai/extractors.py +0 -198
- deepeval-4.3.2/deepeval/openai/patch.py +0 -309
- deepeval-4.3.2/deepeval/openai/utils.py +0 -211
- deepeval-4.3.2/deepeval/openai_agents/callback_handler.py +0 -173
- deepeval-4.3.2/deepeval/openai_agents/extractors.py +0 -455
- deepeval-4.3.2/deepeval/openai_agents/patch.py +0 -402
- deepeval-4.3.2/deepeval/openai_agents/runner.py +0 -348
- deepeval-4.3.2/deepeval/synthesizer/chunking/__init__.py +0 -0
- deepeval-4.3.2/deepeval/tracing/internal.py +0 -36
- deepeval-4.3.2/deepeval/tracing/otel/__init__.py +0 -7
- deepeval-4.3.2/deepeval/tracing/otel/context_aware_processor.py +0 -204
- deepeval-4.3.2/deepeval/tracing/otel/exporter.py +0 -899
- deepeval-4.3.2/deepeval/tracing/otel/test_exporter.py +0 -35
- deepeval-4.3.2/deepeval/tracing/otel/utils.py +0 -846
- deepeval-4.3.2/deepeval/voice/connectors/providers/livekit/__init__.py +0 -5
- {deepeval-4.3.2 → deepeval-4.3.4}/LICENSE.md +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/annotation/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/annotation/annotation.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/annotation/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/arc/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/arc/arc.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/arc/mode.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/arc/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/base_benchmark.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bbq/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bbq/bbq.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bbq/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bbq/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/big_bench_hard.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/boolean_expressions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/causal_judgement.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/date_understanding.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/disambiguation_qa.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/dyck_languages.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/formal_fallacies.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/geometric_shapes.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/hyperbaton.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/logical_deduction_five_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/logical_deduction_seven_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/logical_deduction_three_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/movie_recommendation.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/multistep_arithmetic_two.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/navigate.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/object_counting.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/penguins_in_a_table.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/reasoning_about_colored_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/ruin_names.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/salient_translation_error_detection.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/snarks.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/sports_understanding.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/temporal_sequences.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/tracking_shuffled_objects_five_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/tracking_shuffled_objects_seven_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/tracking_shuffled_objects_three_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/web_of_lies.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/word_sorting.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/boolean_expressions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/causal_judgement.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/date_understanding.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/disambiguation_qa.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/dyck_languages.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/formal_fallacies.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/geometric_shapes.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/hyperbaton.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/logical_deduction_five_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/logical_deduction_seven_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/logical_deduction_three_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/movie_recommendation.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/multistep_arithmetic_two.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/navigate.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/object_counting.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/penguins_in_a_table.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/reasoning_about_colored_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/ruin_names.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/salient_translation_error_detection.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/snarks.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/sports_understanding.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/temporal_sequences.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/tracking_shuffled_objects_five_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/tracking_shuffled_objects_seven_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/tracking_shuffled_objects_three_objects.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/web_of_lies.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/word_sorting.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/big_bench_hard/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bool_q/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bool_q/bool_q.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/bool_q/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/drop/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/drop/drop.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/drop/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/drop/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/equity_med_qa/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/equity_med_qa/equity_med_qa.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/equity_med_qa/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/equity_med_qa/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/gsm8k/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/gsm8k/gsm8k.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/gsm8k/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/hellaswag/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/hellaswag/hellaswag.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/hellaswag/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/hellaswag/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/human_eval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/human_eval/human_eval.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/human_eval/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/human_eval/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/ifeval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/ifeval/ifeval.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/ifeval/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/lambada/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/lambada/lambada.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/lambada/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/logi_qa/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/logi_qa/logi_qa.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/logi_qa/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/logi_qa/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/math_qa/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/math_qa/math_qa.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/math_qa/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/math_qa/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/mmlu/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/mmlu/mmlu.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/mmlu/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/mmlu/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/modes/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/results.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/squad/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/squad/squad.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/squad/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/squad/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/tasks/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/truthful_qa/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/truthful_qa/mode.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/truthful_qa/task.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/truthful_qa/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/truthful_qa/truthful_qa.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/winogrande/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/winogrande/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/benchmarks/winogrande/winogrande.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/abstention.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/base_classifier.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/clarification.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/classifier.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/templates/_experimental_system_one_classify.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/templates/classify_multi_turn.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/classifier/templates/classify_single_turn.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/data_leakage.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/escalation.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/forbidden_commitments.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/instruction_completeness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/prompt_injection.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/refusal.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/required_disclosure.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/resolution.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/response_language.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/scope_adherence.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/tone_adherence.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/classifiers/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/app.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/auth/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/auth/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/auth/command.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/auth/flow.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/diagnose/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/diagnose/diagnose.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/dotenv_handler.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/generate/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/generate/command.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/generate/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/inspect.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/main.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/_speech.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/anthropic.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/azure.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/bedrock.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/deepseek.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/gemini.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/grok.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/litellm.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/local_embeddings.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/local_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/moonshot.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/ollama.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/openai.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/openrouter.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/llms/portkey.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/stt/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/stt/command.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/system_one/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/system_one/typesafe.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/tts/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/providers/tts/command.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/setup/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/setup/command.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/setup/launcher.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/test/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/test/command.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/cli/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/confident/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/confident/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/confident/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/dotenv_handler.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/eval_mode.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/logging.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/mode.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/settings_manager.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/config/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/contextvars.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/expectations.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/dataset/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/compare.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/configs.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/console_report.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/execute/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/execute/e2e.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/inspect_prompt.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/evaluate/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/__main__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/app.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/fixtures/test_run_sample.json +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/loader.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/styles.tcss +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/_styling.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/details.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/header_bar.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/help_modal.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/search_bar.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/inspect/widgets/span_tree.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/crewai/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/google_adk/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/hugging_face/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/hugging_face/callback.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/hugging_face/rich_manager.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/hugging_face/tests/test_callbacks.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/hugging_face/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/langchain/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/llama_index/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/openinference/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/integrations/pydantic_ai/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/key_handler.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/README.md +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/agent_loop_detection/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/agent_loop_detection/agent_loop_detection.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/answer_relevancy.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/templates/generate_statements.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/answer_relevancy/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/arena_g_eval.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/templates/generate_arena_winner.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/templates/generate_evaluation_steps.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/templates/rewrite_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/arena_g_eval/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/argument_correctness/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/audio_glitch/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/audio_glitch/_detectors.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/audio_glitch/audio_glitch.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/audio_glitch/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/audio_glitch/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/audio_glitch/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/base_metric.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/bias.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/templates/generate_opinions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/bias/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/community/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/community/citation_faithfulness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/community/citation_faithfulness/citation_faithfulness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/community/citation_faithfulness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/community/citation_faithfulness/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/contextual_precision.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_precision/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/contextual_recall.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_recall/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/contextual_relevancy.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/contextual_relevancy/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/conversation_completeness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/templates/extract_user_intentions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversation_completeness/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/conversational_dag.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/templates/ConversationalBinaryJudgement/generate_binary_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/templates/ConversationalNonBinaryJudgement/generate_non_binary_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/templates/ConversationalTaskNode/generate_task_output.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_dag/templates/ConversationalVerdictNode/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_g_eval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_g_eval/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_g_eval/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_g_eval/templates/generate_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_g_eval/templates/generate_evaluation_steps.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_jev_eval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/conversational_jev_eval/conversational_jev_eval.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/dag.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/graph.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/runner.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/serialization/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/serialization/registry.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/serialization/serialization.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/serialization/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/templates/BinaryJudgement/generate_binary_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/templates/NonBinaryJudgement/generate_non_binary_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/templates/TaskNode/generate_task_output.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/templates/VerdictNode/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/dag/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/exact_match/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/exact_match/exact_match.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/faithfulness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/generate_claims.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/generate_truths.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/faithfulness/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/generate_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/generate_evaluation_steps.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/generate_strict_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/generate_strict_trace_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/generate_trace_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/g_eval/templates/generate_trace_evaluation_steps.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/goal_accuracy.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/_experimental_system_one_goal_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/_experimental_system_one_plan_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/get_accuracy_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/get_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/goal_accuracy/templates/get_plan_evaluation_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/hallucination.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/hallucination/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/indicator.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/jev_eval/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/jev_eval/jev_eval.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/jev_eval/questions.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/jev_eval/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/json_correctness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/json_correctness/json_correctness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/json_correctness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/json_correctness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/json_correctness/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/knowledge_retention.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/templates/extract_data.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/knowledge_retention/templates/generate_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/mcp_task_completion.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/multi_turn_mcp_use_metric.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/_experimental_system_one_mcp_use_args_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/_experimental_system_one_mcp_use_primitive_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/_experimental_system_one_mcp_use_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/_experimental_system_one_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/generate_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/get_args_correctness_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/get_task_completion_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp/templates/get_tool_correctness_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/mcp_use_metric.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/templates/_experimental_system_one_args_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/templates/_experimental_system_one_primitive_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/templates/get_mcp_argument_correctness_prompt.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/mcp_use_metric/templates/get_primitive_correctness_prompt.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/misuse.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/templates/generate_misuses.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/misuse/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_coherence/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_coherence/image_coherence.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_coherence/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_coherence/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_coherence/templates/evaluate_image_coherence.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_editing/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_editing/image_editing.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_editing/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_editing/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_editing/templates/generate_perceptual_quality_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_editing/templates/generate_semantic_consistency_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/image_helpfulness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/templates/evaluate_image_helpfulness.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_reference/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_reference/image_reference.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_reference/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_reference/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/image_reference/templates/evaluate_image_reference.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/text_to_image/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/text_to_image/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/text_to_image/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/text_to_image/templates/generate_perceptual_quality_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/text_to_image/templates/generate_semantic_consistency_evaluation_results.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/multimodal_metrics/text_to_image/text_to_image.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/non_advice.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/templates/generate_advices.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/non_advice/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pattern_match/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pattern_match/pattern_match.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/pii_leakage.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/templates/extract_pii.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/pii_leakage/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/plan_adherence.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/templates/_experimental_system_one_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/templates/evaluate_adherence.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_adherence/templates/extract_plan_from_trace.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/plan_quality.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/templates/_experimental_system_one_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/plan_quality/templates/evaluate_plan_quality.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/prompt_alignment.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/prompt_alignment/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/retrieval_context_display.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/role_adherence.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/templates/extract_out_of_character_response_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_adherence/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/role_violation.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/templates/detect_role_violations.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/role_violation/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/step_efficiency.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/templates/_experimental_system_one_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/templates/extract_task_from_trace.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/step_efficiency/templates/get_execution_efficiency.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/summarization.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/generate_alignment_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/generate_answers.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/generate_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/summarization/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/task_completion.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/templates/_experimental_system_one_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/templates/extract_goal_and_outcome.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/templates/extract_task_and_outcome_from_trace.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/task_completion/templates/generate_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_correctness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_correctness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_correctness/templates/_experimental_system_one_tool_selection_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_correctness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_correctness/templates/get_tool_selection_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_correctness/tool_correctness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_permission/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_permission/tool_permission.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/_experimental_system_one_argument_correctness_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/_experimental_system_one_tool_selection_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/get_argument_correctness_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/get_tool_argument_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/get_tool_selection_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/templates/get_tool_selection_score.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/tool_use/tool_use.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/_experimental_system_one_answered_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/_experimental_system_one_on_topic_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/get_qa_pair_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/templates/get_qa_pairs.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/topic_adherence/topic_adherence.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/templates/generate_opinions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/toxicity/toxicity.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/_experimental_system_one_audio_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/_experimental_system_one_audio_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/generate_audio_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/generate_audio_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/transcription_accuracy/transcription_accuracy.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/templates/generate_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_precision/turn_contextual_precision.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/templates/generate_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_recall/turn_contextual_recall.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/templates/generate_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_contextual_relevancy/turn_contextual_relevancy.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/generate_claims.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/generate_final_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/generate_truths.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_faithfulness/turn_faithfulness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/templates/_experimental_system_one_questions.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/templates/_experimental_system_one_verdict.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/templates/generate_reason.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/templates/generate_verdicts.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/turn_relevancy/turn_relevancy.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/decision.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/generation.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/metrics.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/models.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/qag.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/system_one.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/system_one_batch.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/test_case.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/turns.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/utils/verbose.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/_analysis.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/_detectors.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/base_metric.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/consistency.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/integrity.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/intelligibility.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/naturalness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/reliability.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/responsiveness.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/metrics/voice/turn_taking.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/_summac_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/answer_relevancy_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/detoxify_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/embedding_models/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/embedding_models/azure_embedding_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/embedding_models/local_embedding_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/embedding_models/ollama_embedding_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/embedding_models/openai_embedding_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/hallucination_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/amazon_bedrock_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/anthropic_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/azure_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/deepseek_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/gateway_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/gemini_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/kimi_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/local_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/multimodal.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/ollama_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/openai_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/openrouter_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/portkey_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/llms/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/speech.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/speech_selection.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/_stream.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/assemblyai/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/assemblyai/assemblyai.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/assemblyai/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/cartesia/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/cartesia/cartesia.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/cartesia/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/deepgram/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/deepgram/deepgram.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/deepgram/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/elevenlabs/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/elevenlabs/elevenlabs.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/elevenlabs/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/openai/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/stt/openai/openai.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/summac_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/system_one/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/system_one/constants.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/system_one/limits.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/system_one/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/system_one/typesafe_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/_frames.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/cartesia/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/cartesia/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/deepgram/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/deepgram/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/elevenlabs/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/elevenlabs/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/tts/openai/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/unbias_model.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/models/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/base.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/configs.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/copro/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/copro/copro.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/copro/proposer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/copro/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/copro/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/gepa/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/gepa/gepa.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/bootstrapper.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/miprov2.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/proposer/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/proposer/proposer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/proposer/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/miprov2/proposer/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/simba/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/simba/proposer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/simba/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/simba/simba.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/algorithms/simba/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/configs.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/policies.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/prompt_optimizer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/rewriter/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/rewriter/rewriter.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/rewriter/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/rewriter/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/scorer/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/scorer/base.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/scorer/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/scorer/scorer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/scorer/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/scorer/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/optimizer/utils.py +0 -0
- {deepeval-4.3.2/deepeval/model_integrations → deepeval-4.3.4/deepeval/plugins}/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/progress_context.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/prompt/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/prompt/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/prompt/prompt.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/prompt/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/py.typed +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/red_teaming/README.md +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/scorer/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/scorer/scorer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/controller/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/controller/controller.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/controller/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/controller/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/interrupt_template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/simulation_graph/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/simulation_graph/default.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/simulation_graph/node.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/simulation_graph/runner.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/simulation_graph/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/templates/class.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/templates/decide_interrupt.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/templates/interruption_bias_frequent.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/templates/interruption_bias_normal.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/templates/interruption_bias_rare.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/templates/interruption_frustration.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/simulator/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/singleton.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/sqlite_store/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/sqlite_store/store.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/base_synthesizer.py +0 -0
- {deepeval-4.3.2/deepeval/plugins → deepeval-4.3.4/deepeval/synthesizer/chunking}/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/chunking/context_generator.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/chunking/doc_chunker.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/config.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/schema.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/synthesizer.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/templates/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/templates/template.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/templates/template_extraction.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/templates/template_prompt.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/synthesizer/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/client.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/context.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/events.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/identity.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/judge.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/properties.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/telemetry/runtime.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/classifiers/templates.json +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/faithfulness_verdicts_example_multimodal.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/faithfulness_verdicts_format_instruction.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/faithfulness_verdicts_guidelines_multimodal.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/faithfulness_verdicts_guidelines_text_only.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/multimodal_image_generation_eval_context.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/multimodal_input_rules.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/fragments/multimodal_input_rules_turn_metric.txt +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/metrics/templates.json +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/resolver.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/simulator/templates.json +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/templates/template_class.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/arena_test_case.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/mcp.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_case/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_run/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_run/hooks.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/test_run/hyperparameters.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/integrations.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/offline_evals/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/offline_evals/api.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/patchers.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/perf_epoch_bridge.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/tracing/trace_test_manager.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/utils.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/background.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/config.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/elevenlabs/README.md +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/elevenlabs/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/elevenlabs/connector.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/pipecat/README.md +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/pipecat/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/pipecat/connector.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/pipecat/protobuf.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/vapi/README.md +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/vapi/__init__.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/providers/vapi/connector.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/transports/callback.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/transports/webrtc.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/turn_engine.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/connectors/types.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/floor_control.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/interruption.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/output.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/protocol.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/recording.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/streaming.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/timeline.py +0 -0
- {deepeval-4.3.2 → deepeval-4.3.4}/deepeval/voice/turn_detection.py +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepeval
|
|
3
|
-
Version: 4.3.
|
|
3
|
+
Version: 4.3.4
|
|
4
4
|
Summary: The LLM Evaluation Framework
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
License-File: LICENSE.md
|
|
7
7
|
Author: Jeffrey Ip
|
|
8
8
|
Author-email: jeffreyip@confident-ai.com
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.10,<4.0
|
|
10
10
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -18,6 +17,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
18
17
|
Provides-Extra: inspect
|
|
19
18
|
Requires-Dist: aiohttp
|
|
20
19
|
Requires-Dist: click (>=8.0.0,<8.4.0)
|
|
20
|
+
Requires-Dist: confident-trace (>=0.1.14,<0.2.0)
|
|
21
21
|
Requires-Dist: grpcio (>=1.67.1,<2.0.0)
|
|
22
22
|
Requires-Dist: jinja2
|
|
23
23
|
Requires-Dist: nest_asyncio
|
|
@@ -114,7 +114,7 @@ Description-Content-Type: text/markdown
|
|
|
114
114
|
|
|
115
115
|
**DeepEval** is a simple-to-use, open-source LLM evaluation framework, for evaluating large-language model systems. It is similar to Pytest but specialized for unit testing LLM apps. DeepEval incorporates the latest research to run evals via metrics such as G-Eval, task completion, answer relevancy, hallucination, etc., which use LLM-as-a-judge and other NLP models that run **locally on your machine**.
|
|
116
116
|
|
|
117
|
-
Whether you're building AI agents, multi-turn chatbots,
|
|
117
|
+
Whether you're building AI agents, voice agents, multi-turn chatbots, RAG pipelines, or anything else, implemented via LangChain or OpenAI, DeepEval has you covered. With it, you can easily evaluate:
|
|
118
118
|
|
|
119
119
|
- **LLM apps end-to-end** as black boxes
|
|
120
120
|
- **Complete AI agent trajectories** across every decision and action
|
|
@@ -155,17 +155,6 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
155
155
|
|
|
156
156
|
</details>
|
|
157
157
|
|
|
158
|
-
- <details>
|
|
159
|
-
<summary><b>Multi-Turn Metrics</b></summary>
|
|
160
|
-
|
|
161
|
-
- [Knowledge Retention](https://deepeval.com/docs/metrics-knowledge-retention) — evaluate whether the chatbot retains factual information throughout a conversation
|
|
162
|
-
- [Conversation Completeness](https://deepeval.com/docs/metrics-conversation-completeness) — measure whether the chatbot satisfies user needs throughout a conversation
|
|
163
|
-
- [Turn Relevancy](https://deepeval.com/docs/metrics-turn-relevancy) — evaluate whether the chatbot generates consistently relevant responses throughout a conversation
|
|
164
|
-
- [Turn Faithfulness](https://deepeval.com/docs/metrics-turn-faithfulness) — check if the chatbot's responses are factually grounded in retrieval context across turns
|
|
165
|
-
- [Role Adherence](https://deepeval.com/docs/metrics-role-adherence) — evaluate whether the chatbot adheres to its assigned role throughout a conversation
|
|
166
|
-
|
|
167
|
-
</details>
|
|
168
|
-
|
|
169
158
|
- <details>
|
|
170
159
|
<summary><b>Voice Agent Metrics</b></summary>
|
|
171
160
|
|
|
@@ -177,6 +166,17 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
177
166
|
|
|
178
167
|
</details>
|
|
179
168
|
|
|
169
|
+
- <details>
|
|
170
|
+
<summary><b>Multi-Turn Metrics</b></summary>
|
|
171
|
+
|
|
172
|
+
- [Knowledge Retention](https://deepeval.com/docs/metrics-knowledge-retention) — evaluate whether the chatbot retains factual information throughout a conversation
|
|
173
|
+
- [Conversation Completeness](https://deepeval.com/docs/metrics-conversation-completeness) — measure whether the chatbot satisfies user needs throughout a conversation
|
|
174
|
+
- [Turn Relevancy](https://deepeval.com/docs/metrics-turn-relevancy) — evaluate whether the chatbot generates consistently relevant responses throughout a conversation
|
|
175
|
+
- [Turn Faithfulness](https://deepeval.com/docs/metrics-turn-faithfulness) — check if the chatbot's responses are factually grounded in retrieval context across turns
|
|
176
|
+
- [Role Adherence](https://deepeval.com/docs/metrics-role-adherence) — evaluate whether the chatbot adheres to its assigned role throughout a conversation
|
|
177
|
+
|
|
178
|
+
</details>
|
|
179
|
+
|
|
180
180
|
- <details>
|
|
181
181
|
<summary><b>RAG Metrics</b></summary>
|
|
182
182
|
|
|
@@ -223,7 +223,7 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
223
223
|
|
|
224
224
|
- 🎯 Supports both end-to-end and component-level LLM evaluation.
|
|
225
225
|
- 🧩 Build your own custom metrics that are automatically integrated with DeepEval's ecosystem.
|
|
226
|
-
- 🔮 Generate
|
|
226
|
+
- 🔮 Generate single and multi-turn synthetic datasets, and simulate live voice calls against your voice agent.
|
|
227
227
|
- 🔗 Integrates seamlessly with **ANY** CI/CD environment.
|
|
228
228
|
- 🧬 Optimize prompts automatically based on evaluation results.
|
|
229
229
|
- 🏆 Easily benchmark **ANY** LLM on popular LLM benchmarks in [under 10 lines of code.](https://deepeval.com/docs/benchmarks-introduction?utm_source=GitHub), including MMLU, HellaSwag, DROP, BIG-Bench Hard, TruthfulQA, HumanEval, GSM8K.
|
|
@@ -232,7 +232,7 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
232
232
|
|
|
233
233
|
# 🔌 Integrations
|
|
234
234
|
|
|
235
|
-
DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and more. The same traces can go to **Confident AI** once you're live, where evals run on every production trace.
|
|
235
|
+
DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and more — and into voice stacks like Vapi, ElevenLabs, LiveKit, and Pipecat. The same traces can go to **Confident AI** once you're live, where evals run on every production trace.
|
|
236
236
|
|
|
237
237
|
## Frameworks
|
|
238
238
|
|
|
@@ -249,13 +249,20 @@ DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and
|
|
|
249
249
|
- [OpenAI Agents](https://www.deepeval.com/integrations/frameworks/openai-agents?utm_source=GitHub) — evaluate OpenAI Agents end-to-end in under a minute
|
|
250
250
|
- [LlamaIndex](https://www.deepeval.com/integrations/frameworks/llamaindex?utm_source=GitHub) — evaluate AI agents and RAG applications built with LlamaIndex
|
|
251
251
|
|
|
252
|
+
## Voice Agent Connectors
|
|
253
|
+
|
|
254
|
+
- [Vapi](https://www.deepeval.com/integrations/voice-agent-connectors/vapi?utm_source=GitHub) — simulate calls to a Vapi assistant over its WebSocket transport
|
|
255
|
+
- [ElevenLabs](https://www.deepeval.com/integrations/voice-agent-connectors/elevenlabs?utm_source=GitHub) — simulate calls to an ElevenLabs conversational agent
|
|
256
|
+
- [LiveKit](https://www.deepeval.com/integrations/voice-agent-connectors/livekit?utm_source=GitHub) — join your agent's LiveKit room and trade audio over WebRTC
|
|
257
|
+
- [Pipecat](https://www.deepeval.com/integrations/voice-agent-connectors/pipecat?utm_source=GitHub) — connect to your Pipecat pipeline over its WebSocket transport
|
|
258
|
+
|
|
252
259
|
## ☁️ Platform + Ecosystem
|
|
253
260
|
|
|
254
261
|
[Confident AI](https://www.confident-ai.com?utm_source=deepeval&utm_medium=github&utm_content=platform_section&ref_page=github/readme) is AI monitoring for applications in production. DeepEval tests what you know to test before you ship; Confident AI finds what you didn't, and it's model- and framework-agnostic.
|
|
255
262
|
|
|
256
263
|
- Failing traces surface before anyone has written an eval for them, clustered into failure modes, with user sentiment and behavior across traces.
|
|
257
264
|
- Failing traces route to the right annotators and become goldens, so production issues turn into your next eval.
|
|
258
|
-
- For enterprise teams, one system for AI quality:
|
|
265
|
+
- For enterprise teams, one system for AI quality: evals, monitoring, human annotation, and voice-native observability, with governance as release gates.
|
|
259
266
|
- Prefer to stay in your editor? Inspect failing traces and pull the datasets built from them in Claude Code or Cursor through Confident AI's [MCP server](https://github.com/confident-ai/confident-mcp-server).
|
|
260
267
|
|
|
261
268
|
<p align="center">
|
|
@@ -266,7 +273,7 @@ DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and
|
|
|
266
273
|
|
|
267
274
|
# 🤖 Vibe-Coder QuickStart
|
|
268
275
|
|
|
269
|
-
Want your coding agent to add evals and fix failures for you? Install the DeepEval skill, point it at your AI agent, multi-turn chatbot,
|
|
276
|
+
Want your coding agent to add evals and fix failures for you? Install the DeepEval skill, point it at your AI agent, voice agent, multi-turn chatbot, RAG pipeline, or any other LLM app, and ask it to generate a dataset, write the eval suite, run `deepeval test run`, and iterate on the failing metrics.
|
|
270
277
|
|
|
271
278
|
[Start with the 5-minute vibe-coder guide](https://deepeval.com/docs/vibe-coder-quickstart?utm_source=GitHub).
|
|
272
279
|
|
|
@@ -278,7 +285,7 @@ Let's pretend your LLM application is a customer support AI agent; here's how De
|
|
|
278
285
|
|
|
279
286
|
## Installation
|
|
280
287
|
|
|
281
|
-
Deepeval works with **Python>=3.
|
|
288
|
+
Deepeval works with **Python>=3.10+**.
|
|
282
289
|
|
|
283
290
|
```
|
|
284
291
|
pip install -U deepeval
|
|
@@ -670,7 +677,7 @@ print(answer_relevancy_metric.score)
|
|
|
670
677
|
print(answer_relevancy_metric.reason)
|
|
671
678
|
```
|
|
672
679
|
|
|
673
|
-
Note that some metrics are built for specific use cases, such as AI agents, multi-turn chatbots,
|
|
680
|
+
Note that some metrics are built for specific use cases, such as AI agents, voice agents, multi-turn chatbots, RAG, and more. Make sure to use our docs to pick the right one for your use case.
|
|
674
681
|
|
|
675
682
|
## A Note on Env Variables (.env / .env.local)
|
|
676
683
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
|
|
62
62
|
**DeepEval** is a simple-to-use, open-source LLM evaluation framework, for evaluating large-language model systems. It is similar to Pytest but specialized for unit testing LLM apps. DeepEval incorporates the latest research to run evals via metrics such as G-Eval, task completion, answer relevancy, hallucination, etc., which use LLM-as-a-judge and other NLP models that run **locally on your machine**.
|
|
63
63
|
|
|
64
|
-
Whether you're building AI agents, multi-turn chatbots,
|
|
64
|
+
Whether you're building AI agents, voice agents, multi-turn chatbots, RAG pipelines, or anything else, implemented via LangChain or OpenAI, DeepEval has you covered. With it, you can easily evaluate:
|
|
65
65
|
|
|
66
66
|
- **LLM apps end-to-end** as black boxes
|
|
67
67
|
- **Complete AI agent trajectories** across every decision and action
|
|
@@ -102,17 +102,6 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
102
102
|
|
|
103
103
|
</details>
|
|
104
104
|
|
|
105
|
-
- <details>
|
|
106
|
-
<summary><b>Multi-Turn Metrics</b></summary>
|
|
107
|
-
|
|
108
|
-
- [Knowledge Retention](https://deepeval.com/docs/metrics-knowledge-retention) — evaluate whether the chatbot retains factual information throughout a conversation
|
|
109
|
-
- [Conversation Completeness](https://deepeval.com/docs/metrics-conversation-completeness) — measure whether the chatbot satisfies user needs throughout a conversation
|
|
110
|
-
- [Turn Relevancy](https://deepeval.com/docs/metrics-turn-relevancy) — evaluate whether the chatbot generates consistently relevant responses throughout a conversation
|
|
111
|
-
- [Turn Faithfulness](https://deepeval.com/docs/metrics-turn-faithfulness) — check if the chatbot's responses are factually grounded in retrieval context across turns
|
|
112
|
-
- [Role Adherence](https://deepeval.com/docs/metrics-role-adherence) — evaluate whether the chatbot adheres to its assigned role throughout a conversation
|
|
113
|
-
|
|
114
|
-
</details>
|
|
115
|
-
|
|
116
105
|
- <details>
|
|
117
106
|
<summary><b>Voice Agent Metrics</b></summary>
|
|
118
107
|
|
|
@@ -124,6 +113,17 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
124
113
|
|
|
125
114
|
</details>
|
|
126
115
|
|
|
116
|
+
- <details>
|
|
117
|
+
<summary><b>Multi-Turn Metrics</b></summary>
|
|
118
|
+
|
|
119
|
+
- [Knowledge Retention](https://deepeval.com/docs/metrics-knowledge-retention) — evaluate whether the chatbot retains factual information throughout a conversation
|
|
120
|
+
- [Conversation Completeness](https://deepeval.com/docs/metrics-conversation-completeness) — measure whether the chatbot satisfies user needs throughout a conversation
|
|
121
|
+
- [Turn Relevancy](https://deepeval.com/docs/metrics-turn-relevancy) — evaluate whether the chatbot generates consistently relevant responses throughout a conversation
|
|
122
|
+
- [Turn Faithfulness](https://deepeval.com/docs/metrics-turn-faithfulness) — check if the chatbot's responses are factually grounded in retrieval context across turns
|
|
123
|
+
- [Role Adherence](https://deepeval.com/docs/metrics-role-adherence) — evaluate whether the chatbot adheres to its assigned role throughout a conversation
|
|
124
|
+
|
|
125
|
+
</details>
|
|
126
|
+
|
|
127
127
|
- <details>
|
|
128
128
|
<summary><b>RAG Metrics</b></summary>
|
|
129
129
|
|
|
@@ -170,7 +170,7 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
170
170
|
|
|
171
171
|
- 🎯 Supports both end-to-end and component-level LLM evaluation.
|
|
172
172
|
- 🧩 Build your own custom metrics that are automatically integrated with DeepEval's ecosystem.
|
|
173
|
-
- 🔮 Generate
|
|
173
|
+
- 🔮 Generate single and multi-turn synthetic datasets, and simulate live voice calls against your voice agent.
|
|
174
174
|
- 🔗 Integrates seamlessly with **ANY** CI/CD environment.
|
|
175
175
|
- 🧬 Optimize prompts automatically based on evaluation results.
|
|
176
176
|
- 🏆 Easily benchmark **ANY** LLM on popular LLM benchmarks in [under 10 lines of code.](https://deepeval.com/docs/benchmarks-introduction?utm_source=GitHub), including MMLU, HellaSwag, DROP, BIG-Bench Hard, TruthfulQA, HumanEval, GSM8K.
|
|
@@ -179,7 +179,7 @@ Use these evaluations to determine the optimal models, prompts, and architecture
|
|
|
179
179
|
|
|
180
180
|
# 🔌 Integrations
|
|
181
181
|
|
|
182
|
-
DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and more. The same traces can go to **Confident AI** once you're live, where evals run on every production trace.
|
|
182
|
+
DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and more — and into voice stacks like Vapi, ElevenLabs, LiveKit, and Pipecat. The same traces can go to **Confident AI** once you're live, where evals run on every production trace.
|
|
183
183
|
|
|
184
184
|
## Frameworks
|
|
185
185
|
|
|
@@ -196,13 +196,20 @@ DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and
|
|
|
196
196
|
- [OpenAI Agents](https://www.deepeval.com/integrations/frameworks/openai-agents?utm_source=GitHub) — evaluate OpenAI Agents end-to-end in under a minute
|
|
197
197
|
- [LlamaIndex](https://www.deepeval.com/integrations/frameworks/llamaindex?utm_source=GitHub) — evaluate AI agents and RAG applications built with LlamaIndex
|
|
198
198
|
|
|
199
|
+
## Voice Agent Connectors
|
|
200
|
+
|
|
201
|
+
- [Vapi](https://www.deepeval.com/integrations/voice-agent-connectors/vapi?utm_source=GitHub) — simulate calls to a Vapi assistant over its WebSocket transport
|
|
202
|
+
- [ElevenLabs](https://www.deepeval.com/integrations/voice-agent-connectors/elevenlabs?utm_source=GitHub) — simulate calls to an ElevenLabs conversational agent
|
|
203
|
+
- [LiveKit](https://www.deepeval.com/integrations/voice-agent-connectors/livekit?utm_source=GitHub) — join your agent's LiveKit room and trade audio over WebRTC
|
|
204
|
+
- [Pipecat](https://www.deepeval.com/integrations/voice-agent-connectors/pipecat?utm_source=GitHub) — connect to your Pipecat pipeline over its WebSocket transport
|
|
205
|
+
|
|
199
206
|
## ☁️ Platform + Ecosystem
|
|
200
207
|
|
|
201
208
|
[Confident AI](https://www.confident-ai.com?utm_source=deepeval&utm_medium=github&utm_content=platform_section&ref_page=github/readme) is AI monitoring for applications in production. DeepEval tests what you know to test before you ship; Confident AI finds what you didn't, and it's model- and framework-agnostic.
|
|
202
209
|
|
|
203
210
|
- Failing traces surface before anyone has written an eval for them, clustered into failure modes, with user sentiment and behavior across traces.
|
|
204
211
|
- Failing traces route to the right annotators and become goldens, so production issues turn into your next eval.
|
|
205
|
-
- For enterprise teams, one system for AI quality:
|
|
212
|
+
- For enterprise teams, one system for AI quality: evals, monitoring, human annotation, and voice-native observability, with governance as release gates.
|
|
206
213
|
- Prefer to stay in your editor? Inspect failing traces and pull the datasets built from them in Claude Code or Cursor through Confident AI's [MCP server](https://github.com/confident-ai/confident-mcp-server).
|
|
207
214
|
|
|
208
215
|
<p align="center">
|
|
@@ -213,7 +220,7 @@ DeepEval plugs into any LLM framework — OpenAI Agents, LangChain, CrewAI, and
|
|
|
213
220
|
|
|
214
221
|
# 🤖 Vibe-Coder QuickStart
|
|
215
222
|
|
|
216
|
-
Want your coding agent to add evals and fix failures for you? Install the DeepEval skill, point it at your AI agent, multi-turn chatbot,
|
|
223
|
+
Want your coding agent to add evals and fix failures for you? Install the DeepEval skill, point it at your AI agent, voice agent, multi-turn chatbot, RAG pipeline, or any other LLM app, and ask it to generate a dataset, write the eval suite, run `deepeval test run`, and iterate on the failing metrics.
|
|
217
224
|
|
|
218
225
|
[Start with the 5-minute vibe-coder guide](https://deepeval.com/docs/vibe-coder-quickstart?utm_source=GitHub).
|
|
219
226
|
|
|
@@ -225,7 +232,7 @@ Let's pretend your LLM application is a customer support AI agent; here's how De
|
|
|
225
232
|
|
|
226
233
|
## Installation
|
|
227
234
|
|
|
228
|
-
Deepeval works with **Python>=3.
|
|
235
|
+
Deepeval works with **Python>=3.10+**.
|
|
229
236
|
|
|
230
237
|
```
|
|
231
238
|
pip install -U deepeval
|
|
@@ -617,7 +624,7 @@ print(answer_relevancy_metric.score)
|
|
|
617
624
|
print(answer_relevancy_metric.reason)
|
|
618
625
|
```
|
|
619
626
|
|
|
620
|
-
Note that some metrics are built for specific use cases, such as AI agents, multi-turn chatbots,
|
|
627
|
+
Note that some metrics are built for specific use cases, such as AI agents, voice agents, multi-turn chatbots, RAG, and more. Make sure to use our docs to pick the right one for your use case.
|
|
621
628
|
|
|
622
629
|
## A Note on Env Variables (.env / .env.local)
|
|
623
630
|
|
|
@@ -55,20 +55,16 @@ def _expose_public_api() -> None:
|
|
|
55
55
|
telemetry = _telemetry
|
|
56
56
|
|
|
57
57
|
def instrument(*args, **kwargs):
|
|
58
|
-
"""
|
|
58
|
+
"""Trace whatever OpenInference instrumentors run for deepeval.
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
instrumentor (e.g. ``GoogleADKInstrumentor``, ``OpenAIInstrumentor``)
|
|
65
|
-
to capture framework-specific telemetry.
|
|
60
|
+
Starts confident-trace, whose tracer provider any community
|
|
61
|
+
OpenInference instrumentor (e.g. ``OpenAIInstrumentor``) traces on.
|
|
62
|
+
deepeval evaluates the spans it collects, and confident-trace sends
|
|
63
|
+
the rest to Confident AI.
|
|
66
64
|
|
|
67
65
|
Accepts the same trace-level kwargs as
|
|
68
66
|
``deepeval.integrations.openinference.instrument_openinference``:
|
|
69
|
-
``
|
|
70
|
-
``tags``, ``environment``, ``metric_collection``, ``test_case_id``,
|
|
71
|
-
``turn_id``. Span-level config goes on ``with next_*_span(...)``
|
|
67
|
+
``name``, ``thread_id``, ``metadata``, ``tags``, ``environment``. Span-level config goes on ``with next_*_span(...)``
|
|
72
68
|
/ ``update_current_span(...)``.
|
|
73
69
|
"""
|
|
74
70
|
from deepeval.integrations.openinference import (
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__: str = "4.3.4"
|
|
@@ -12,9 +12,9 @@ except ImportError:
|
|
|
12
12
|
AsyncAnthropic = None # type: ignore
|
|
13
13
|
|
|
14
14
|
if Anthropic or AsyncAnthropic:
|
|
15
|
-
from deepeval.anthropic.patch import patch_anthropic_classes
|
|
16
15
|
from deepeval.telemetry import capture_tracing_integration
|
|
17
16
|
from deepeval.tracing.integrations import Integration
|
|
17
|
+
from deepeval.tracing.otel.setup import ensure_confident_trace
|
|
18
18
|
|
|
19
19
|
with capture_tracing_integration(Integration.ANTHROPIC):
|
|
20
|
-
|
|
20
|
+
ensure_confident_trace(("anthropic",))
|
|
@@ -990,6 +990,14 @@ class Settings(BaseSettings):
|
|
|
990
990
|
None,
|
|
991
991
|
description="Enable detailed internal tracing of metric and model methods inside @observe spans.",
|
|
992
992
|
)
|
|
993
|
+
DEEPEVAL_AUTO_TRACE: Optional[bool] = Field(
|
|
994
|
+
True,
|
|
995
|
+
description="Trace every installed library confident-trace supports while evals_iterator or deepeval test run runs. Set to false to trace only @observe code and the integrations you set up.",
|
|
996
|
+
)
|
|
997
|
+
DEEPEVAL_GLOBAL_TRACER_PROVIDER: Optional[bool] = Field(
|
|
998
|
+
False,
|
|
999
|
+
description="Install deepeval's tracer provider as the global OpenTelemetry provider when none is set, so other OpenTelemetry spans in your app are traced too. Off by default, which leaves the global provider to your own OpenTelemetry setup.",
|
|
1000
|
+
)
|
|
993
1001
|
|
|
994
1002
|
CONFIDENT_OTEL_URL: Optional[AnyUrl] = Field(
|
|
995
1003
|
"https://otel.confident-ai.com",
|
|
@@ -1181,7 +1189,9 @@ class Settings(BaseSettings):
|
|
|
1181
1189
|
"DEEPEVAL_DISABLE_TIMEOUTS",
|
|
1182
1190
|
"DEEPEVAL_VERBOSE_MODE",
|
|
1183
1191
|
"DEEPEVAL_GRPC_LOGGING",
|
|
1192
|
+
"DEEPEVAL_AUTO_TRACE",
|
|
1184
1193
|
"DEEPEVAL_DISABLE_DOTENV",
|
|
1194
|
+
"DEEPEVAL_GLOBAL_TRACER_PROVIDER",
|
|
1185
1195
|
"DEEPEVAL_TELEMETRY_OPT_OUT",
|
|
1186
1196
|
"DEEPEVAL_TELEMETRY_ENABLED",
|
|
1187
1197
|
"DEEPEVAL_MODEL_THINKING",
|
|
@@ -12,7 +12,6 @@ LOGIN_PROMPT = "\n✨👀 Looking for a place for your LLM test data to live
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
CONFIDENT_TRACE_VERBOSE = "CONFIDENT_TRACE_VERBOSE"
|
|
15
|
-
CONFIDENT_TRACE_FLUSH = "CONFIDENT_TRACE_FLUSH"
|
|
16
15
|
CONFIDENT_TRACE_SAMPLE_RATE = "CONFIDENT_TRACE_SAMPLE_RATE"
|
|
17
16
|
CONFIDENT_TRACE_ENVIRONMENT = "CONFIDENT_TRACE_ENVIRONMENT"
|
|
18
17
|
CONFIDENT_TRACING_ENABLED = "CONFIDENT_TRACING_ENABLED"
|
|
@@ -476,9 +476,11 @@ class EvaluationDataset:
|
|
|
476
476
|
retrieval_context = reconstruct_retrieval_context(
|
|
477
477
|
json_obj.get(retrieval_context_key_name)
|
|
478
478
|
)
|
|
479
|
-
|
|
479
|
+
# A key that is present but null (as save_as writes for goldens
|
|
480
|
+
# without tools) means no tools, same as a missing key.
|
|
481
|
+
tools_called_data = json_obj.get(tools_called_key_name) or []
|
|
480
482
|
tools_called = [ToolCall(**tool) for tool in tools_called_data]
|
|
481
|
-
expected_tools_data = json_obj.get(expected_tools_key_name
|
|
483
|
+
expected_tools_data = json_obj.get(expected_tools_key_name) or []
|
|
482
484
|
expected_tools = [ToolCall(**tool) for tool in expected_tools_data]
|
|
483
485
|
# additional_metadata = json_obj.get(addtional_metadata_key_name)
|
|
484
486
|
|
|
@@ -384,6 +384,9 @@ class ConversationalGolden(BaseModel):
|
|
|
384
384
|
if re.search(pattern, self.user_description) is not None:
|
|
385
385
|
self.multimodal = True
|
|
386
386
|
return self
|
|
387
|
+
if self.context and any(re.search(pattern, c) for c in self.context):
|
|
388
|
+
self.multimodal = True
|
|
389
|
+
return self
|
|
387
390
|
if self.turns:
|
|
388
391
|
for turn in self.turns:
|
|
389
392
|
if re.search(pattern, turn.content) is not None:
|
|
@@ -32,6 +32,7 @@ def strip_local_expectation_fields(golden_bodies: List[Dict[str, Any]]):
|
|
|
32
32
|
for field in _LOCAL_ONLY_EXPECTATION_FIELDS:
|
|
33
33
|
expectations.pop(field, None)
|
|
34
34
|
|
|
35
|
+
|
|
35
36
|
# RetrievedContextData declares an @model_serializer, so a plain model_dump
|
|
36
37
|
# flattens it and a save/load round-trip loses the source. Serialize each item
|
|
37
38
|
# to a namespaced, parseable marker instead, and reconstruct it on load.
|
|
@@ -67,8 +67,7 @@ class NoMetricsError(DeepEvalError):
|
|
|
67
67
|
Raised by the ``evals_iterator`` executor when, after iteration completes,
|
|
68
68
|
we can prove that no metrics were declared via:
|
|
69
69
|
- ``evals_iterator(metrics=[...])`` (top-level / trace-level metrics)
|
|
70
|
-
- ``@observe(metrics=[...])``
|
|
71
|
-
on any span (span-level metrics)
|
|
70
|
+
- ``@observe(metrics=[...])`` on any span (span-level metrics)
|
|
72
71
|
- ``update_current_trace(metrics=[...])`` inside the traced function
|
|
73
72
|
(trace-level metrics, set at runtime)
|
|
74
73
|
|
|
@@ -22,6 +22,7 @@ from deepeval.evaluate.utils import (
|
|
|
22
22
|
validate_evaluate_inputs,
|
|
23
23
|
)
|
|
24
24
|
from deepeval.evaluate.console_report import EvaluationConsoleReport
|
|
25
|
+
from deepeval.evaluate.local_store import save_results_locally
|
|
25
26
|
from deepeval.dataset import Golden
|
|
26
27
|
from deepeval.prompt import Prompt
|
|
27
28
|
from deepeval.test_case.utils import (
|
|
@@ -346,12 +347,18 @@ def evaluate(
|
|
|
346
347
|
|
|
347
348
|
if not metrics and not has_expectations:
|
|
348
349
|
# Classifier-only run: classifications are local-only for now, so
|
|
349
|
-
# there is no test run to finalize or upload.
|
|
350
|
-
|
|
350
|
+
# there is no test run to finalize or upload; only save locally.
|
|
351
|
+
result = EvaluationResult(
|
|
351
352
|
test_results=test_results,
|
|
352
353
|
confident_link=None,
|
|
353
354
|
test_run_id=None,
|
|
354
355
|
)
|
|
356
|
+
save_results_locally(
|
|
357
|
+
result,
|
|
358
|
+
results_folder=display_config.results_folder,
|
|
359
|
+
results_subfolder=display_config.results_subfolder,
|
|
360
|
+
)
|
|
361
|
+
return result
|
|
355
362
|
|
|
356
363
|
global_test_run_manager.save_test_run(TEMP_FILE_PATH)
|
|
357
364
|
|
|
@@ -15,7 +15,6 @@ from deepeval.tracing.tracing import (
|
|
|
15
15
|
trace_manager,
|
|
16
16
|
Trace,
|
|
17
17
|
BaseSpan,
|
|
18
|
-
LlmSpan,
|
|
19
18
|
)
|
|
20
19
|
from deepeval.errors import MissingTestCaseParamsError
|
|
21
20
|
from deepeval.utils import (
|
|
@@ -35,19 +34,9 @@ from deepeval.test_case import (
|
|
|
35
34
|
LLMTestCase,
|
|
36
35
|
ConversationalTestCase,
|
|
37
36
|
)
|
|
38
|
-
from deepeval.test_run import (
|
|
39
|
-
global_test_run_manager,
|
|
40
|
-
TestRunManager,
|
|
41
|
-
)
|
|
42
37
|
from deepeval.evaluate.types import TestResult
|
|
43
38
|
from deepeval.tracing.types import TraceSpanStatus
|
|
44
39
|
from deepeval.config.settings import get_settings
|
|
45
|
-
from deepeval.test_run import TEMP_FILE_PATH
|
|
46
|
-
from deepeval.confident.api import is_confident
|
|
47
|
-
from deepeval.test_run.hyperparameters import (
|
|
48
|
-
process_hyperparameters,
|
|
49
|
-
process_prompts,
|
|
50
|
-
)
|
|
51
40
|
|
|
52
41
|
logger = logging.getLogger(__name__)
|
|
53
42
|
|
|
@@ -116,6 +105,15 @@ def _skip_metrics_for_error(
|
|
|
116
105
|
return False
|
|
117
106
|
|
|
118
107
|
|
|
108
|
+
def _attach_span_tree(
|
|
109
|
+
test_case: LLMTestCase, trace: Trace, span: Optional[BaseSpan]
|
|
110
|
+
) -> None:
|
|
111
|
+
"""Let metrics that look past their own span (e.g. ArgumentCorrectness)
|
|
112
|
+
reach the rest of the trace. `span` is None for a trace-level test case."""
|
|
113
|
+
test_case._trace_root_spans = trace.root_spans
|
|
114
|
+
test_case._trace_span = span
|
|
115
|
+
|
|
116
|
+
|
|
119
117
|
def _trace_error(current_trace: Trace) -> Optional[str]:
|
|
120
118
|
def _first_err(s: BaseSpan) -> Optional[str]:
|
|
121
119
|
if s.status == TraceSpanStatus.ERRORED and s.error:
|
|
@@ -317,36 +315,3 @@ def _execute_classifier(
|
|
|
317
315
|
classifier.label = None
|
|
318
316
|
else:
|
|
319
317
|
raise
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
def log_prompt(
|
|
323
|
-
llm_span: LlmSpan,
|
|
324
|
-
test_run_manager: TestRunManager,
|
|
325
|
-
):
|
|
326
|
-
prompt = llm_span.prompt
|
|
327
|
-
if prompt is None:
|
|
328
|
-
return
|
|
329
|
-
|
|
330
|
-
span_hyperparameters = {}
|
|
331
|
-
prompt_hash = prompt.hash if is_confident() else None
|
|
332
|
-
key = f"{prompt.alias}_{prompt_hash}"
|
|
333
|
-
span_hyperparameters[key] = prompt
|
|
334
|
-
|
|
335
|
-
test_run = test_run_manager.get_test_run()
|
|
336
|
-
if test_run.prompts is None:
|
|
337
|
-
test_run.prompts = []
|
|
338
|
-
if test_run.hyperparameters is None:
|
|
339
|
-
test_run.hyperparameters = {}
|
|
340
|
-
|
|
341
|
-
if key not in test_run.hyperparameters:
|
|
342
|
-
test_run.hyperparameters.update(
|
|
343
|
-
process_hyperparameters(span_hyperparameters, False)
|
|
344
|
-
)
|
|
345
|
-
existing_prompt_keys = {f"{p.alias}_{p.hash}" for p in test_run.prompts}
|
|
346
|
-
new_prompts = process_prompts(span_hyperparameters)
|
|
347
|
-
for new_prompt in new_prompts:
|
|
348
|
-
new_prompt_key = f"{new_prompt.alias}_{new_prompt.hash}"
|
|
349
|
-
if new_prompt_key not in existing_prompt_keys:
|
|
350
|
-
test_run.prompts.append(new_prompt)
|
|
351
|
-
|
|
352
|
-
global_test_run_manager.save_test_run(TEMP_FILE_PATH)
|
|
@@ -65,10 +65,10 @@ logger = logging.getLogger(__name__)
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
from deepeval.evaluate.execute._common import (
|
|
68
|
+
_attach_span_tree,
|
|
68
69
|
_skip_metrics_for_error,
|
|
69
70
|
_trace_error,
|
|
70
71
|
filter_duplicate_results,
|
|
71
|
-
log_prompt,
|
|
72
72
|
)
|
|
73
73
|
|
|
74
74
|
|
|
@@ -354,7 +354,6 @@ async def _a_execute_span_test_case(
|
|
|
354
354
|
trace_api.agent_spans.append(api_span)
|
|
355
355
|
elif isinstance(span, LlmSpan):
|
|
356
356
|
trace_api.llm_spans.append(api_span)
|
|
357
|
-
log_prompt(span, test_run_manager)
|
|
358
357
|
elif isinstance(span, RetrieverSpan):
|
|
359
358
|
trace_api.retriever_spans.append(api_span)
|
|
360
359
|
elif isinstance(span, ToolSpan):
|
|
@@ -416,6 +415,7 @@ async def _a_execute_span_test_case(
|
|
|
416
415
|
if test_case is None:
|
|
417
416
|
test_case = LLMTestCase(input="None")
|
|
418
417
|
test_case._trace_dict = trace_manager.create_nested_spans_dict(span)
|
|
418
|
+
_attach_span_tree(test_case, current_trace, span)
|
|
419
419
|
|
|
420
420
|
for metric in metrics:
|
|
421
421
|
metric.skipped = False
|
|
@@ -524,6 +524,7 @@ async def _a_execute_trace_test_case(
|
|
|
524
524
|
test_case._trace_dict = trace_manager.create_nested_spans_dict(
|
|
525
525
|
trace.root_spans[0]
|
|
526
526
|
)
|
|
527
|
+
_attach_span_tree(test_case, trace, None)
|
|
527
528
|
|
|
528
529
|
for metric in metrics:
|
|
529
530
|
metric.skipped = False
|
|
@@ -35,6 +35,7 @@ from deepeval.tracing.tracing import (
|
|
|
35
35
|
ToolSpan,
|
|
36
36
|
)
|
|
37
37
|
from deepeval.tracing.context import current_trace_context
|
|
38
|
+
from deepeval.tracing.otel.setup import start_automatic_tracing
|
|
38
39
|
from deepeval.tracing.api import (
|
|
39
40
|
BaseApiSpan,
|
|
40
41
|
)
|
|
@@ -85,6 +86,7 @@ logger = logging.getLogger(__name__)
|
|
|
85
86
|
|
|
86
87
|
|
|
87
88
|
from deepeval.evaluate.execute._common import (
|
|
89
|
+
_attach_span_tree,
|
|
88
90
|
_await_with_outer_deadline,
|
|
89
91
|
_execute_metric,
|
|
90
92
|
_log_gather_timeout,
|
|
@@ -94,7 +96,6 @@ from deepeval.evaluate.execute._common import (
|
|
|
94
96
|
_snapshot_tasks,
|
|
95
97
|
_trace_error,
|
|
96
98
|
filter_duplicate_results,
|
|
97
|
-
log_prompt,
|
|
98
99
|
)
|
|
99
100
|
from deepeval.evaluate.execute.agentic import (
|
|
100
101
|
_a_execute_agentic_test_case,
|
|
@@ -251,7 +252,6 @@ def execute_agentic_test_cases_from_loop(
|
|
|
251
252
|
trace_api.agent_spans.append(api_span)
|
|
252
253
|
elif isinstance(span, LlmSpan):
|
|
253
254
|
trace_api.llm_spans.append(api_span)
|
|
254
|
-
log_prompt(span, test_run_manager)
|
|
255
255
|
elif isinstance(span, RetrieverSpan):
|
|
256
256
|
trace_api.retriever_spans.append(api_span)
|
|
257
257
|
elif isinstance(span, ToolSpan):
|
|
@@ -319,6 +319,7 @@ def execute_agentic_test_cases_from_loop(
|
|
|
319
319
|
advance=count_metrics_in_span_subtree(span),
|
|
320
320
|
)
|
|
321
321
|
return
|
|
322
|
+
_attach_span_tree(llm_test_case, current_trace, span)
|
|
322
323
|
|
|
323
324
|
# Preparing metric calculation
|
|
324
325
|
api_span.metrics_data = []
|
|
@@ -411,6 +412,7 @@ def execute_agentic_test_cases_from_loop(
|
|
|
411
412
|
current_trace.root_spans[0]
|
|
412
413
|
)
|
|
413
414
|
)
|
|
415
|
+
_attach_span_tree(llm_test_case, current_trace, None)
|
|
414
416
|
|
|
415
417
|
if not skip_metrics_for_this_golden:
|
|
416
418
|
for metric in current_trace.metrics:
|
|
@@ -476,6 +478,7 @@ def execute_agentic_test_cases_from_loop(
|
|
|
476
478
|
):
|
|
477
479
|
_raise_no_metrics_error()
|
|
478
480
|
|
|
481
|
+
stop_automatic_tracing = start_automatic_tracing()
|
|
479
482
|
try:
|
|
480
483
|
if display_config.show_indicator and _use_bar_indicator:
|
|
481
484
|
progress = Progress(
|
|
@@ -499,6 +502,7 @@ def execute_agentic_test_cases_from_loop(
|
|
|
499
502
|
except Exception:
|
|
500
503
|
raise
|
|
501
504
|
finally:
|
|
505
|
+
stop_automatic_tracing()
|
|
502
506
|
# Atomic exit cleanup: replacing the session resets mode + every
|
|
503
507
|
# per-run collection in a single assignment, so state can't leak
|
|
504
508
|
# into the next run.
|
|
@@ -913,6 +917,7 @@ def a_execute_agentic_test_cases_from_loop(
|
|
|
913
917
|
)
|
|
914
918
|
)
|
|
915
919
|
|
|
920
|
+
stop_automatic_tracing = start_automatic_tracing()
|
|
916
921
|
try:
|
|
917
922
|
if display_config.show_indicator and _use_bar_indicator:
|
|
918
923
|
progress = Progress(
|
|
@@ -943,6 +948,7 @@ def a_execute_agentic_test_cases_from_loop(
|
|
|
943
948
|
except Exception:
|
|
944
949
|
raise
|
|
945
950
|
finally:
|
|
951
|
+
stop_automatic_tracing()
|
|
946
952
|
# Atomic exit cleanup: replacing the session resets mode + every
|
|
947
953
|
# per-run collection in a single assignment.
|
|
948
954
|
local_trace_manager.eval_session = EvalSession()
|
|
@@ -53,10 +53,10 @@ logger = logging.getLogger(__name__)
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
from deepeval.evaluate.execute._common import (
|
|
56
|
+
_attach_span_tree,
|
|
56
57
|
_execute_metric,
|
|
57
58
|
_skip_metrics_for_error,
|
|
58
59
|
_trace_error,
|
|
59
|
-
log_prompt,
|
|
60
60
|
)
|
|
61
61
|
|
|
62
62
|
|
|
@@ -132,6 +132,8 @@ def _assert_test_from_current_trace(
|
|
|
132
132
|
is_promoted_root = True
|
|
133
133
|
else:
|
|
134
134
|
root_for_dfs = root
|
|
135
|
+
# A root still parked under the open wrapper points at it too.
|
|
136
|
+
is_promoted_root = root.parent_uuid is not None
|
|
135
137
|
|
|
136
138
|
effective_trace_output = (
|
|
137
139
|
current_trace.output
|
|
@@ -187,7 +189,6 @@ def _assert_test_from_current_trace(
|
|
|
187
189
|
trace_api.agent_spans.append(api_span)
|
|
188
190
|
elif isinstance(span, LlmSpan):
|
|
189
191
|
trace_api.llm_spans.append(api_span)
|
|
190
|
-
log_prompt(span, test_run_manager)
|
|
191
192
|
elif isinstance(span, RetrieverSpan):
|
|
192
193
|
trace_api.retriever_spans.append(api_span)
|
|
193
194
|
elif isinstance(span, ToolSpan):
|
|
@@ -239,6 +240,7 @@ def _assert_test_from_current_trace(
|
|
|
239
240
|
)
|
|
240
241
|
)
|
|
241
242
|
return
|
|
243
|
+
_attach_span_tree(llm_test_case, current_trace, span)
|
|
242
244
|
|
|
243
245
|
api_span.metrics_data = []
|
|
244
246
|
for metric in metrics:
|
|
@@ -301,6 +303,7 @@ def _assert_test_from_current_trace(
|
|
|
301
303
|
llm_test_case_for_trace._trace_dict = (
|
|
302
304
|
trace_manager.create_nested_spans_dict(root_for_dfs)
|
|
303
305
|
)
|
|
306
|
+
_attach_span_tree(llm_test_case_for_trace, current_trace, None)
|
|
304
307
|
|
|
305
308
|
trace_api.metrics_data = []
|
|
306
309
|
for metric in current_trace.metrics:
|
|
@@ -176,8 +176,7 @@ class _ExpectationEvaluator:
|
|
|
176
176
|
for condition, verdict in zip(conditions, self.verdicts)
|
|
177
177
|
]
|
|
178
178
|
return (
|
|
179
|
-
_REASON_INSTRUCTIONS
|
|
180
|
-
+ f"Score:\n{self.score}\n\n"
|
|
179
|
+
_REASON_INSTRUCTIONS + f"Score:\n{self.score}\n\n"
|
|
181
180
|
f"Requirements:\n{json.dumps(verdicts, ensure_ascii=False)}\n\n"
|
|
182
181
|
"JSON:\n"
|
|
183
182
|
)
|