deepeval 3.6.3__tar.gz → 3.6.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-3.6.3 → deepeval-3.6.4}/PKG-INFO +1 -1
- deepeval-3.6.4/deepeval/_version.py +1 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/prompt/prompt.py +133 -86
- {deepeval-3.6.3 → deepeval-3.6.4}/pyproject.toml +1 -1
- deepeval-3.6.3/deepeval/_version.py +0 -1
- {deepeval-3.6.3 → deepeval-3.6.4}/LICENSE.md +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/README.md +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/annotation/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/annotation/annotation.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/annotation/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/arc/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/arc/arc.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/arc/mode.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/arc/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/base_benchmark.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bbq/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bbq/bbq.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bbq/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bbq/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/big_bench_hard.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/boolean_expressions.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/causal_judgement.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/date_understanding.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/disambiguation_qa.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/dyck_languages.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/formal_fallacies.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/geometric_shapes.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/hyperbaton.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/logical_deduction_five_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/logical_deduction_seven_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/logical_deduction_three_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/movie_recommendation.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/multistep_arithmetic_two.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/navigate.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/object_counting.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/penguins_in_a_table.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/reasoning_about_colored_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/ruin_names.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/salient_translation_error_detection.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/snarks.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/sports_understanding.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/temporal_sequences.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/tracking_shuffled_objects_five_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/tracking_shuffled_objects_seven_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/tracking_shuffled_objects_three_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/web_of_lies.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/word_sorting.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/boolean_expressions.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/causal_judgement.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/date_understanding.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/disambiguation_qa.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/dyck_languages.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/formal_fallacies.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/geometric_shapes.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/hyperbaton.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/logical_deduction_five_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/logical_deduction_seven_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/logical_deduction_three_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/movie_recommendation.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/multistep_arithmetic_two.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/navigate.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/object_counting.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/penguins_in_a_table.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/reasoning_about_colored_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/ruin_names.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/salient_translation_error_detection.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/snarks.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/sports_understanding.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/temporal_sequences.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/tracking_shuffled_objects_five_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/tracking_shuffled_objects_seven_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/tracking_shuffled_objects_three_objects.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/web_of_lies.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/word_sorting.txt +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bool_q/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bool_q/bool_q.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/bool_q/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/drop/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/drop/drop.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/drop/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/drop/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/equity_med_qa/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/equity_med_qa/equity_med_qa.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/equity_med_qa/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/equity_med_qa/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/gsm8k/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/gsm8k/gsm8k.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/gsm8k/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/hellaswag/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/hellaswag/hellaswag.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/hellaswag/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/hellaswag/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/human_eval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/human_eval/human_eval.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/human_eval/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/human_eval/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/ifeval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/ifeval/ifeval.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/ifeval/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/lambada/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/lambada/lambada.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/lambada/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/logi_qa/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/logi_qa/logi_qa.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/logi_qa/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/logi_qa/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/math_qa/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/math_qa/math_qa.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/math_qa/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/math_qa/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/mmlu/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/mmlu/mmlu.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/mmlu/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/mmlu/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/modes/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/results.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/squad/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/squad/squad.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/squad/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/squad/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/tasks/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/truthful_qa/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/truthful_qa/mode.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/truthful_qa/task.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/truthful_qa/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/truthful_qa/truthful_qa.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/winogrande/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/winogrande/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/winogrande/winogrande.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/dotenv_handler.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/main.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/server.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/test.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/types.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/cli/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/confident/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/confident/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/confident/types.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/config/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/config/settings.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/config/settings_manager.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/config/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/constants.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/contextvars.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/dataset.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/golden.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/test_run_tracer.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/types.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/dataset/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/errors.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/compare.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/configs.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/evaluate.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/execute.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/types.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/evaluate/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/crewai/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/crewai/agent.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/crewai/handler.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/crewai/patch.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/hugging_face/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/hugging_face/callback.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/hugging_face/rich_manager.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/hugging_face/tests/test_callbacks.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/hugging_face/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/langchain/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/langchain/callback.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/langchain/patch.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/langchain/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/llama_index/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/llama_index/agent/patched.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/llama_index/handler.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/llama_index/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/pydantic_ai/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/pydantic_ai/agent.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/pydantic_ai/instrumentator.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/integrations/pydantic_ai/otel.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/key_handler.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/answer_relevancy/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/answer_relevancy/answer_relevancy.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/answer_relevancy/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/answer_relevancy/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/arena_g_eval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/arena_g_eval/arena_g_eval.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/arena_g_eval/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/arena_g_eval/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/arena_g_eval/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/argument_correctness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/argument_correctness/argument_correctness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/argument_correctness/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/argument_correctness/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/base_metric.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/bias/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/bias/bias.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/bias/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/bias/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_precision/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_precision/contextual_precision.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_precision/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_precision/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_recall/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_recall/contextual_recall.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_recall/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_recall/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_relevancy/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_relevancy/contextual_relevancy.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_relevancy/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/contextual_relevancy/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversation_completeness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversation_completeness/conversation_completeness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversation_completeness/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversation_completeness/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_dag/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_dag/conversational_dag.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_dag/nodes.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_dag/templates.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_g_eval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_g_eval/conversational_g_eval.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_g_eval/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/conversational_g_eval/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/dag.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/graph.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/nodes.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/templates.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/dag/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/faithfulness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/faithfulness/faithfulness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/faithfulness/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/faithfulness/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/g_eval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/g_eval/g_eval.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/g_eval/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/g_eval/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/g_eval/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/hallucination/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/hallucination/hallucination.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/hallucination/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/hallucination/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/indicator.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/json_correctness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/json_correctness/json_correctness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/json_correctness/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/json_correctness/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/knowledge_retention/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/knowledge_retention/knowledge_retention.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/knowledge_retention/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/knowledge_retention/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp/mcp_task_completion.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp/multi_turn_mcp_use_metric.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp_use_metric/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp_use_metric/mcp_use_metric.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp_use_metric/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/mcp_use_metric/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/misuse/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/misuse/misuse.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/misuse/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/misuse/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_coherence/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_coherence/image_coherence.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_coherence/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_coherence/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_editing/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_editing/image_editing.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_editing/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_editing/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/image_helpfulness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_helpfulness/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_reference/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_reference/image_reference.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_reference/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/image_reference/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_answer_relevancy/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_answer_relevancy/multimodal_answer_relevancy.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_answer_relevancy/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_answer_relevancy/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_precision/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_precision/multimodal_contextual_precision.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_precision/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_precision/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_recall/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_recall/multimodal_contextual_recall.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_recall/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_recall/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_relevancy/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_relevancy/multimodal_contextual_relevancy.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_relevancy/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_contextual_relevancy/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_faithfulness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_faithfulness/multimodal_faithfulness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_faithfulness/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_faithfulness/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_g_eval/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_g_eval/multimodal_g_eval.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_g_eval/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_g_eval/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_g_eval/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_tool_correctness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/multimodal_tool_correctness/multimodal_tool_correctness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/text_to_image/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/text_to_image/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/text_to_image/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/multimodal_metrics/text_to_image/text_to_image.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/non_advice/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/non_advice/non_advice.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/non_advice/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/non_advice/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/pii_leakage/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/pii_leakage/pii_leakage.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/pii_leakage/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/pii_leakage/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/prompt_alignment/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/prompt_alignment/prompt_alignment.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/prompt_alignment/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/prompt_alignment/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/ragas.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_adherence/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_adherence/role_adherence.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_adherence/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_adherence/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_violation/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_violation/role_violation.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_violation/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/role_violation/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/summarization/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/summarization/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/summarization/summarization.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/summarization/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/task_completion/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/task_completion/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/task_completion/task_completion.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/task_completion/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/tool_correctness/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/tool_correctness/tool_correctness.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/toxicity/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/toxicity/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/toxicity/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/toxicity/toxicity.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/turn_relevancy/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/turn_relevancy/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/turn_relevancy/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/turn_relevancy/turn_relevancy.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/metrics/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/_summac_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/answer_relevancy_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/base_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/detoxify_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/embedding_models/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/embedding_models/azure_embedding_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/embedding_models/local_embedding_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/embedding_models/ollama_embedding_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/embedding_models/openai_embedding_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/hallucination_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/amazon_bedrock_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/anthropic_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/azure_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/deepseek_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/gemini_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/grok_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/kimi_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/litellm_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/local_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/ollama_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/openai_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/llms/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/mlllms/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/mlllms/gemini_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/mlllms/ollama_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/mlllms/openai_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/retry_policy.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/summac_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/unbias_model.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/models/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai/extractors.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai/patch.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai_agents/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai_agents/agent.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai_agents/callback_handler.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai_agents/extractors.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai_agents/patch.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/openai_agents/runner.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/plugins/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/plugins/plugin.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/progress_context.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/prompt/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/prompt/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/prompt/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/py.typed +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/red_teaming/README.md +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/scorer/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/scorer/scorer.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/simulator/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/simulator/conversation_simulator.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/simulator/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/simulator/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/singleton.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/base_synthesizer.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/chunking/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/chunking/context_generator.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/chunking/doc_chunker.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/config.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/schema.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/synthesizer.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/templates/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/templates/template.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/templates/template_extraction.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/templates/template_prompt.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/types.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/synthesizer/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/telemetry.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/arena_test_case.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/conversational_test_case.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/llm_test_case.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/mcp.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/mllm_test_case.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_case/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_run/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_run/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_run/cache.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_run/hooks.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_run/hyperparameters.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/test_run/test_run.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/context.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/offline_evals/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/offline_evals/api.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/offline_evals/span.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/offline_evals/thread.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/offline_evals/trace.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/otel/__init__.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/otel/exporter.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/otel/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/patchers.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/perf_epoch_bridge.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/tracing.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/types.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/tracing/utils.py +0 -0
- {deepeval-3.6.3 → deepeval-3.6.4}/deepeval/utils.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__: str = "3.6.4"
|
|
@@ -8,6 +8,7 @@ import os
|
|
|
8
8
|
from pydantic import BaseModel
|
|
9
9
|
import asyncio
|
|
10
10
|
import portalocker
|
|
11
|
+
import threading
|
|
11
12
|
|
|
12
13
|
from deepeval.prompt.api import (
|
|
13
14
|
PromptHttpResponse,
|
|
@@ -20,15 +21,39 @@ from deepeval.prompt.api import (
|
|
|
20
21
|
from deepeval.prompt.utils import interpolate_text
|
|
21
22
|
from deepeval.confident.api import Api, Endpoints, HttpMethods
|
|
22
23
|
from deepeval.constants import HIDDEN_DIR
|
|
23
|
-
from deepeval.utils import (
|
|
24
|
-
get_or_create_event_loop,
|
|
25
|
-
get_or_create_general_event_loop,
|
|
26
|
-
)
|
|
27
24
|
|
|
28
25
|
CACHE_FILE_NAME = f"{HIDDEN_DIR}/.deepeval-prompt-cache.json"
|
|
29
26
|
VERSION_CACHE_KEY = "version"
|
|
30
27
|
LABEL_CACHE_KEY = "label"
|
|
31
28
|
|
|
29
|
+
# Global background event loop for polling
|
|
30
|
+
_polling_loop: Optional[asyncio.AbstractEventLoop] = None
|
|
31
|
+
_polling_thread: Optional[threading.Thread] = None
|
|
32
|
+
_polling_loop_lock = threading.Lock()
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def _get_or_create_polling_loop() -> asyncio.AbstractEventLoop:
|
|
36
|
+
"""Get or create a background event loop for polling that runs in a daemon thread."""
|
|
37
|
+
global _polling_loop, _polling_thread
|
|
38
|
+
|
|
39
|
+
with _polling_loop_lock:
|
|
40
|
+
if _polling_loop is None or not _polling_loop.is_running():
|
|
41
|
+
|
|
42
|
+
def run_loop():
|
|
43
|
+
global _polling_loop
|
|
44
|
+
_polling_loop = asyncio.new_event_loop()
|
|
45
|
+
asyncio.set_event_loop(_polling_loop)
|
|
46
|
+
_polling_loop.run_forever()
|
|
47
|
+
|
|
48
|
+
_polling_thread = threading.Thread(target=run_loop, daemon=True)
|
|
49
|
+
_polling_thread.start()
|
|
50
|
+
|
|
51
|
+
# Wait for loop to be ready
|
|
52
|
+
while _polling_loop is None:
|
|
53
|
+
time.sleep(0.01)
|
|
54
|
+
|
|
55
|
+
return _polling_loop
|
|
56
|
+
|
|
32
57
|
|
|
33
58
|
class CustomEncoder(json.JSONEncoder):
|
|
34
59
|
def default(self, obj):
|
|
@@ -80,11 +105,22 @@ class Prompt:
|
|
|
80
105
|
self._version = None
|
|
81
106
|
self._polling_tasks: Dict[str, Dict[str, asyncio.Task]] = {}
|
|
82
107
|
self._refresh_map: Dict[str, Dict[str, int]] = {}
|
|
108
|
+
self._lock = (
|
|
109
|
+
threading.Lock()
|
|
110
|
+
) # Protect instance attributes from race conditions
|
|
83
111
|
if template:
|
|
84
112
|
self._type = PromptType.TEXT
|
|
85
113
|
elif messages_template:
|
|
86
114
|
self._type = PromptType.LIST
|
|
87
115
|
|
|
116
|
+
def __del__(self):
|
|
117
|
+
"""Cleanup polling tasks when instance is destroyed"""
|
|
118
|
+
try:
|
|
119
|
+
self._stop_polling()
|
|
120
|
+
except Exception:
|
|
121
|
+
# Suppress exceptions during cleanup to avoid issues in interpreter shutdown
|
|
122
|
+
pass
|
|
123
|
+
|
|
88
124
|
@property
|
|
89
125
|
def version(self):
|
|
90
126
|
if self._version is not None and self._version != "latest":
|
|
@@ -100,33 +136,37 @@ class Prompt:
|
|
|
100
136
|
self._version = value
|
|
101
137
|
|
|
102
138
|
def interpolate(self, **kwargs):
|
|
103
|
-
|
|
104
|
-
|
|
139
|
+
with self._lock:
|
|
140
|
+
prompt_type = self._type
|
|
141
|
+
text_template = self._text_template
|
|
142
|
+
messages_template = self._messages_template
|
|
143
|
+
interpolation_type = self._interpolation_type
|
|
144
|
+
|
|
145
|
+
if prompt_type == PromptType.TEXT:
|
|
146
|
+
if text_template is None:
|
|
105
147
|
raise TypeError(
|
|
106
148
|
"Unable to interpolate empty prompt template. Please pull a prompt from Confident AI or set template manually to continue."
|
|
107
149
|
)
|
|
108
150
|
|
|
109
|
-
return interpolate_text(
|
|
110
|
-
self._interpolation_type, self._text_template, **kwargs
|
|
111
|
-
)
|
|
151
|
+
return interpolate_text(interpolation_type, text_template, **kwargs)
|
|
112
152
|
|
|
113
|
-
elif
|
|
114
|
-
if
|
|
153
|
+
elif prompt_type == PromptType.LIST:
|
|
154
|
+
if messages_template is None:
|
|
115
155
|
raise TypeError(
|
|
116
156
|
"Unable to interpolate empty prompt template messages. Please pull a prompt from Confident AI or set template manually to continue."
|
|
117
157
|
)
|
|
118
158
|
|
|
119
159
|
interpolated_messages = []
|
|
120
|
-
for message in
|
|
160
|
+
for message in messages_template:
|
|
121
161
|
interpolated_content = interpolate_text(
|
|
122
|
-
|
|
162
|
+
interpolation_type, message.content, **kwargs
|
|
123
163
|
)
|
|
124
164
|
interpolated_messages.append(
|
|
125
165
|
{"role": message.role, "content": interpolated_content}
|
|
126
166
|
)
|
|
127
167
|
return interpolated_messages
|
|
128
168
|
else:
|
|
129
|
-
raise ValueError(f"Unsupported prompt type: {
|
|
169
|
+
raise ValueError(f"Unsupported prompt type: {prompt_type}")
|
|
130
170
|
|
|
131
171
|
def _get_versions(self) -> List:
|
|
132
172
|
if self.alias is None:
|
|
@@ -272,15 +312,16 @@ class Prompt:
|
|
|
272
312
|
if not cached_prompt:
|
|
273
313
|
raise ValueError("Unable to fetch prompt and load from cache")
|
|
274
314
|
|
|
275
|
-
self.
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
315
|
+
with self._lock:
|
|
316
|
+
self.version = cached_prompt.version
|
|
317
|
+
self.label = cached_prompt.label
|
|
318
|
+
self._text_template = cached_prompt.template
|
|
319
|
+
self._messages_template = cached_prompt.messages_template
|
|
320
|
+
self._prompt_version_id = cached_prompt.prompt_version_id
|
|
321
|
+
self._type = PromptType(cached_prompt.type)
|
|
322
|
+
self._interpolation_type = PromptInterpolationType(
|
|
323
|
+
cached_prompt.interpolation_type
|
|
324
|
+
)
|
|
284
325
|
|
|
285
326
|
end_time = time.perf_counter()
|
|
286
327
|
time_taken = format(end_time - start_time, ".2f")
|
|
@@ -300,7 +341,6 @@ class Prompt:
|
|
|
300
341
|
):
|
|
301
342
|
should_write_on_first_fetch = False
|
|
302
343
|
if refresh:
|
|
303
|
-
default_to_cache = True
|
|
304
344
|
# Check if we need to bootstrap the cache
|
|
305
345
|
cached_prompt = self._read_from_cache(
|
|
306
346
|
self.alias, version=version, label=label
|
|
@@ -316,12 +356,10 @@ class Prompt:
|
|
|
316
356
|
)
|
|
317
357
|
|
|
318
358
|
# Manage background prompt polling
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
loop.run_until_complete(
|
|
324
|
-
self.create_polling_task(version, label, refresh)
|
|
359
|
+
if refresh:
|
|
360
|
+
loop = _get_or_create_polling_loop()
|
|
361
|
+
asyncio.run_coroutine_threadsafe(
|
|
362
|
+
self.create_polling_task(version, label, refresh), loop
|
|
325
363
|
)
|
|
326
364
|
|
|
327
365
|
if default_to_cache:
|
|
@@ -330,15 +368,20 @@ class Prompt:
|
|
|
330
368
|
self.alias, version=version, label=label
|
|
331
369
|
)
|
|
332
370
|
if cached_prompt:
|
|
333
|
-
self.
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
371
|
+
with self._lock:
|
|
372
|
+
self.version = cached_prompt.version
|
|
373
|
+
self.label = cached_prompt.label
|
|
374
|
+
self._text_template = cached_prompt.template
|
|
375
|
+
self._messages_template = (
|
|
376
|
+
cached_prompt.messages_template
|
|
377
|
+
)
|
|
378
|
+
self._prompt_version_id = (
|
|
379
|
+
cached_prompt.prompt_version_id
|
|
380
|
+
)
|
|
381
|
+
self._type = PromptType(cached_prompt.type)
|
|
382
|
+
self._interpolation_type = PromptInterpolationType(
|
|
383
|
+
cached_prompt.interpolation_type
|
|
384
|
+
)
|
|
342
385
|
return
|
|
343
386
|
except:
|
|
344
387
|
pass
|
|
@@ -402,13 +445,14 @@ class Prompt:
|
|
|
402
445
|
return
|
|
403
446
|
raise
|
|
404
447
|
|
|
405
|
-
self.
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
448
|
+
with self._lock:
|
|
449
|
+
self.version = response.version
|
|
450
|
+
self.label = response.label
|
|
451
|
+
self._text_template = response.text
|
|
452
|
+
self._messages_template = response.messages
|
|
453
|
+
self._prompt_version_id = response.id
|
|
454
|
+
self._type = response.type
|
|
455
|
+
self._interpolation_type = response.interpolation_type
|
|
412
456
|
|
|
413
457
|
end_time = time.perf_counter()
|
|
414
458
|
time_taken = format(end_time - start_time, ".2f")
|
|
@@ -483,11 +527,7 @@ class Prompt:
|
|
|
483
527
|
version: Optional[str],
|
|
484
528
|
label: Optional[str],
|
|
485
529
|
refresh: Optional[int] = 60,
|
|
486
|
-
default_to_cache: bool = True,
|
|
487
530
|
):
|
|
488
|
-
if version is None and label is None:
|
|
489
|
-
return
|
|
490
|
-
|
|
491
531
|
# If polling task doesn't exist, start it
|
|
492
532
|
CACHE_KEY = LABEL_CACHE_KEY if label else VERSION_CACHE_KEY
|
|
493
533
|
cache_value = label if label else version
|
|
@@ -506,9 +546,7 @@ class Prompt:
|
|
|
506
546
|
self._refresh_map[CACHE_KEY][cache_value] = refresh
|
|
507
547
|
if not polling_task:
|
|
508
548
|
self._polling_tasks[CACHE_KEY][cache_value] = (
|
|
509
|
-
asyncio.create_task(
|
|
510
|
-
self.poll(version, label, default_to_cache)
|
|
511
|
-
)
|
|
549
|
+
asyncio.create_task(self.poll(version, label))
|
|
512
550
|
)
|
|
513
551
|
|
|
514
552
|
# If invalid `refresh`, stop the task
|
|
@@ -524,24 +562,12 @@ class Prompt:
|
|
|
524
562
|
self,
|
|
525
563
|
version: Optional[str] = None,
|
|
526
564
|
label: Optional[str] = None,
|
|
527
|
-
default_to_cache: bool = True,
|
|
528
565
|
):
|
|
566
|
+
CACHE_KEY = LABEL_CACHE_KEY if label else VERSION_CACHE_KEY
|
|
567
|
+
cache_value = label if label else version
|
|
568
|
+
|
|
529
569
|
while True:
|
|
530
|
-
|
|
531
|
-
cached_prompt = self._read_from_cache(
|
|
532
|
-
self.alias, version=version, label=label
|
|
533
|
-
)
|
|
534
|
-
if cached_prompt:
|
|
535
|
-
self.version = cached_prompt.version
|
|
536
|
-
self.label = cached_prompt.label
|
|
537
|
-
self._text_template = cached_prompt.template
|
|
538
|
-
self._messages_template = cached_prompt.messages_template
|
|
539
|
-
self._prompt_version_id = cached_prompt.prompt_version_id
|
|
540
|
-
self._type = PromptType(cached_prompt.type)
|
|
541
|
-
self._interpolation_type = PromptInterpolationType(
|
|
542
|
-
cached_prompt.interpolation_type
|
|
543
|
-
)
|
|
544
|
-
return
|
|
570
|
+
await asyncio.sleep(self._refresh_map[CACHE_KEY][cache_value])
|
|
545
571
|
|
|
546
572
|
api = Api()
|
|
547
573
|
try:
|
|
@@ -573,22 +599,43 @@ class Prompt:
|
|
|
573
599
|
type=data["type"],
|
|
574
600
|
interpolation_type=data["interpolationType"],
|
|
575
601
|
)
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
602
|
+
|
|
603
|
+
# Update the cache with fresh data from server
|
|
604
|
+
self._write_to_cache(
|
|
605
|
+
cache_key=CACHE_KEY,
|
|
606
|
+
version=response.version,
|
|
607
|
+
label=response.label,
|
|
608
|
+
text_template=response.text,
|
|
609
|
+
messages_template=response.messages,
|
|
610
|
+
prompt_version_id=response.id,
|
|
611
|
+
type=response.type,
|
|
612
|
+
interpolation_type=response.interpolation_type,
|
|
613
|
+
)
|
|
614
|
+
|
|
615
|
+
# Update in-memory properties with fresh data (thread-safe)
|
|
616
|
+
with self._lock:
|
|
617
|
+
self.version = response.version
|
|
618
|
+
self.label = response.label
|
|
619
|
+
self._text_template = response.text
|
|
620
|
+
self._messages_template = response.messages
|
|
621
|
+
self._prompt_version_id = response.id
|
|
622
|
+
self._type = response.type
|
|
623
|
+
self._interpolation_type = response.interpolation_type
|
|
624
|
+
|
|
625
|
+
except Exception:
|
|
590
626
|
pass
|
|
591
627
|
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
628
|
+
def _stop_polling(self):
|
|
629
|
+
loop = _polling_loop
|
|
630
|
+
if not loop or not loop.is_running():
|
|
631
|
+
return
|
|
632
|
+
|
|
633
|
+
# Stop all polling tasks
|
|
634
|
+
for ck in list(self._polling_tasks.keys()):
|
|
635
|
+
for cv in list(self._polling_tasks[ck].keys()):
|
|
636
|
+
task = self._polling_tasks[ck][cv]
|
|
637
|
+
if task and not task.done():
|
|
638
|
+
loop.call_soon_threadsafe(task.cancel)
|
|
639
|
+
self._polling_tasks[ck].clear()
|
|
640
|
+
self._refresh_map[ck].clear()
|
|
641
|
+
return
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__: str = "3.6.3"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/dyck_languages.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/hyperbaton.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/navigate.txt
RENAMED
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/object_counting.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/ruin_names.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/web_of_lies.txt
RENAMED
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/cot_prompts/word_sorting.txt
RENAMED
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/dyck_languages.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/hyperbaton.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/navigate.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/ruin_names.txt
RENAMED
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/snarks.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/web_of_lies.txt
RENAMED
|
File without changes
|
{deepeval-3.6.3 → deepeval-3.6.4}/deepeval/benchmarks/big_bench_hard/shot_prompts/word_sorting.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|