deepeval 3.7.6__py3-none-any.whl → 3.7.7__py3-none-any.whl

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.
Files changed (54) hide show
  1. deepeval/_version.py +1 -1
  2. deepeval/cli/main.py +2022 -759
  3. deepeval/cli/utils.py +208 -36
  4. deepeval/config/dotenv_handler.py +19 -0
  5. deepeval/config/settings.py +658 -262
  6. deepeval/config/utils.py +9 -1
  7. deepeval/evaluate/execute.py +153 -94
  8. deepeval/key_handler.py +121 -51
  9. deepeval/metrics/base_metric.py +9 -3
  10. deepeval/metrics/g_eval/g_eval.py +6 -1
  11. deepeval/metrics/indicator.py +8 -4
  12. deepeval/metrics/mcp/mcp_task_completion.py +15 -16
  13. deepeval/metrics/mcp/multi_turn_mcp_use_metric.py +15 -15
  14. deepeval/metrics/mcp/schema.py +4 -0
  15. deepeval/metrics/mcp/template.py +8 -1
  16. deepeval/metrics/prompt_alignment/prompt_alignment.py +6 -3
  17. deepeval/metrics/tool_use/schema.py +4 -0
  18. deepeval/metrics/tool_use/template.py +16 -2
  19. deepeval/metrics/tool_use/tool_use.py +30 -28
  20. deepeval/metrics/topic_adherence/schema.py +4 -0
  21. deepeval/metrics/topic_adherence/template.py +8 -1
  22. deepeval/metrics/topic_adherence/topic_adherence.py +15 -14
  23. deepeval/metrics/turn_contextual_precision/template.py +8 -1
  24. deepeval/metrics/turn_contextual_precision/turn_contextual_precision.py +44 -86
  25. deepeval/metrics/turn_contextual_recall/template.py +8 -1
  26. deepeval/metrics/turn_contextual_recall/turn_contextual_recall.py +44 -82
  27. deepeval/metrics/turn_contextual_relevancy/template.py +8 -1
  28. deepeval/metrics/turn_contextual_relevancy/turn_contextual_relevancy.py +48 -92
  29. deepeval/metrics/turn_faithfulness/template.py +8 -1
  30. deepeval/metrics/turn_faithfulness/turn_faithfulness.py +76 -130
  31. deepeval/metrics/utils.py +16 -1
  32. deepeval/models/__init__.py +2 -0
  33. deepeval/models/llms/__init__.py +2 -0
  34. deepeval/models/llms/amazon_bedrock_model.py +5 -4
  35. deepeval/models/llms/anthropic_model.py +4 -3
  36. deepeval/models/llms/azure_model.py +4 -3
  37. deepeval/models/llms/deepseek_model.py +5 -8
  38. deepeval/models/llms/grok_model.py +5 -8
  39. deepeval/models/llms/kimi_model.py +5 -8
  40. deepeval/models/llms/litellm_model.py +2 -0
  41. deepeval/models/llms/local_model.py +1 -1
  42. deepeval/models/llms/openai_model.py +4 -3
  43. deepeval/models/retry_policy.py +10 -5
  44. deepeval/models/utils.py +1 -5
  45. deepeval/simulator/conversation_simulator.py +6 -2
  46. deepeval/simulator/template.py +3 -1
  47. deepeval/synthesizer/synthesizer.py +19 -17
  48. deepeval/test_run/test_run.py +6 -1
  49. deepeval/utils.py +26 -0
  50. {deepeval-3.7.6.dist-info → deepeval-3.7.7.dist-info}/METADATA +3 -3
  51. {deepeval-3.7.6.dist-info → deepeval-3.7.7.dist-info}/RECORD +54 -53
  52. {deepeval-3.7.6.dist-info → deepeval-3.7.7.dist-info}/LICENSE.md +0 -0
  53. {deepeval-3.7.6.dist-info → deepeval-3.7.7.dist-info}/WHEEL +0 -0
  54. {deepeval-3.7.6.dist-info → deepeval-3.7.7.dist-info}/entry_points.txt +0 -0
