deepeval 3.5.1__py3-none-any.whl → 3.5.3__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.
- deepeval/_version.py +1 -1
- deepeval/config/settings.py +94 -2
- deepeval/config/utils.py +54 -1
- deepeval/constants.py +27 -0
- deepeval/integrations/langchain/__init__.py +2 -3
- deepeval/integrations/langchain/callback.py +126 -301
- deepeval/integrations/langchain/patch.py +24 -13
- deepeval/integrations/langchain/utils.py +203 -1
- deepeval/integrations/pydantic_ai/patcher.py +220 -185
- deepeval/integrations/pydantic_ai/utils.py +86 -0
- deepeval/metrics/conversational_g_eval/conversational_g_eval.py +1 -0
- deepeval/metrics/pii_leakage/pii_leakage.py +1 -1
- deepeval/models/embedding_models/azure_embedding_model.py +40 -9
- deepeval/models/embedding_models/local_embedding_model.py +54 -11
- deepeval/models/embedding_models/ollama_embedding_model.py +25 -7
- deepeval/models/embedding_models/openai_embedding_model.py +47 -5
- deepeval/models/llms/amazon_bedrock_model.py +31 -4
- deepeval/models/llms/anthropic_model.py +39 -13
- deepeval/models/llms/azure_model.py +37 -38
- deepeval/models/llms/deepseek_model.py +36 -7
- deepeval/models/llms/gemini_model.py +10 -0
- deepeval/models/llms/grok_model.py +50 -3
- deepeval/models/llms/kimi_model.py +37 -7
- deepeval/models/llms/local_model.py +38 -12
- deepeval/models/llms/ollama_model.py +15 -3
- deepeval/models/llms/openai_model.py +37 -44
- deepeval/models/mlllms/gemini_model.py +21 -3
- deepeval/models/mlllms/ollama_model.py +38 -13
- deepeval/models/mlllms/openai_model.py +18 -42
- deepeval/models/retry_policy.py +548 -64
- deepeval/prompt/api.py +13 -9
- deepeval/prompt/prompt.py +19 -9
- deepeval/tracing/tracing.py +87 -0
- deepeval/utils.py +12 -0
- {deepeval-3.5.1.dist-info → deepeval-3.5.3.dist-info}/METADATA +1 -1
- {deepeval-3.5.1.dist-info → deepeval-3.5.3.dist-info}/RECORD +39 -38
- {deepeval-3.5.1.dist-info → deepeval-3.5.3.dist-info}/LICENSE.md +0 -0
- {deepeval-3.5.1.dist-info → deepeval-3.5.3.dist-info}/WHEEL +0 -0
- {deepeval-3.5.1.dist-info → deepeval-3.5.3.dist-info}/entry_points.txt +0 -0
deepeval/prompt/api.py
CHANGED
|
@@ -19,26 +19,29 @@ class PromptType(Enum):
|
|
|
19
19
|
TEXT = "TEXT"
|
|
20
20
|
LIST = "LIST"
|
|
21
21
|
|
|
22
|
+
|
|
22
23
|
class PromptVersion(BaseModel):
|
|
23
24
|
id: str
|
|
24
25
|
version: str
|
|
25
26
|
commit_message: str = Field(
|
|
26
|
-
serialization_alias="commitMessage",
|
|
27
|
-
validation_alias=AliasChoices("commit_message", "commitMessage")
|
|
27
|
+
serialization_alias="commitMessage",
|
|
28
|
+
validation_alias=AliasChoices("commit_message", "commitMessage"),
|
|
28
29
|
)
|
|
29
30
|
|
|
31
|
+
|
|
30
32
|
class PromptVersionsHttpResponse(BaseModel):
|
|
31
33
|
text_versions: Optional[List[PromptVersion]] = Field(
|
|
32
|
-
None,
|
|
33
|
-
serialization_alias="textVersions",
|
|
34
|
-
validation_alias=AliasChoices("text_versions", "textVersions")
|
|
34
|
+
None,
|
|
35
|
+
serialization_alias="textVersions",
|
|
36
|
+
validation_alias=AliasChoices("text_versions", "textVersions"),
|
|
35
37
|
)
|
|
36
38
|
messages_versions: Optional[List[PromptVersion]] = Field(
|
|
37
|
-
None,
|
|
38
|
-
serialization_alias="messagesVersions",
|
|
39
|
-
validation_alias=AliasChoices("messages_versions", "messagesVersions")
|
|
39
|
+
None,
|
|
40
|
+
serialization_alias="messagesVersions",
|
|
41
|
+
validation_alias=AliasChoices("messages_versions", "messagesVersions"),
|
|
40
42
|
)
|
|
41
43
|
|
|
44
|
+
|
|
42
45
|
class PromptHttpResponse(BaseModel):
|
|
43
46
|
id: str
|
|
44
47
|
text: Optional[str] = None
|
|
@@ -48,6 +51,7 @@ class PromptHttpResponse(BaseModel):
|
|
|
48
51
|
)
|
|
49
52
|
type: PromptType
|
|
50
53
|
|
|
54
|
+
|
|
51
55
|
class PromptPushRequest(BaseModel):
|
|
52
56
|
alias: str
|
|
53
57
|
text: Optional[str] = None
|
|
@@ -62,4 +66,4 @@ class PromptPushRequest(BaseModel):
|
|
|
62
66
|
|
|
63
67
|
class PromptApi(BaseModel):
|
|
64
68
|
id: str
|
|
65
|
-
type: PromptType
|
|
69
|
+
type: PromptType
|
deepeval/prompt/prompt.py
CHANGED
|
@@ -19,7 +19,10 @@ from deepeval.prompt.api import (
|
|
|
19
19
|
from deepeval.prompt.utils import interpolate_text
|
|
20
20
|
from deepeval.confident.api import Api, Endpoints, HttpMethods
|
|
21
21
|
from deepeval.constants import HIDDEN_DIR
|
|
22
|
-
from deepeval.utils import
|
|
22
|
+
from deepeval.utils import (
|
|
23
|
+
get_or_create_event_loop,
|
|
24
|
+
get_or_create_general_event_loop,
|
|
25
|
+
)
|
|
23
26
|
|
|
24
27
|
CACHE_FILE_NAME = f"{HIDDEN_DIR}/.deepeval-prompt-cache.json"
|
|
25
28
|
|
|
@@ -111,7 +114,7 @@ class Prompt:
|
|
|
111
114
|
return interpolated_messages
|
|
112
115
|
else:
|
|
113
116
|
raise ValueError(f"Unsupported prompt type: {self._type}")
|
|
114
|
-
|
|
117
|
+
|
|
115
118
|
def _get_versions(self) -> List:
|
|
116
119
|
if self.alias is None:
|
|
117
120
|
raise ValueError(
|
|
@@ -214,10 +217,11 @@ class Prompt:
|
|
|
214
217
|
)
|
|
215
218
|
|
|
216
219
|
# Manage background prompt polling
|
|
217
|
-
loop =
|
|
218
|
-
loop.
|
|
219
|
-
self.create_polling_task(version, refresh)
|
|
220
|
-
|
|
220
|
+
loop = get_or_create_general_event_loop()
|
|
221
|
+
if loop.is_running():
|
|
222
|
+
loop.create_task(self.create_polling_task(version, refresh))
|
|
223
|
+
else:
|
|
224
|
+
loop.run_until_complete(self.create_polling_task(version, refresh))
|
|
221
225
|
|
|
222
226
|
if default_to_cache:
|
|
223
227
|
try:
|
|
@@ -251,7 +255,10 @@ class Prompt:
|
|
|
251
255
|
data, _ = api.send_request(
|
|
252
256
|
method=HttpMethods.GET,
|
|
253
257
|
endpoint=Endpoints.PROMPTS_VERSION_ID_ENDPOINT,
|
|
254
|
-
url_params={
|
|
258
|
+
url_params={
|
|
259
|
+
"alias": self.alias,
|
|
260
|
+
"versionId": version or "latest",
|
|
261
|
+
},
|
|
255
262
|
)
|
|
256
263
|
response = PromptHttpResponse(
|
|
257
264
|
id=data["id"],
|
|
@@ -393,7 +400,10 @@ class Prompt:
|
|
|
393
400
|
data, _ = api.send_request(
|
|
394
401
|
method=HttpMethods.GET,
|
|
395
402
|
endpoint=Endpoints.PROMPTS_VERSION_ID_ENDPOINT,
|
|
396
|
-
url_params={
|
|
403
|
+
url_params={
|
|
404
|
+
"alias": self.alias,
|
|
405
|
+
"versionId": version or "latest",
|
|
406
|
+
},
|
|
397
407
|
)
|
|
398
408
|
response = PromptHttpResponse(
|
|
399
409
|
id=data["id"],
|
|
@@ -413,4 +423,4 @@ class Prompt:
|
|
|
413
423
|
except Exception as e:
|
|
414
424
|
pass
|
|
415
425
|
|
|
416
|
-
await asyncio.sleep(self._refresh_map[version])
|
|
426
|
+
await asyncio.sleep(self._refresh_map[version])
|
deepeval/tracing/tracing.py
CHANGED
|
@@ -967,6 +967,93 @@ def observe(
|
|
|
967
967
|
def decorator(func):
|
|
968
968
|
func_name = func.__name__ # Get func_name outside wrappers
|
|
969
969
|
|
|
970
|
+
# Async generator function
|
|
971
|
+
if inspect.isasyncgenfunction(func):
|
|
972
|
+
|
|
973
|
+
@functools.wraps(func)
|
|
974
|
+
def asyncgen_wrapper(*args, **func_kwargs):
|
|
975
|
+
|
|
976
|
+
sig = inspect.signature(func)
|
|
977
|
+
bound = sig.bind(*args, **func_kwargs)
|
|
978
|
+
bound.apply_defaults()
|
|
979
|
+
|
|
980
|
+
complete_kwargs = dict(bound.arguments)
|
|
981
|
+
if "self" in complete_kwargs:
|
|
982
|
+
complete_kwargs["self"] = replace_self_with_class_name(
|
|
983
|
+
complete_kwargs["self"]
|
|
984
|
+
)
|
|
985
|
+
observer_kwargs = {
|
|
986
|
+
"observe_kwargs": observe_kwargs,
|
|
987
|
+
"function_kwargs": complete_kwargs,
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
observer = Observer(
|
|
991
|
+
type,
|
|
992
|
+
metrics=metrics,
|
|
993
|
+
metric_collection=metric_collection,
|
|
994
|
+
func_name=func_name,
|
|
995
|
+
**observer_kwargs,
|
|
996
|
+
)
|
|
997
|
+
observer.__enter__()
|
|
998
|
+
agen = func(*args, **func_kwargs)
|
|
999
|
+
|
|
1000
|
+
async def gen():
|
|
1001
|
+
try:
|
|
1002
|
+
async for chunk in agen:
|
|
1003
|
+
yield chunk
|
|
1004
|
+
observer.__exit__(None, None, None)
|
|
1005
|
+
except Exception as e:
|
|
1006
|
+
observer.__exit__(type(e), e, e.__traceback__)
|
|
1007
|
+
raise
|
|
1008
|
+
|
|
1009
|
+
return gen()
|
|
1010
|
+
|
|
1011
|
+
setattr(asyncgen_wrapper, "_is_deepeval_observed", True)
|
|
1012
|
+
return asyncgen_wrapper
|
|
1013
|
+
|
|
1014
|
+
# Sync generator function
|
|
1015
|
+
if inspect.isgeneratorfunction(func):
|
|
1016
|
+
|
|
1017
|
+
@functools.wraps(func)
|
|
1018
|
+
def gen_wrapper(*args, **func_kwargs):
|
|
1019
|
+
|
|
1020
|
+
sig = inspect.signature(func)
|
|
1021
|
+
bound = sig.bind(*args, **func_kwargs)
|
|
1022
|
+
bound.apply_defaults()
|
|
1023
|
+
complete_kwargs = dict(bound.arguments)
|
|
1024
|
+
|
|
1025
|
+
if "self" in complete_kwargs:
|
|
1026
|
+
complete_kwargs["self"] = replace_self_with_class_name(
|
|
1027
|
+
complete_kwargs["self"]
|
|
1028
|
+
)
|
|
1029
|
+
observer_kwargs = {
|
|
1030
|
+
"observe_kwargs": observe_kwargs,
|
|
1031
|
+
"function_kwargs": make_json_serializable(complete_kwargs),
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
observer = Observer(
|
|
1035
|
+
type,
|
|
1036
|
+
metrics=metrics,
|
|
1037
|
+
metric_collection=metric_collection,
|
|
1038
|
+
func_name=func_name,
|
|
1039
|
+
**observer_kwargs,
|
|
1040
|
+
)
|
|
1041
|
+
observer.__enter__()
|
|
1042
|
+
original_gen = func(*args, **func_kwargs)
|
|
1043
|
+
|
|
1044
|
+
def gen():
|
|
1045
|
+
try:
|
|
1046
|
+
yield from original_gen
|
|
1047
|
+
observer.__exit__(None, None, None)
|
|
1048
|
+
except Exception as e:
|
|
1049
|
+
observer.__exit__(type(e), e, e.__traceback__)
|
|
1050
|
+
raise
|
|
1051
|
+
|
|
1052
|
+
return gen()
|
|
1053
|
+
|
|
1054
|
+
setattr(gen_wrapper, "_is_deepeval_observed", True)
|
|
1055
|
+
return gen_wrapper
|
|
1056
|
+
|
|
970
1057
|
if asyncio.iscoroutinefunction(func):
|
|
971
1058
|
|
|
972
1059
|
@functools.wraps(func)
|
deepeval/utils.py
CHANGED
|
@@ -148,6 +148,18 @@ def get_or_create_event_loop() -> asyncio.AbstractEventLoop:
|
|
|
148
148
|
return loop
|
|
149
149
|
|
|
150
150
|
|
|
151
|
+
def get_or_create_general_event_loop() -> asyncio.AbstractEventLoop:
|
|
152
|
+
try:
|
|
153
|
+
loop = asyncio.get_event_loop()
|
|
154
|
+
if loop.is_closed():
|
|
155
|
+
raise RuntimeError
|
|
156
|
+
return loop
|
|
157
|
+
except RuntimeError:
|
|
158
|
+
loop = asyncio.new_event_loop()
|
|
159
|
+
asyncio.set_event_loop(loop)
|
|
160
|
+
return loop
|
|
161
|
+
|
|
162
|
+
|
|
151
163
|
def set_should_skip_on_missing_params(yes: bool):
|
|
152
164
|
s = get_settings()
|
|
153
165
|
with s.edit(persist=False):
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
deepeval/__init__.py,sha256=6fsb813LD_jNhqR-xZnSdE5E-KsBbC3tc4oIg5ZMgTw,2115
|
|
2
|
-
deepeval/_version.py,sha256=
|
|
2
|
+
deepeval/_version.py,sha256=FauBIJ2kq1CmkcSxNhoO0BZN8gc3azHQFgdBkDjya18,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
|
|
@@ -141,10 +141,10 @@ deepeval/confident/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVG
|
|
|
141
141
|
deepeval/confident/api.py,sha256=bOC71TaVAEgoXFtJ9yMo0-atmUUdBuvaclMGczMcR6o,8455
|
|
142
142
|
deepeval/confident/types.py,sha256=-slFhDof_1maMgpLxqDRZv6kz6ZVY2hP_0uj_aveJKU,533
|
|
143
143
|
deepeval/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
144
|
-
deepeval/config/settings.py,sha256=
|
|
144
|
+
deepeval/config/settings.py,sha256=h-hHrzTItfMkR1ZnMCF6xUeJ3DBwdOgO354QaEH-VaE,20861
|
|
145
145
|
deepeval/config/settings_manager.py,sha256=PsBS_5dRJASak2AUDwjhjLSiezNz1fje0R3onoFCKC0,4014
|
|
146
|
-
deepeval/config/utils.py,sha256=
|
|
147
|
-
deepeval/constants.py,sha256=
|
|
146
|
+
deepeval/config/utils.py,sha256=gSOVv18Tx1R72GucbdQesbZLFL-Y9EzbS4p7qd2w_xE,3799
|
|
147
|
+
deepeval/constants.py,sha256=ZXIA1Hsjy03SvfaIx2hbj_oxHp-gJ-kYIyktnFD1AGg,1337
|
|
148
148
|
deepeval/dataset/__init__.py,sha256=rcum_VjBXu8eisCdr6sl84BgoZUs3x0tYbB2PnPtHGY,212
|
|
149
149
|
deepeval/dataset/api.py,sha256=ZxkEqAF4nZH_Ys_1f5r9N2LFI_vBcAJxt8eJm7Mplpw,831
|
|
150
150
|
deepeval/dataset/dataset.py,sha256=dkUDYtK1z9sDn6A-HOohoHHUobWuaCiuHEABLAfP4kQ,49396
|
|
@@ -171,17 +171,18 @@ deepeval/integrations/hugging_face/callback.py,sha256=15QQEzR34Cpdp5kUp5oVA6dEsS
|
|
|
171
171
|
deepeval/integrations/hugging_face/rich_manager.py,sha256=WvFtPGpPmGeg2Ftsnojga6yvbBLiZv_tvNbnFcGb6og,3630
|
|
172
172
|
deepeval/integrations/hugging_face/tests/test_callbacks.py,sha256=88Wyg-aDaXujj9jHeGdFF3ITSl2-y7eaJGWgSyvvDi8,4607
|
|
173
173
|
deepeval/integrations/hugging_face/utils.py,sha256=HUKdQcTIb76Ct69AS737oPxmlVxk5fw2UbT2pLn-o8k,1817
|
|
174
|
-
deepeval/integrations/langchain/__init__.py,sha256=
|
|
175
|
-
deepeval/integrations/langchain/callback.py,sha256=
|
|
176
|
-
deepeval/integrations/langchain/patch.py,sha256=
|
|
177
|
-
deepeval/integrations/langchain/utils.py,sha256=
|
|
174
|
+
deepeval/integrations/langchain/__init__.py,sha256=G1Qey5WkKou2-PA34KwWgmayQ_TbvXqPyotTbzmD8tw,84
|
|
175
|
+
deepeval/integrations/langchain/callback.py,sha256=CZuhUqxy5pZDDoW9VKge87HI6k7aA9sbdKOWT912sAk,11032
|
|
176
|
+
deepeval/integrations/langchain/patch.py,sha256=fCHfZXU9xX3IJ6SG8GEYzn3qrifyUkT0i_uUABTsmcs,1255
|
|
177
|
+
deepeval/integrations/langchain/utils.py,sha256=6kuVsuepjPxj1sdlq1QgBeGhMByyXuNmb_FFflLVMhc,10070
|
|
178
178
|
deepeval/integrations/llama_index/__init__.py,sha256=zBwUFQXDp6QFtp1cfANy8ucV08rjc93nyxM9o9hWjT0,216
|
|
179
179
|
deepeval/integrations/llama_index/agent/patched.py,sha256=4JbH0WQmt4lct7xxIH0phj8_Y-V35dgVv7DEDXK0jZI,2149
|
|
180
180
|
deepeval/integrations/llama_index/handler.py,sha256=eqI1n8E4MsvfKoFs5Zrm9IdCR7g9eBgNedISs7UkU_I,8947
|
|
181
181
|
deepeval/integrations/llama_index/utils.py,sha256=mxW71-3PjvBvJpLIU0kNWuTzCidy5l_-roLt8ZyWYA0,2599
|
|
182
182
|
deepeval/integrations/pydantic_ai/__init__.py,sha256=36fBKBLRo1y5jFlj0Y4xhDJsiq4ZnqtmFO32R90Azo4,96
|
|
183
183
|
deepeval/integrations/pydantic_ai/otel.py,sha256=2DpO3RapdztXPlT9BWhQfF4dJDMyp2X7YvuplJ0SwC8,1661
|
|
184
|
-
deepeval/integrations/pydantic_ai/patcher.py,sha256=
|
|
184
|
+
deepeval/integrations/pydantic_ai/patcher.py,sha256=C8CpY6UTO9oaai36l5C_GMT0Lqx9UVoJQYRPF0u0tMc,13127
|
|
185
|
+
deepeval/integrations/pydantic_ai/utils.py,sha256=0BT3v1heuAnfhd9_FSp4XL8818MGdaI6oY2sTQtotfs,3211
|
|
185
186
|
deepeval/key_handler.py,sha256=damdQEBLGy4IVk5DR5-E3blIZdLbcMtyeGAFn_4_SG4,6505
|
|
186
187
|
deepeval/metrics/__init__.py,sha256=nvO0Wv2JROjK1I9MDNIFUJlrRAZI2C0xbGYSBZK5q4g,4013
|
|
187
188
|
deepeval/metrics/answer_relevancy/__init__.py,sha256=WbZUpoSg2GQoqJ4VIRirVVQ1JDx5xwT-RskwqNKfWGM,46
|
|
@@ -223,7 +224,7 @@ deepeval/metrics/conversational_dag/conversational_dag.py,sha256=P1v8epAZled3G2O
|
|
|
223
224
|
deepeval/metrics/conversational_dag/nodes.py,sha256=P32yb5Is7DJavXigxhQp2rTYZmY43xNRvlQC-uVKdVQ,33691
|
|
224
225
|
deepeval/metrics/conversational_dag/templates.py,sha256=-WvTE8Q-Aw0f91kxdgaPZWAh2qv1-KF6v4PbGR718rk,3801
|
|
225
226
|
deepeval/metrics/conversational_g_eval/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
|
-
deepeval/metrics/conversational_g_eval/conversational_g_eval.py,sha256=
|
|
227
|
+
deepeval/metrics/conversational_g_eval/conversational_g_eval.py,sha256=dLVqae6_hyBDfQjqyIWgU488G-SOjg97EHlvrN79sqU,16828
|
|
227
228
|
deepeval/metrics/conversational_g_eval/schema.py,sha256=H_9-iA1BXJwbPKrGEZBqxDO_En4sjXI8_xKSNYc-hnk,167
|
|
228
229
|
deepeval/metrics/conversational_g_eval/template.py,sha256=buwPuHfqn-9FRrW-j1Pc4W0XCAVmdPPa0wM8pQ9Q0N0,2917
|
|
229
230
|
deepeval/metrics/dag/__init__.py,sha256=G5D9ngJ6nnbRBF2mfmNZymZId8gKD09QzTA1Y_bTrgM,157
|
|
@@ -321,7 +322,7 @@ deepeval/metrics/non_advice/non_advice.py,sha256=DebtVrzAdwvoJ1eWovC6ahjY1qdsxUC
|
|
|
321
322
|
deepeval/metrics/non_advice/schema.py,sha256=bODTV8jfjIYTwnYRHz32p47tqdXkTRqLXj_s5ZUxYAQ,299
|
|
322
323
|
deepeval/metrics/non_advice/template.py,sha256=KiRoU_Re3JFHylKZ1O8hztZ3yEQf3vW_HWwHxQjDb6o,2864
|
|
323
324
|
deepeval/metrics/pii_leakage/__init__.py,sha256=tBc9OGp4gmgoYz6FA3ipr48fpsCMvq6WtlwOjMqhCD0,42
|
|
324
|
-
deepeval/metrics/pii_leakage/pii_leakage.py,sha256=
|
|
325
|
+
deepeval/metrics/pii_leakage/pii_leakage.py,sha256=sZPCjlegbs_djexoOGg5WEiYUgEYZQFPPYlRDk_FRUc,10851
|
|
325
326
|
deepeval/metrics/pii_leakage/schema.py,sha256=Jk9jdf4HAa76J237mnosWOCV71pBBNdLfaVhf-4dKEg,313
|
|
326
327
|
deepeval/metrics/pii_leakage/template.py,sha256=DEW21CyR2lEI1y2C_fXgZnGJlYw0fvnB-LF-HEKZnqo,2418
|
|
327
328
|
deepeval/metrics/prompt_alignment/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -362,29 +363,29 @@ deepeval/models/answer_relevancy_model.py,sha256=SLOA6uUImNOuxpPGfTg2AH7MIkf9Qso
|
|
|
362
363
|
deepeval/models/base_model.py,sha256=P7L7RAix7lxpUhYLMPdnmnkMeWspMuaTeZy175ZtdSk,4033
|
|
363
364
|
deepeval/models/detoxify_model.py,sha256=UY67y-3aL_ojY06aZEhD_dW9TEaV5LJ_GVDyP0_2fyQ,991
|
|
364
365
|
deepeval/models/embedding_models/__init__.py,sha256=5nsvahw_sZj_8WTInPYyGJEQrxNYBhDf6lkYQMKlgRw,230
|
|
365
|
-
deepeval/models/embedding_models/azure_embedding_model.py,sha256=
|
|
366
|
-
deepeval/models/embedding_models/local_embedding_model.py,sha256
|
|
367
|
-
deepeval/models/embedding_models/ollama_embedding_model.py,sha256=
|
|
368
|
-
deepeval/models/embedding_models/openai_embedding_model.py,sha256=
|
|
366
|
+
deepeval/models/embedding_models/azure_embedding_model.py,sha256=6adG8dTohW4oNOSPnCecMRkkx0LWJXFuhzExesQpI90,3671
|
|
367
|
+
deepeval/models/embedding_models/local_embedding_model.py,sha256=Dm35cvn8hynP5IEXyZVDljIXngr9FAqxXN5TUqlBWl0,3371
|
|
368
|
+
deepeval/models/embedding_models/ollama_embedding_model.py,sha256=w3etdIdWvYfVIEjCZd_Q_VPsLLo64VEFbCtahWpbHAY,2582
|
|
369
|
+
deepeval/models/embedding_models/openai_embedding_model.py,sha256=Z1--e3CnNNmwryqmUMxBCaTURjtgKWHqADuUeCqFlSc,3545
|
|
369
370
|
deepeval/models/hallucination_model.py,sha256=ABi978VKLE_jNHbDzM96kJ08EsZ5ZlvOlJHA_ptSkfQ,1003
|
|
370
371
|
deepeval/models/llms/__init__.py,sha256=qmvv7wnmTDvys2uUTwQRo-_3DlFV3fGLiewPeQYRsAI,670
|
|
371
|
-
deepeval/models/llms/amazon_bedrock_model.py,sha256=
|
|
372
|
-
deepeval/models/llms/anthropic_model.py,sha256=
|
|
373
|
-
deepeval/models/llms/azure_model.py,sha256=
|
|
374
|
-
deepeval/models/llms/deepseek_model.py,sha256=
|
|
375
|
-
deepeval/models/llms/gemini_model.py,sha256=
|
|
376
|
-
deepeval/models/llms/grok_model.py,sha256=
|
|
377
|
-
deepeval/models/llms/kimi_model.py,sha256=
|
|
372
|
+
deepeval/models/llms/amazon_bedrock_model.py,sha256=xaNV7BnqcsH31ghIKBcacKzetORlFRGHtuBlfr8vbnQ,6183
|
|
373
|
+
deepeval/models/llms/anthropic_model.py,sha256=5gYRNkYUD7Zl3U0SibBG2YGCQsD6DdTsaBhqdaJlKIw,6072
|
|
374
|
+
deepeval/models/llms/azure_model.py,sha256=dqINcfoJNqdd9zh5iTPwQ_ToGMOF7iH6YUB-UWRSOlc,10730
|
|
375
|
+
deepeval/models/llms/deepseek_model.py,sha256=EqBJkKa7rXppCmlnIt_D-Z_r9fbsOUsOAVvN2jWA-Hk,6404
|
|
376
|
+
deepeval/models/llms/gemini_model.py,sha256=aGiD-hEgknctlqi7WdRwPNw9w76D6KMdNS-DIGpovLc,8409
|
|
377
|
+
deepeval/models/llms/grok_model.py,sha256=iZPFCmRbrK9yUdADn3oNeA-ysPMaJdnFDqorNP6wkAk,7492
|
|
378
|
+
deepeval/models/llms/kimi_model.py,sha256=ldTefdSVitZYJJQ-_ZsP87iiT5iZ4QCVdfi-YzdSMtU,7691
|
|
378
379
|
deepeval/models/llms/litellm_model.py,sha256=iu4-_JCpd9LdEa-eCWseD2iLTA-r7OSgYGWQ0IxB4eA,11527
|
|
379
|
-
deepeval/models/llms/local_model.py,sha256=
|
|
380
|
-
deepeval/models/llms/ollama_model.py,sha256=
|
|
381
|
-
deepeval/models/llms/openai_model.py,sha256=
|
|
380
|
+
deepeval/models/llms/local_model.py,sha256=hEyKVA6pkQm9dICUKsMNgjVI3w6gnyMdmBt_EylkWDk,4473
|
|
381
|
+
deepeval/models/llms/ollama_model.py,sha256=xPO4d4jMY-cQAyHAcMuFvWS8JMWwCUbKP9CMi838Nuc,3307
|
|
382
|
+
deepeval/models/llms/openai_model.py,sha256=F02N8BgbiEXH7F6y-a6DkjVcBXFEzr87SEB2gVn4xlU,17192
|
|
382
383
|
deepeval/models/llms/utils.py,sha256=ZMZ02kjXAAleq0bIEyjj-gZwe6Gp0b0mK8YMuid2-20,722
|
|
383
384
|
deepeval/models/mlllms/__init__.py,sha256=19nN6kUB5XI0nUWUQX0aD9GBUMM8WWGvsDgKjuT4EF4,144
|
|
384
|
-
deepeval/models/mlllms/gemini_model.py,sha256=
|
|
385
|
-
deepeval/models/mlllms/ollama_model.py,sha256=
|
|
386
|
-
deepeval/models/mlllms/openai_model.py,sha256=
|
|
387
|
-
deepeval/models/retry_policy.py,sha256=
|
|
385
|
+
deepeval/models/mlllms/gemini_model.py,sha256=7tHIWD4w_fBz3L7jkKWygn1QpBPk9nl2Kw-yb0Jc3PI,10167
|
|
386
|
+
deepeval/models/mlllms/ollama_model.py,sha256=_YtYtw8oIMVVI-CFsDicsdeEJUPhw_9ArPxB_1olsJA,4798
|
|
387
|
+
deepeval/models/mlllms/openai_model.py,sha256=KgvYgQwWZ1A_Gcl6-4-W7IMqbUF9K8sNY37j5Ag7kQQ,9014
|
|
388
|
+
deepeval/models/retry_policy.py,sha256=U7DjJJcCPei14Ws_7U6-JK8ZZYCGVx9YgMPySYr0HtM,24545
|
|
388
389
|
deepeval/models/summac_model.py,sha256=wKeH7pWQRXrTlzlIw_r1YCb8b7jUhWq6jUz9FiNUCSg,1992
|
|
389
390
|
deepeval/models/unbias_model.py,sha256=umOMhQLTmnD7uOuhiQufEl4Wlti4q2s3EtKOpds7zhs,597
|
|
390
391
|
deepeval/models/utils.py,sha256=-3XDgg1U7PZ0jpLFiYXxqdBhp7idvlo7RPZv5SoD8lc,1130
|
|
@@ -402,8 +403,8 @@ deepeval/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
|
|
|
402
403
|
deepeval/plugins/plugin.py,sha256=_dwsdx4Dg9DbXxK3f7zJY4QWTJQWc7QE1HmIg2Zjjag,1515
|
|
403
404
|
deepeval/progress_context.py,sha256=ZSKpxrE9sdgt9G3REKnVeXAv7GJXHHVGgLynpG1Pudw,3557
|
|
404
405
|
deepeval/prompt/__init__.py,sha256=M99QTWdxOfiNeySGCSqN873Q80PPxqRvjLq4_Mw-X1w,49
|
|
405
|
-
deepeval/prompt/api.py,sha256=
|
|
406
|
-
deepeval/prompt/prompt.py,sha256=
|
|
406
|
+
deepeval/prompt/api.py,sha256=ccrMT6_Otuef9zrRm9iQsmZ-Apkjj3nypvw3wc8-eW0,1708
|
|
407
|
+
deepeval/prompt/prompt.py,sha256=DlUPib0EAVC2T54SQB1xxEQBNSpEirL5x-CtrKE1rek,15463
|
|
407
408
|
deepeval/prompt/utils.py,sha256=Gk0zj_9BK8MQccs8GmiC8o-YVtkou6ZJEz8kWgW5Mog,1678
|
|
408
409
|
deepeval/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
409
410
|
deepeval/red_teaming/README.md,sha256=BY5rAdpp3-sMMToEKwq0Nsd9ivkGDzPE16DeDb8GY7U,154
|
|
@@ -455,12 +456,12 @@ deepeval/tracing/otel/exporter.py,sha256=dXQd834zm5rm1ss9pWkBBlk-JSdtiw7aFLso2hM
|
|
|
455
456
|
deepeval/tracing/otel/utils.py,sha256=g8yAzhqbPh1fOKCWkfNekC6AVotLfu1SUcfNMo6zii8,9786
|
|
456
457
|
deepeval/tracing/patchers.py,sha256=DAPNkhrDtoeyJIVeQDUMhTz-xGcXu00eqjQZmov8FiU,3096
|
|
457
458
|
deepeval/tracing/perf_epoch_bridge.py,sha256=iyAPddB6Op7NpMtPHJ29lDm53Btz9yLaN6xSCfTRQm4,1825
|
|
458
|
-
deepeval/tracing/tracing.py,sha256=
|
|
459
|
+
deepeval/tracing/tracing.py,sha256=vOVFdN6fVMW53XhyqTZSfp4vI7DCqRez4TKNhdhr-sg,42277
|
|
459
460
|
deepeval/tracing/types.py,sha256=l_utWKerNlE5H3mOKpeUJLsvpP3cMyjH7HRANNgTmSQ,5306
|
|
460
461
|
deepeval/tracing/utils.py,sha256=w_kdhuyBCygllnbqLpDdKJqpJo42t3ZMlGhNicV2A8c,6467
|
|
461
|
-
deepeval/utils.py,sha256=
|
|
462
|
-
deepeval-3.5.
|
|
463
|
-
deepeval-3.5.
|
|
464
|
-
deepeval-3.5.
|
|
465
|
-
deepeval-3.5.
|
|
466
|
-
deepeval-3.5.
|
|
462
|
+
deepeval/utils.py,sha256=r8tV_NYJSi6ib-oQw6cLw3L7ZSe4KIJVJc1ng6-kDX4,17179
|
|
463
|
+
deepeval-3.5.3.dist-info/LICENSE.md,sha256=0ATkuLv6QgsJTBODUHC5Rak_PArA6gv2t7inJzNTP38,11352
|
|
464
|
+
deepeval-3.5.3.dist-info/METADATA,sha256=WDYyYAc2YdYGWufFtlvsEFsV___80J_xPPCMkvlwau8,18682
|
|
465
|
+
deepeval-3.5.3.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
|
|
466
|
+
deepeval-3.5.3.dist-info/entry_points.txt,sha256=fVr8UphXTfJe9I2rObmUtfU3gkSrYeM0pLy-NbJYg10,94
|
|
467
|
+
deepeval-3.5.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|