@@ -25,7 +25,7 @@ from deepeval.metrics.utils import (
25
25
  from deepeval.progress_context import synthesizer_progress_context
26
26
  from deepeval.models import DeepEvalBaseLLM
27
27
  from deepeval.dataset.golden import Golden, ConversationalGolden
28
- from deepeval.synthesizer.types import *
28
+ from deepeval.synthesizer.types import Evolution, PromptEvolution
29
29
  from deepeval.synthesizer.templates import (
30
30
  EvolutionTemplate,
31
31
  SynthesizerTemplate,
@@ -246,7 +246,7 @@ class Synthesizer:
246
246
  )
247
247
  if self.cost_tracking and self.using_native_model:
248
248
  print(f"💰 API cost: {self.synthesis_cost:.6f}")
249
- if _send_data == True:
249
+ if _send_data:
250
250
  pass
251
251
  remove_pbars(
252
252
  progress,
@@ -546,7 +546,7 @@ class Synthesizer:
546
546
  # Remove pbar if not from docs
547
547
  remove_pbars(progress, [pbar_id]) if _progress is None else None
548
548
 
549
- if _send_data == True:
549
+ if _send_data:
550
550
  pass
551
551
  if _reset_cost and self.cost_tracking and self.using_native_model:
552
552
  print(f"💰 API cost: {self.synthesis_cost:.6f}")
@@ -567,7 +567,8 @@ class Synthesizer:
567
567
  if _reset_cost:
568
568
  self.synthetic_goldens = []
569
569
  self.synthesis_cost = 0 if self.using_native_model else None
570
- semaphore = asyncio.Semaphore(self.max_concurrent)
570
+ context_semaphore = asyncio.Semaphore(self.max_concurrent)
571
+ worker_semaphore = asyncio.Semaphore(self.max_concurrent)
571
572
  goldens: List[Golden] = []
572
573
 
573
574
  with synthesizer_progress_context(
@@ -586,9 +587,9 @@ class Synthesizer:
586
587
  ):
587
588
  tasks = [
588
589
  self.task_wrapper(
589
- semaphore,
590
+ context_semaphore,
590
591
  self._a_generate_from_context,
591
- semaphore=semaphore,
592
+ semaphore=worker_semaphore,
592
593
  context=context,
593
594
  goldens=goldens,
594
595
  include_expected_output=include_expected_output,
@@ -965,7 +966,7 @@ class Synthesizer:
965
966
 
966
967
  # Wrap up Synthesis
967
968
  self.synthetic_goldens.extend(goldens)
968
- if _send_data == True:
969
+ if _send_data:
969
970
  pass
970
971
  return goldens
971
972
 
@@ -1023,7 +1024,7 @@ class Synthesizer:
1023
1024
  source_files.append(golden.source_file)
1024
1025
 
1025
1026
  # Extract styles from goldens if not already set
1026
- if self.set_styling_config == False:
1027
+ if not self.set_styling_config:
1027
1028
  example_inputs = random.sample(
1028
1029
  [golden.input for golden in goldens], min(len(goldens), 10)
1029
1030
  )
@@ -1069,7 +1070,7 @@ class Synthesizer:
1069
1070
  source_files.append(golden.source_file)
1070
1071
 
1071
1072
  # Extract styles from goldens if not already set
1072
- if self.set_styling_config == False:
1073
+ if not self.set_styling_config:
1073
1074
  example_inputs = random.sample(
1074
1075
  [golden.input for golden in goldens], min(len(goldens), 10)
1075
1076
  )
@@ -1637,7 +1638,7 @@ class Synthesizer:
1637
1638
  )
1638
1639
  if self.cost_tracking and self.using_native_model:
1639
1640
  print(f"💰 API cost: {self.synthesis_cost:.6f}")
1640
- if _send_data == True:
1641
+ if _send_data:
1641
1642
  pass
1642
1643
  remove_pbars(
1643
1644
  progress,
@@ -1949,7 +1950,7 @@ class Synthesizer:
1949
1950
  # Remove pbar if not from docs
1950
1951
  remove_pbars(progress, [pbar_id]) if _progress is None else None
1951
1952
 
1952
- if _send_data == True:
1953
+ if _send_data:
1953
1954
  pass
1954
1955
  if _reset_cost and self.cost_tracking and self.using_native_model:
1955
1956
  print(f"💰 API cost: {self.synthesis_cost:.6f}")
@@ -1970,7 +1971,8 @@ class Synthesizer:
1970
1971
  if _reset_cost:
1971
1972
  self.synthetic_conversational_goldens = []
1972
1973
  self.synthesis_cost = 0 if self.using_native_model else None
1973
- semaphore = asyncio.Semaphore(self.max_concurrent)
1974
+ context_semaphore = asyncio.Semaphore(self.max_concurrent)
1975
+ worker_semaphore = asyncio.Semaphore(self.max_concurrent)
1974
1976
  goldens: List[ConversationalGolden] = []
1975
1977
 
1976
1978
  with synthesizer_progress_context(
@@ -1989,9 +1991,9 @@ class Synthesizer:
1989
1991
  ):
1990
1992
  tasks = [
1991
1993
  self.task_wrapper(
1992
- semaphore,
1994
+ context_semaphore,
1993
1995
  self._a_generate_conversational_from_context,
1994
- semaphore=semaphore,
1996
+ semaphore=worker_semaphore,
1995
1997
  context=context,
1996
1998
  goldens=goldens,
1997
1999
  include_expected_outcome=include_expected_outcome,
@@ -2335,7 +2337,7 @@ class Synthesizer:
2335
2337
 
2336
2338
  # Wrap up Synthesis
2337
2339
  self.synthetic_conversational_goldens.extend(goldens)
2338
- if _send_data == True:
2340
+ if _send_data:
2339
2341
  pass
2340
2342
  return goldens
2341
2343
 
@@ -2567,7 +2569,7 @@ class Synthesizer:
2567
2569
  contexts.append(golden.context)
2568
2570
 
2569
2571
  # Extract styles from conversational goldens if not already set
2570
- if self.set_conversational_styling_config == False:
2572
+ if not self.set_conversational_styling_config:
2571
2573
  example_scenarios = random.sample(
2572
2574
  [golden.scenario for golden in goldens],
2573
2575
  min(len(goldens), 10),
@@ -2612,7 +2614,7 @@ class Synthesizer:
2612
2614
  contexts.append(golden.context)
2613
2615
 
2614
2616
  # Extract styles from conversational goldens if not already set
2615
- if self.set_conversational_styling_config == False:
2617
+ if not self.set_conversational_styling_config:
2616
2618
  example_scenarios = random.sample(
2617
2619
  [golden.scenario for golden in goldens], min(len(goldens), 10)
2618
2620
  )
@@ -1028,8 +1028,13 @@ class TestRunManager:
1028
1028
  LATEST_TEST_RUN_FILE_PATH,
1029
1029
  save_under_key=LATEST_TEST_RUN_DATA_KEY,
1030
1030
  )
1031
+ token_cost = (
1032
+ f"{test_run.evaluation_cost} USD"
1033
+ if test_run.evaluation_cost
1034
+ else "None"
1035
+ )
1031
1036
  console.print(
1032
- f"\n\n[rgb(5,245,141)]✓[/rgb(5,245,141)] Evaluation completed 🎉! (time taken: {round(runDuration, 2)}s | token cost: {test_run.evaluation_cost} USD)\n"
1037
+ f"\n\n[rgb(5,245,141)]✓[/rgb(5,245,141)] Evaluation completed 🎉! (time taken: {round(runDuration, 2)}s | token cost: {token_cost})\n"
1033
1038
  f"» Test Results ({test_run.test_passed + test_run.test_failed} total tests):\n",
1034
1039
  f" » Pass Rate: {round((test_run.test_passed / (test_run.test_passed + test_run.test_failed)) * 100, 2)}% | Passed: [bold green]{test_run.test_passed}[/bold green] | Failed: [bold red]{test_run.test_failed}[/bold red]\n\n",
1035
1040
  "=" * 80,
deepeval/utils.py CHANGED
@@ -268,6 +268,32 @@ def set_should_use_cache(yes: bool):
268
268
  s.ENABLE_DEEPEVAL_CACHE = yes
269
269
 
270
270
 
271
+ ###################
272
+ # Timeout Helpers #
273
+ ###################
274
+ def are_timeouts_disabled() -> bool:
275
+ return bool(get_settings().DEEPEVAL_DISABLE_TIMEOUTS)
276
+
277
+
278
+ def get_per_task_timeout_seconds() -> float:
279
+ return get_settings().DEEPEVAL_PER_TASK_TIMEOUT_SECONDS
280
+
281
+
282
+ def get_per_task_timeout() -> Optional[float]:
283
+ return None if are_timeouts_disabled() else get_per_task_timeout_seconds()
284
+
285
+
286
+ def get_gather_timeout_seconds() -> float:
287
+ return (
288
+ get_per_task_timeout_seconds()
289
+ + get_settings().DEEPEVAL_TASK_GATHER_BUFFER_SECONDS
290
+ )
291
+
292
+
293
+ def get_gather_timeout() -> Optional[float]:
294
+ return None if are_timeouts_disabled() else get_gather_timeout_seconds()
295
+
296
+
271
297
  def login(api_key: str):
272
298
  if not api_key or not isinstance(api_key, str):
273
299
  raise ValueError("Oh no! Please provide an api key string to login.")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deepeval
3
- Version: 3.7.6
3
+ Version: 3.7.7
4
4
  Summary: The LLM Evaluation Framework
5
5
  Home-page: https://github.com/confident-ai/deepeval
6
6
  License: Apache-2.0
@@ -100,9 +100,9 @@ Description-Content-Type: text/markdown
100
100
  <a href="https://www.readme-i18n.com/confident-ai/deepeval?lang=zh">中文</a>
101
101
  </p>
102
102
 
103
- **DeepEval** is a simple-to-use, open-source LLM evaluation framework, for evaluating and testing large-language model systems. It is similar to Pytest but specialized for unit testing LLM outputs. DeepEval incorporates the latest research to evaluate LLM outputs based on metrics such as G-Eval, hallucination, answer relevancy, RAGAS, etc., which uses LLMs and various other NLP models that runs **locally on your machine** for evaluation.
103
+ **DeepEval** is a simple-to-use, open-source LLM evaluation framework, for evaluating and testing large-language model systems. It is similar to Pytest but specialized for unit testing LLM outputs. DeepEval incorporates the latest research to evaluate LLM outputs based on metrics such as G-Eval, task completion, answer relevancy, hallucination, etc., which uses LLM-as-a-judge and other NLP models that runs **locally on your machine** for evaluation.
104
104
 
105
- Whether your LLM applications are RAG pipelines, chatbots, AI agents, implemented via LangChain or LlamaIndex, DeepEval has you covered. With it, you can easily determine the optimal models, prompts, and architecture to improve your RAG pipeline, agentic workflows, prevent prompt drifting, or even transition from OpenAI to hosting your own Deepseek R1 with confidence.
105
+ Whether your LLM applications are AI agents, RAG pipelines, or chatbots, implemented via LangChain or OpenAI, DeepEval has you covered. With it, you can easily determine the optimal models, prompts, and architecture to improve your RAG pipeline, agentic workflows, prevent prompt drifting, or even transition from OpenAI to hosting your own Deepseek R1 with confidence.
106
106
 
107
107
  > [!IMPORTANT]
108
108
  > Need a place for your DeepEval testing data to live 🏡❤️? [Sign up to the DeepEval platform](https://confident-ai.com?utm_source=GitHub) to compare iterations of your LLM app, generate & share testing reports, and more.
@@ -1,5 +1,5 @@
1
1
  deepeval/__init__.py,sha256=tle4lT4FONApg3OeztGPEdrpGMEGLWajyGTu7bEd3s0,2976
2
- deepeval/_version.py,sha256=E7iH2YII_FxRbK4CawKJc27_-n7u-aEQiFou1Oek_pw,27
2
+ deepeval/_version.py,sha256=hC0elRVc8djlYzfR9jyhELyggcmaoicVm2yXSx7dU1w,27
3
3
  deepeval/annotation/__init__.py,sha256=ZFhUVNNuH_YgQSZJ-m5E9iUb9TkAkEV33a6ouMDZ8EI,111
4
4
  deepeval/annotation/annotation.py,sha256=3j3-syeJepAcEj3u3e4T_BeRDzNr7yXGDIoNQGMKpwQ,2298
5
5
  deepeval/annotation/api.py,sha256=EYN33ACVzVxsFleRYm60KB4Exvff3rPJKt1VBuuX970,2147
@@ -136,19 +136,20 @@ deepeval/benchmarks/winogrande/template.py,sha256=tDwH8NpNF9x7FbDmQw45XaW1LNqGBV
136
136
  deepeval/benchmarks/winogrande/winogrande.py,sha256=_4irJkRPw3c-Ufo-hM4cHpPKUoxozedFQpok9n0csTg,5644
137
137
  deepeval/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
138
  deepeval/cli/dotenv_handler.py,sha256=7PtVjCNUZKAXsVJQxznsLexad7y8x-gQ195xAxmv4gA,2468
139
- deepeval/cli/main.py,sha256=9Nc23iBYfV8gHKD_XdEo_04cfuaeQ3NGmXIf4JT_UFQ,59397
139
+ deepeval/cli/main.py,sha256=gni8-N6YX3zmEgkgr6eWE2_Vkb9fv2kLYJK3herJaTc,94957
140
140
  deepeval/cli/server.py,sha256=cOm9xiYcPYB9GDeFQw9-Iawf9bNfOqftZs7q7mO_P7I,1979
141
141
  deepeval/cli/test.py,sha256=aoBPMfk0HTvOqb2xdvMykkx_s4SHst7lEnoUiSXo1lU,5483
142
142
  deepeval/cli/types.py,sha256=_7KdthstHNc-JKCWrfpDQCf_j8h9PMxh0qJCHmVXJr0,310
143
- deepeval/cli/utils.py,sha256=F4-yuONzk4ojDoSLjI9RYERB7HOD412iZ2lNlSCq4wk,5601
143
+ deepeval/cli/utils.py,sha256=bwSqgUug8JXyvI-jYnLAJPcaQgOkahaQLe_hVxFUoPo,10654
144
144
  deepeval/confident/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
145
145
  deepeval/confident/api.py,sha256=1eFM4umeBbyxNRNcKZqqp0g9rxklBfseHdbu7YDNx-g,8735
146
146
  deepeval/confident/types.py,sha256=9bgePDaU31yY7JGwCLZcc7pev9VGtNDZLbjsVpCLVdc,574
147
147
  deepeval/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
+ deepeval/config/dotenv_handler.py,sha256=lOosoC7fm9RljriY8EFl5ywSGfSiQsVf_vmYqzpbZ8s,588
148
149
  deepeval/config/logging.py,sha256=ivqmhOSB-oHOOU3MvnhImrZwkkxzxKJgoKxesnWfHjg,1314
149
- deepeval/config/settings.py,sha256=gOnsZ66kNZUvrtqQzHqjKW5BDoBMBc0Ys4OLgPtpRro,40988
150
+ deepeval/config/settings.py,sha256=7K1PWWu4mwVyQWTA2su1Blep-TBJp40LBxJb8JURnkA,56565
150
151
  deepeval/config/settings_manager.py,sha256=Ynebm2BKDrzajc6DEq2eYIwyRAAtUQOkTnl46albxLk,4187
151
- deepeval/config/utils.py,sha256=bWeXj3fhGnLHIr_GuYaTp30x_PUOSAWJeS3lbZ4i3R8,3972
152
+ deepeval/config/utils.py,sha256=bJGljeAXoEYuUlYSvHSOsUnqINTwo6wOwfFHFpWxiaQ,4238
152
153
  deepeval/constants.py,sha256=J5rNXGsMKTFYJ_9Wi49qchZXuUityZjnvuy3I3TO5zk,1667
153
154
  deepeval/contextvars.py,sha256=oqXtuYiKd4Zvc1rNoR1gcRBxzZYCGTMVn7XostwvkRI,524
154
155
  deepeval/dataset/__init__.py,sha256=N2c-rkuxWYiiJSOZArw0H02Cwo7cnfzFuNYJlvsIBEg,249
@@ -164,7 +165,7 @@ deepeval/evaluate/api.py,sha256=rkblH0ZFAAdyuF0Ymh7JE1pIJPR9yFuPrn9SQaCEQp4,435
164
165
  deepeval/evaluate/compare.py,sha256=AJ3kR4Th44MTuL0juvvNwPdel1Q8tw37IYUgLdy2qrw,16575
165
166
  deepeval/evaluate/configs.py,sha256=WpomfJj8H3BXYPXlYYuaCDYOKjoivX-j8wr8U9leQJk,930
166
167
  deepeval/evaluate/evaluate.py,sha256=hphPpK9hNKPAdz2J2rD3ZklAK09o1MEQ5NNaUnrWQl8,11063
167
- deepeval/evaluate/execute.py,sha256=VDaNjkEs_CPlDuKky9Q70qB_9OE2LOxeUf2caKBsGVI,127238
168
+ deepeval/evaluate/execute.py,sha256=5RZrTRfe-AnwO5aS16LL-iBqT3fciun9zt3wbXp70v8,129754
168
169
  deepeval/evaluate/types.py,sha256=jf424xPHgdJcvgG2l_wTMskJBOEe9tl55c3v3B-SLNU,1071
169
170
  deepeval/evaluate/utils.py,sha256=STYyJCvVkewU5iigKnAsUDcVtJuFU_Qefi-aoyv2elA,20740
170
171
  deepeval/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -190,7 +191,7 @@ deepeval/integrations/pydantic_ai/agent.py,sha256=-NKvpTUw3AxRNhuxVFcx9mw5BWCujz
190
191
  deepeval/integrations/pydantic_ai/instrumentator.py,sha256=oXU3Q4ROER0e4nCYq1xKpu8cvG1p632YeM5p9wkNpks,11837
191
192
  deepeval/integrations/pydantic_ai/otel.py,sha256=0OuIpmaMtEt1dFWFZtYAiZ9hVCWweEWr1TRHYcDb4I8,1918
192
193
  deepeval/integrations/pydantic_ai/test_instrumentator.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
193
- deepeval/key_handler.py,sha256=8AwYAnVuuxtdFbcY8xzfLxbxZARTmQY1-IbKpWMuKJM,6649
194
+ deepeval/key_handler.py,sha256=x4lUC-zo18Xucf_sm3wJ5Xr-frSi4xscL5hO283JYr8,9247
194
195
  deepeval/metrics/__init__.py,sha256=19Df323r8aAlx2sRfV9BHJLicORhTLpogR8M1deJetw,4680
195
196
  deepeval/metrics/answer_relevancy/__init__.py,sha256=WbZUpoSg2GQoqJ4VIRirVVQ1JDx5xwT-RskwqNKfWGM,46
196
197
  deepeval/metrics/answer_relevancy/answer_relevancy.py,sha256=2zRAuPq794S-rqMesMnuvSJxd1yhEUTq8nRwLxf42QE,10958
@@ -206,7 +207,7 @@ deepeval/metrics/argument_correctness/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCe
206
207
  deepeval/metrics/argument_correctness/argument_correctness.py,sha256=rSkI4Us0QQKnL9zcPQ8iX845cfbyOMxy4oIWtghIL2M,9853
207
208
  deepeval/metrics/argument_correctness/schema.py,sha256=mN__hspSfrKikG9DUycivrP3fdC8EPPsSdh0Ev52kPQ,360
208
209
  deepeval/metrics/argument_correctness/template.py,sha256=s7KoqUwpt2qykDqMXpKoGKdONkiyLzZ5tCKTwJ6y3xs,6018
209
- deepeval/metrics/base_metric.py,sha256=XMqvJnzXn9l2gVT5zkDxmABbchDtSGI8YwOpm-nN-nw,3967
210
+ deepeval/metrics/base_metric.py,sha256=JnWVWbnQxS3csIYYOMXakKHtE5TLkWAuj6lPQUHbb4U,4192
210
211
  deepeval/metrics/bias/__init__.py,sha256=10suWOJYISoIcz2fB-nSkP1qb0WMGVPjNakKO-CEr8w,35
211
212
  deepeval/metrics/bias/bias.py,sha256=-z7X-6_0FD8JEIlq5Jprrq2wevFFCz2vYQLAcL-YgIo,9744
212
213
  deepeval/metrics/bias/schema.py,sha256=bjYFZAbIjxFAzc3-JOJ2i4H-EAF-EWhi2CL2CIzP3qw,446
@@ -249,7 +250,7 @@ deepeval/metrics/faithfulness/faithfulness.py,sha256=2mFXIh0U7Xf4Ybl6w-Lt74D4P13
249
250
  deepeval/metrics/faithfulness/schema.py,sha256=yPbe1CrW6PMOJjnWnUOxeb_Ul8sfDwvwgt4QTW-95RI,437
250
251
  deepeval/metrics/faithfulness/template.py,sha256=n9SvOM8iJ9Y4K0o8OHHc0uyw3E_v2BfZRd0fSUIX8XI,11126
251
252
  deepeval/metrics/g_eval/__init__.py,sha256=HAhsQFVq9LIpZXPN00Jc_WrMXrh47NIT86VnUpWM4_4,102
252
- deepeval/metrics/g_eval/g_eval.py,sha256=vPj9Ud4pEUTWBGBdQvUOMlDJRNc7vettWdxkPGNbeQs,14921
253
+ deepeval/metrics/g_eval/g_eval.py,sha256=kG-8V46pkdope2ptQT587CT7_Z-AlwKkzV_16Y2Jbrs,15117
253
254
  deepeval/metrics/g_eval/schema.py,sha256=V629txuDrr_2IEKEsgJVYYZb_pkdfcltQV9ZjvxK5co,287
254
255
  deepeval/metrics/g_eval/template.py,sha256=v96BJFOH1rnME6b-OwJwcunvA4dd2GwraoXnjiZRu9Y,5182
255
256
  deepeval/metrics/g_eval/utils.py,sha256=GultslyqO70msvORp6yjPcvlVKMA8vL4nQNnARdH9bM,8809
@@ -261,7 +262,7 @@ deepeval/metrics/hallucination/__init__.py,sha256=rCVlHi2UGzDKmZKi0esFLafmshVBx2
261
262
  deepeval/metrics/hallucination/hallucination.py,sha256=t4ZqxiCQjXBQCPXJHudaZ1Pq5khGA7injkGAvqWsbh4,9007
262
263
  deepeval/metrics/hallucination/schema.py,sha256=V8xbrBLMwJfre-lPuDc7rMEdhHf_1hfgoW1jE_ULvAY,286
263
264
  deepeval/metrics/hallucination/template.py,sha256=7wa1X-EpNIGTAuhdtw5eeBmHrJKhQqjN0oB7v8GJyB0,3067
264
- deepeval/metrics/indicator.py,sha256=HZsbTc2s0_ZC9hPTcRdT8RSJ73JfZuQW9CKM32ydC3M,10909
265
+ deepeval/metrics/indicator.py,sha256=GkDqYKr9MDn-ybavgD1twFR7SlBuzRoy349w9j5Zvb8,11249
265
266
  deepeval/metrics/json_correctness/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
266
267
  deepeval/metrics/json_correctness/json_correctness.py,sha256=UOXZU5324ohGaV1PvK-qU0I0yo5cVi5QmMFNHyzwZCc,7590
267
268
  deepeval/metrics/json_correctness/schema.py,sha256=VenN3E6_abO3IdWGdTB1ZfcFpGR9suzNkMxjr-h4I0k,94
@@ -271,10 +272,10 @@ deepeval/metrics/knowledge_retention/knowledge_retention.py,sha256=F1ZUUTk3JNpWW
271
272
  deepeval/metrics/knowledge_retention/schema.py,sha256=aNxalB1vDC00BtyZRIIxzY8XfEuBJ4QwXIzXz6Bnz0g,666
272
273
  deepeval/metrics/knowledge_retention/template.py,sha256=esUciwBcnYDcKWCObjtWDXOZOoLpjl6A9sozWxgjvuI,5859
273
274
  deepeval/metrics/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
274
- deepeval/metrics/mcp/mcp_task_completion.py,sha256=Emdt786obJ0iTE7NeYVgw8pTwezSHgoU4QitH5nnJ6w,11475
275
- deepeval/metrics/mcp/multi_turn_mcp_use_metric.py,sha256=NnHoWOit7LXozEamO53FvxD0YxRp7gTxoM4d3Lst9Lw,14813
276
- deepeval/metrics/mcp/schema.py,sha256=e9_bFfI8uHeejaePu-YIX8qpAax1noPaKhpiD_NYlgg,310
277
- deepeval/metrics/mcp/template.py,sha256=DNS3WEECs2UKDnfH56DsiAPZk8nRxHrGWkiqBaGe2CI,7456
275
+ deepeval/metrics/mcp/mcp_task_completion.py,sha256=vn3C73bSNIT8ZkbNeVkjLcIfCaolJL_LLqUP-kfdgkM,11490
276
+ deepeval/metrics/mcp/multi_turn_mcp_use_metric.py,sha256=N2XFiaMpVYCFA-pHM6cLlrd8dkb4ghkQWVYrEHLlE98,14829
277
+ deepeval/metrics/mcp/schema.py,sha256=2MAGeAV66gv8yIU7ECekN5osd-QxtsJWdEdwPehhxEw,353
278
+ deepeval/metrics/mcp/template.py,sha256=mOJkJZKYN7SAArm111bye84gyL-AHihT9jK7gjlFBxw,7679
278
279
  deepeval/metrics/mcp_use_metric/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
279
280
  deepeval/metrics/mcp_use_metric/mcp_use_metric.py,sha256=SghRJ4TvOOj2SaLsqgdwaJJTxXi0AyJsuAymJbtBMGU,14054
280
281
  deepeval/metrics/mcp_use_metric/schema.py,sha256=GAWacRNl0i7ir_AE_f1_OBEj0Q5xhcIwEytmTFpiwyw,169
@@ -323,7 +324,7 @@ deepeval/metrics/plan_quality/plan_quality.py,sha256=Sjv9LhatGAaM8Tr_XxZFvua6nLc
323
324
  deepeval/metrics/plan_quality/schema.py,sha256=xfdN_qi0AM-pNIIci7JdDdFdr_XLrjPTBEtpOrXmgmM,190
324
325
  deepeval/metrics/plan_quality/template.py,sha256=BaA35nuK4NL5TMzP_dkoj9pacFZYRX32mdFHy_VBtxU,4883
325
326
  deepeval/metrics/prompt_alignment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
- deepeval/metrics/prompt_alignment/prompt_alignment.py,sha256=6iXuZyN283S9LVRPxEuTkQNnn0YN1pQTE6rsyHshG_8,9638
327
+ deepeval/metrics/prompt_alignment/prompt_alignment.py,sha256=ggCT350Vlj0dirpgJFZzWcVnoNGbgi7r1IJfrf1poNE,9601
327
328
  deepeval/metrics/prompt_alignment/schema.py,sha256=ann3tH5XfZCLhePE2UXTSK_gkF-_udP0RP_IVHW4mF0,315
328
329
  deepeval/metrics/prompt_alignment/template.py,sha256=FM6Fe0SkF43uZCOobhDFNs4F8bxUo3gYaHOT355T-Zc,3632
329
330
  deepeval/metrics/ragas.py,sha256=iWom5EIWBJPl2UTsBWkEIEBHAitK7EgKUy_Lx1kyMhc,17679
@@ -352,42 +353,42 @@ deepeval/metrics/tool_correctness/schema.py,sha256=N0fmpYfCZm0AHSUg9UZkYYpYohDyJ
352
353
  deepeval/metrics/tool_correctness/template.py,sha256=M3wmMWRr53_5Zpw58utJvcA9QXwZzRMfUcPRGD86G0U,3517
353
354
  deepeval/metrics/tool_correctness/tool_correctness.py,sha256=EQ3Tc8Hm8t6ihvwql-MDdWU11dtTdW0j_NRwjKISgeY,20783
354
355
  deepeval/metrics/tool_use/__init__.py,sha256=sR0b1T0qLbJU-N_CLQB-pSliawRQa0v2CC0I89ws4Lo,36
355
- deepeval/metrics/tool_use/schema.py,sha256=hQ3OarGWUeVXUJUaZOPiF8xROsdzT-BRzXCEPLof85k,338
356
- deepeval/metrics/tool_use/template.py,sha256=jF9oESP7FKAP877yWh0xFS31PpquQbgpQIGQy4s0BEE,9598
357
- deepeval/metrics/tool_use/tool_use.py,sha256=m3iHbh-hTBaPNoa48uJvDSHiu4C1HrYsC7kF7TuAfdE,15700
356
+ deepeval/metrics/tool_use/schema.py,sha256=pzLGScBVOd7CPKGsyYcrS2gDBB-wZN_31ZRv5MJ41Tw,381
357
+ deepeval/metrics/tool_use/template.py,sha256=UDgfFx8En8htq1lqce9tGhb_S2sZBeXP0k0DfbmRF2U,10100
358
+ deepeval/metrics/tool_use/tool_use.py,sha256=BLW6rre8DMnu0uYK45fIbhk4SgjS7CenOYMPPjrQuAY,15729
358
359
  deepeval/metrics/topic_adherence/__init__.py,sha256=SJLIAqpwLglKBnfe5hfQQKUq-Q9ygqSe_lKjSNfiBeg,50
359
- deepeval/metrics/topic_adherence/schema.py,sha256=nH3aeFIyI7KgNpbHqwktnAXTGWuM_qij3npDl0TPRfU,286
360
- deepeval/metrics/topic_adherence/template.py,sha256=FPaiIe3MIxN2BDyUayaPOXMUEeGVYhQSRuGP4X6qDec,7680
361
- deepeval/metrics/topic_adherence/topic_adherence.py,sha256=voip2G8l1TBMA9K3HkV8yKFQx3CjsoYrzuJzepC6M-0,13349
360
+ deepeval/metrics/topic_adherence/schema.py,sha256=UNO-O8ar2qJ0DFiySo5x6w26QNAAvtNaBvB8Jdk6Hgk,343
361
+ deepeval/metrics/topic_adherence/template.py,sha256=jwyzAJn2O60ZhTDWKlk_gj9-gbAa4kM0d0W4KMfu_oY,7961
362
+ deepeval/metrics/topic_adherence/topic_adherence.py,sha256=-M-KBiWeTT3GT3P1-znQbMpvtlWvZN8B9fbKJ7XFhRU,13411
362
363
  deepeval/metrics/toxicity/__init__.py,sha256=1lgt8BKxfBDd7bfSLu_5kMzmsr9b2_ahPK9oq5zLkMk,39
363
364
  deepeval/metrics/toxicity/schema.py,sha256=7uUdzXqTvIIz5nfahlllo_fzVRXg7UeMeXn7Hl32pKY,459
364
365
  deepeval/metrics/toxicity/template.py,sha256=otm04F6UsrVKr8KIdrX67QqP4FdFC-5bdzaJqD_LLCE,5420
365
366
  deepeval/metrics/toxicity/toxicity.py,sha256=V5CqdNdwenC_cCLRPB24Hlo1-8kGj8YZoYxgA51uW5g,9668
366
367
  deepeval/metrics/turn_contextual_precision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
367
368
  deepeval/metrics/turn_contextual_precision/schema.py,sha256=0n9q1miTOLhXcUi9B82kBDH6jZwitsGvDmXEvutQGjM,444
368
- deepeval/metrics/turn_contextual_precision/template.py,sha256=IwVwtUZUH5tuwae27-BiDmU7B6Qj4WMqJdvTJ-7sGgk,8708
369
- deepeval/metrics/turn_contextual_precision/turn_contextual_precision.py,sha256=6Bu5T4peX16ThEwXEFJDt_fGnfT47wD9gUc5zt8Fl98,19724
369
+ deepeval/metrics/turn_contextual_precision/template.py,sha256=-0QHaN50p8wa51lSmkNOpPnpuouo5NEBERw0L0tE36Y,8976
370
+ deepeval/metrics/turn_contextual_precision/turn_contextual_precision.py,sha256=yLMxRXB51n8kINEHEMT4s3gkAzSZmZt8q_GvRHDW-kk,18050
370
371
  deepeval/metrics/turn_contextual_recall/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
371
372
  deepeval/metrics/turn_contextual_recall/schema.py,sha256=CZV93wrmeEpCgQdKVNb0OLEhRJg4bwVk_30-1qTiYRs,429
372
- deepeval/metrics/turn_contextual_recall/template.py,sha256=GFsATc-Vc2xpSDdTksJ4g1oINR4awjsZngrHk7jjQFw,8511
373
- deepeval/metrics/turn_contextual_recall/turn_contextual_recall.py,sha256=_r0C_0VyJcx_MRuyVuggeorgVjKHYvkM4q7ZBNWVxL0,18980
373
+ deepeval/metrics/turn_contextual_recall/template.py,sha256=t_uMLPMsLARmenftJb9Y38vsaaosx9fuKUznz7_PlbU,8776
374
+ deepeval/metrics/turn_contextual_recall/turn_contextual_recall.py,sha256=upxP_mw3v44TpDkNJIssHILzHdJ5mJ2FaDdX-yw7b-E,17406
374
375
  deepeval/metrics/turn_contextual_relevancy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
375
376
  deepeval/metrics/turn_contextual_relevancy/schema.py,sha256=d7eqVTn8Ov5WXqEoPKDVPMKaQ8reETD5A8CkLW8TAXQ,521
376
- deepeval/metrics/turn_contextual_relevancy/template.py,sha256=8W5VC44WbHlrr5yqQzStedVG3xxsKU-3fUpbvNQFL-Y,7805
377
- deepeval/metrics/turn_contextual_relevancy/turn_contextual_relevancy.py,sha256=q4PTL-a83f-RN4fewstW5P4VKktmk5Ilk6DuynhTB5c,19531
377
+ deepeval/metrics/turn_contextual_relevancy/template.py,sha256=FB5EmBT3sKFB2b-1uzatJd7raXMqII4AiguQzuf09Os,8073
378
+ deepeval/metrics/turn_contextual_relevancy/turn_contextual_relevancy.py,sha256=GQUV8JDZDQ9KByn5iOl7FhkfZPADkN2LIpy9SwuhLkw,17641
378
379
  deepeval/metrics/turn_faithfulness/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
379
380
  deepeval/metrics/turn_faithfulness/schema.py,sha256=T-IcxdGDTRgdMvUnKtwPWVkKNY6tYizO8XZ4wz_OUsU,613
380
- deepeval/metrics/turn_faithfulness/template.py,sha256=KFm2I9rX2fYHyr1R_hKMFRvnHGauz2ObSyBUC7radRc,7950
381
- deepeval/metrics/turn_faithfulness/turn_faithfulness.py,sha256=zmorQDb-c7w3OVWWep1vyzzwYqcQcpfrJm7Bk3zRITM,21722
381
+ deepeval/metrics/turn_faithfulness/template.py,sha256=5BoVjtACBXm8VFBXfxbBLrEGLSPF9HC3yYeHi9arH34,8239
382
+ deepeval/metrics/turn_faithfulness/turn_faithfulness.py,sha256=4HJ81V_v5q-iWiYxMSJWNlinq7cUOojnOuCdgWKEzBk,19188
382
383
  deepeval/metrics/turn_relevancy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
383
384
  deepeval/metrics/turn_relevancy/schema.py,sha256=om0zFJcM6qu2GWS9aJTP3lUmuEXX8KpoACEvCsJqfq4,234
384
385
  deepeval/metrics/turn_relevancy/template.py,sha256=k02QVclRtCTVBZ7Xd4f-LdTrSO_dBxquQiFYqRYmiSA,3245
385
386
  deepeval/metrics/turn_relevancy/turn_relevancy.py,sha256=gMx5o5vfPJjVKior96L_A-4o3IoAyxSoTgI8U9sJtRY,9468
386
- deepeval/metrics/utils.py,sha256=6kTSm1iYbvT9KOfiZsDb-z7OH7ExUwQGHom9c1R65CI,20876
387
+ deepeval/metrics/utils.py,sha256=RS8gsEh__DaKhXjdDfNcw1iOVvN40Z1mbQHM21Q30Iw,21371
387
388
  deepeval/model_integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
388
389
  deepeval/model_integrations/types.py,sha256=rbVMhC_2yWwD6JqzkRO9D7aMVC_KtXN686G_S7de7S8,630
389
390
  deepeval/model_integrations/utils.py,sha256=Zt9SYPgTxlGsQFZgpZvh_a5fWuL8mmIFVSe6uoQywZ4,3562
390
- deepeval/models/__init__.py,sha256=ZCsdiFM8KUPPt5Rm1x8-V_qMAdf3oxLuQpMMhpy2vGk,942
391
+ deepeval/models/__init__.py,sha256=NLG4t8GevFwGac3xdnGVZbPx-ysbeghHJZ4rdv4DQ4c,980
391
392
  deepeval/models/_summac_model.py,sha256=xflanxl_IBuzuainlYCVX7UvjHCnAckKSvNR2NwZI6k,19750
392
393
  deepeval/models/answer_relevancy_model.py,sha256=SLOA6uUImNOuxpPGfTg2AH7MIkf9QsotYixvI1jcVC8,2197
393
394
  deepeval/models/base_model.py,sha256=uja2bZcrTCIPMkIDgOLG2k2Ncw7uTX6vjvnrQtFlNlk,4891
@@ -398,25 +399,25 @@ deepeval/models/embedding_models/local_embedding_model.py,sha256=Io5dYNR8f-_iMmz
398
399
  deepeval/models/embedding_models/ollama_embedding_model.py,sha256=4uxrzdBlpWT-SM1HHHsZXhwg1ejkxUDFewxACLeYsG4,3747
399
400
  deepeval/models/embedding_models/openai_embedding_model.py,sha256=S8uvWODbiTF4EYfeID5yEF0YvYkDs1dP_Kiur4sb67M,4477
400
401
  deepeval/models/hallucination_model.py,sha256=ABi978VKLE_jNHbDzM96kJ08EsZ5ZlvOlJHA_ptSkfQ,1003
401
- deepeval/models/llms/__init__.py,sha256=qmvv7wnmTDvys2uUTwQRo-_3DlFV3fGLiewPeQYRsAI,670
402
- deepeval/models/llms/amazon_bedrock_model.py,sha256=b103PrG0LOM6pRiFMEzePReuLNhuOHg18a0y_jWPmhs,10748
403
- deepeval/models/llms/anthropic_model.py,sha256=RgVLhpHYTivLg6-dsiel1ljk_aP-dMKNz45InbEi8Ak,10457
404
- deepeval/models/llms/azure_model.py,sha256=V_vSThG5y8UfFuccQY-SBR---iBxJKguX8bmviyxl2A,16588
402
+ deepeval/models/llms/__init__.py,sha256=vrz8j4AjRDOHwkUPokXgukls_hMJkNgmphCVqDMns28,730
403
+ deepeval/models/llms/amazon_bedrock_model.py,sha256=mgBdGhyZo0SU0OMzqWAF6pUlQMUuCCdDiordfinDNpM,10898
404
+ deepeval/models/llms/anthropic_model.py,sha256=08_nGK5EoGpf_F0I6JkhrEAswDc9DjLQqGYMX3emsoQ,10542
405
+ deepeval/models/llms/azure_model.py,sha256=Nc_LgA8rEhkldvdhccNojERaviaBg6jyfBVL9bGdKek,16673
405
406
  deepeval/models/llms/constants.py,sha256=0qnrd1bC46BdTAaf4Ja9WkTFYNysf6idsn-6s0Z5BtA,71143
406
- deepeval/models/llms/deepseek_model.py,sha256=v43Awl1JXnC7sCcxh1hRAOmzcy-82zmCrl46SUEZnzY,8511
407
+ deepeval/models/llms/deepseek_model.py,sha256=OzEs0hnSixqICurVFo6T5GBAUeDrnWOlooEyJrgi5zE,8565
407
408
  deepeval/models/llms/gemini_model.py,sha256=YCTHlIIUHpgcr9y9iA0XEK0cYYScZZ_Gk2dMCQR6BcY,15401
408
- deepeval/models/llms/grok_model.py,sha256=yVFE4uKqAAgYAYKQnzpRGWGTivdcH3pOmZZWU4Kzye4,10649
409
- deepeval/models/llms/kimi_model.py,sha256=tIER7TRXzaKweuBYGv8bfFOx9fUeJRpolxfsNKsi00s,10387
410
- deepeval/models/llms/litellm_model.py,sha256=l8CUMnNBFBXUZbKZ91ViX11JwTYdWeczkwXesJ6B8Ww,16411
411
- deepeval/models/llms/local_model.py,sha256=ohYpJpmgr5KuCkfYRiZ3HR-AtrObhmT3y5WHNybDit8,8277
409
+ deepeval/models/llms/grok_model.py,sha256=zGU1WzKADrgap5NQJTDb6BY4SZNNJqAZ6phnK_HFJqw,10703
410
+ deepeval/models/llms/kimi_model.py,sha256=n5w2MeeKSMS7HvSpiDSQueZ2EQSv3c6pDb-C-ASHGwE,10441
411
+ deepeval/models/llms/litellm_model.py,sha256=lWfJvzWia7XCrLiRTNF0fUQXYOalsLV1y3Tq03loDP4,16533
412
+ deepeval/models/llms/local_model.py,sha256=1KWuvgfdSE2XaNriIz-8gBIrbvmLOgomZxXI80Zt-8c,8287
412
413
  deepeval/models/llms/ollama_model.py,sha256=fk2GlQSFMYBe9oKrFouWAIf_PtSZZp8SGV2HXpE66no,7957
413
- deepeval/models/llms/openai_model.py,sha256=fbZ9PFB03nuDNCBsumpRj_tMzDQeGy-C0vYTuuf4rU8,17142
414
+ deepeval/models/llms/openai_model.py,sha256=uXk3jsBjF1AscWkT3O-FfSosgn-L91wIQU9wvCBqokc,17227
414
415
  deepeval/models/llms/portkey_model.py,sha256=EvUJDHhtKzetFakc1HzxYIpzUlgD3UnEvZr0q9hpIKU,6684
415
416
  deepeval/models/llms/utils.py,sha256=NsrZ4DjrVBnYbMZEY6G8U9On_B84kiDkB88yeyBUFfw,1433
416
- deepeval/models/retry_policy.py,sha256=rg4fal8MTd0VoWVUfY1y8VbMU8PH7XOaCrpC65NoWSw,34602
417
+ deepeval/models/retry_policy.py,sha256=lFon21lgFmgMTryd6BRtaCTrcIGUVobP1MOjWtKPgnI,34816
417
418
  deepeval/models/summac_model.py,sha256=wKeH7pWQRXrTlzlIw_r1YCb8b7jUhWq6jUz9FiNUCSg,1992
418
419
  deepeval/models/unbias_model.py,sha256=umOMhQLTmnD7uOuhiQufEl4Wlti4q2s3EtKOpds7zhs,597
419
- deepeval/models/utils.py,sha256=UvLov_TCPBV-DFgb3stJNGa09-F19zSclXaEFLS9zhE,6246
420
+ deepeval/models/utils.py,sha256=0_6_hmEwatWGoba-KNE38KvmDKMlhGff2lIzOCpRQgQ,5947
420
421
  deepeval/openai/__init__.py,sha256=YamU9-x8Ep1hfW6TuLX1nVBfiU7tglNQm84OSkJIP4o,555
421
422
  deepeval/openai/extractors.py,sha256=82pB3J4RbRI7qJqjDJNOEeFAK4PjfQUBx7KhsWcD7sg,6018
422
423
  deepeval/openai/patch.py,sha256=yAreqmE3BTK2gih-4Ek6Adsakai85akvhlVvkrBWrz8,9332
@@ -466,9 +467,9 @@ deepeval/red_teaming/README.md,sha256=BY5rAdpp3-sMMToEKwq0Nsd9ivkGDzPE16DeDb8GY7
466
467
  deepeval/scorer/__init__.py,sha256=hTvtoV3a4l0dSBjERm-jX7jveTtKZXK0c9JerQo0T_w,27
467
468
  deepeval/scorer/scorer.py,sha256=EmXo1wEMMAL2it8WxNJ4cTqZLCH1ad4BY2VewoX6b10,18348
468
469
  deepeval/simulator/__init__.py,sha256=wkyevg9nh46rsVnVrBjY3K5bHlkqjwx4TtrTfyjDCO0,96
469
- deepeval/simulator/conversation_simulator.py,sha256=TNQs4KRWIxGvirX0k7RNIWLioykkGpXpSgaZtLDeWY8,27102
470
+ deepeval/simulator/conversation_simulator.py,sha256=I3YotQiAjPY8nvaC8pe_HDcwkzU78XTT88USj4D0Tr4,27208
470
471
  deepeval/simulator/schema.py,sha256=16X2-m92plP52YTd-dvECt_-6gsz0U4j7Ut3UdI6gKY,252
471
- deepeval/simulator/template.py,sha256=yj3v3mpRUDzXzk0kP0eSyy-uAe8eLtLcz_oydewIz1w,6416
472
+ deepeval/simulator/template.py,sha256=6wh6xiUaZQn-pvkBWgOK7pWfsv5nntgjGfTqUkcKn0A,6461
472
473
  deepeval/singleton.py,sha256=irNbt0-IRI7rD4t05OZHsrNovpeva0XPc8PoieFytG8,532
473
474
  deepeval/synthesizer/__init__.py,sha256=eMihIQH-NClWL-8CZ9HUs9GA1Cy_DV_YX_f1o4bpO2c,142
474
475
  deepeval/synthesizer/base_synthesizer.py,sha256=ua7HDq1lemeFH5FuWdGJxMGFH5QA2CSYkekk4bpOHcU,675
@@ -477,7 +478,7 @@ deepeval/synthesizer/chunking/context_generator.py,sha256=ucwa-7BcPSHHf4Tu31dfyJ
477
478
  deepeval/synthesizer/chunking/doc_chunker.py,sha256=DvJmbA_NnZBGCZgxKQsxlIC29kca_d7J-Dxq9SyfzX0,10612
478
479
  deepeval/synthesizer/config.py,sha256=rg9HzN5w_82tpzBALgt__NkAcmh0vDEoORJpjsRLWMY,2207
479
480
  deepeval/synthesizer/schema.py,sha256=TFCIvXeL0TOKqfjMm2qgR4hFcvvFaPEZdQ1xTnRJqPs,1294
480
- deepeval/synthesizer/synthesizer.py,sha256=QF02PSedde8t5Q0R9WpkWeD4tVD8fo4m4pJFu0H7jbc,110316
481
+ deepeval/synthesizer/synthesizer.py,sha256=x3h32erDunKjkrs3l-MCUxYeiwG-EyQh2XQLUnTeG8Y,110451
481
482
  deepeval/synthesizer/templates/__init__.py,sha256=9UhfJFwPEdLWmxJz3ksNJps-jGYJFJnJP1U-x7j0By4,319
482
483
  deepeval/synthesizer/templates/template.py,sha256=ri3dX2gzxNmL8qlkl47HD8kecmqMBF5mE-mraZvf1xU,65008
483
484
  deepeval/synthesizer/templates/template_extraction.py,sha256=jmvr8AOOUzDgsHYIOsq-NaxlRQ5GygK16TTRGxBXDyM,3508
@@ -497,7 +498,7 @@ deepeval/test_run/api.py,sha256=dN71exQtBf3wdPGa4wK1Kyz03AtiVDP5fC2hIomM60o,5630
497
498
  deepeval/test_run/cache.py,sha256=9xZMOgGUUOX7oCctJgnvvYmjbkH7MhdVrMrgk4I0Mmg,13500
498
499
  deepeval/test_run/hooks.py,sha256=Qnd06bk9RJN4WmFUzJrBAi3Xj261hzyzI2iRmG8wbKw,375
499
500
  deepeval/test_run/hyperparameters.py,sha256=4yJkNgwL2y6eyWDTmUV62f5RUlfOui4R22wsJ5uTbto,3874
500
- deepeval/test_run/test_run.py,sha256=4e8yxcXzT1-C9rdJMc_wk4iiNxah_Tml3fAEtN87FUg,41404
501
+ deepeval/test_run/test_run.py,sha256=csbj0KVsp1QDCFKEqthQzPSmxusjNQkoVfsWBnq2Z_s,41549
501
502
  deepeval/tracing/__init__.py,sha256=aSOk_ZgL-K7CZzcyiaIa5peAiaPViDST5GhpHA3Adc8,614
502
503
  deepeval/tracing/api.py,sha256=GbtpUDdGpchl6rPXtZT6IBKjAhwux6qOlKLdP3dRVHU,4996
503
504
  deepeval/tracing/context.py,sha256=v4uzd0N2H8mNntPwZvL49ya2kW9FvjqQqWXJFgE5d0c,5469
@@ -517,9 +518,9 @@ deepeval/tracing/trace_test_manager.py,sha256=wt4y7EWTRc4Bw938-UFFtXHkdFFOrnx6Ja
517
518
  deepeval/tracing/tracing.py,sha256=VCvFrPdBPSu1tL6xGswgOcCGBk-bU25wrcWAKD_8Uf0,46465
518
519
  deepeval/tracing/types.py,sha256=WhnxefUc5I8jcAOBQ-tsZ8_zVZfGqSvCWHD5XUN6Ggw,6040
519
520
  deepeval/tracing/utils.py,sha256=mdvhYAxDNsdnusaEXJd-c-_O2Jn6S3xSuzRvLO1Jz4U,5684
520
- deepeval/utils.py,sha256=Q9F8qRMYgYlaV4MlIrB-31I8CG_ZOfiGW3o9vb0ZOTo,26085
521
- deepeval-3.7.6.dist-info/LICENSE.md,sha256=0ATkuLv6QgsJTBODUHC5Rak_PArA6gv2t7inJzNTP38,11352
522
- deepeval-3.7.6.dist-info/METADATA,sha256=PV1whJSzel7mHTsJC0VH0JGqmhHk9j11IiERKFw6OK0,18651
523
- deepeval-3.7.6.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
524
- deepeval-3.7.6.dist-info/entry_points.txt,sha256=NoismUQfwLOojSGZmBrdcpwfaoFRAzUhBvZD3UwOKog,95
525
- deepeval-3.7.6.dist-info/RECORD,,
521
+ deepeval/utils.py,sha256=_DTCUD-nAC8mVgyYf4sPBpguq8Da9G62Fgvi9AR82K8,26765
522
+ deepeval-3.7.7.dist-info/LICENSE.md,sha256=0ATkuLv6QgsJTBODUHC5Rak_PArA6gv2t7inJzNTP38,11352
523
+ deepeval-3.7.7.dist-info/METADATA,sha256=5jB5mDWkgfJU0HZ14v7sfdQoDIDW0LMeYTVbN18XNlQ,18662
524
+ deepeval-3.7.7.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
525
+ deepeval-3.7.7.dist-info/entry_points.txt,sha256=NoismUQfwLOojSGZmBrdcpwfaoFRAzUhBvZD3UwOKog,95
526
+ deepeval-3.7.7.dist-info/RECORD,,